diff options
author | leonid lokhmatov, Luxoft <zaqqqqqqqq@gmail.com> | 2021-02-10 21:05:49 +0200 |
---|---|---|
committer | leonid lokhmatov, Luxoft <zaqqqqqqqq@gmail.com> | 2021-02-10 22:21:53 +0200 |
commit | 39ff5b40a88941db4b90e8a3e87886f4cd918c40 (patch) | |
tree | 37a7c51f5e4f0be77a68a6d0280cd2fa2328921b | |
parent | e7ab19cf8344bc9a3f31f261d7e2b41dc3c8ceeb (diff) | |
download | sdl_ios-39ff5b40a88941db4b90e8a3e87886f4cd918c40.tar.gz |
SDL0238 'Keyboard Enhancements r2': apply code review suggestions
10 files changed, 109 insertions, 79 deletions
diff --git a/SmartDeviceLink/private/SDLPresentKeyboardOperation.m b/SmartDeviceLink/private/SDLPresentKeyboardOperation.m index 0ce663637..039cdb252 100644 --- a/SmartDeviceLink/private/SDLPresentKeyboardOperation.m +++ b/SmartDeviceLink/private/SDLPresentKeyboardOperation.m @@ -212,7 +212,7 @@ NS_ASSUME_NONNULL_BEGIN } else if ([onKeyboard.event isEqualToEnum:SDLKeyboardEventInputKeyMaskEnabled] || [onKeyboard.event isEqualToEnum:SDLKeyboardEventInputKeyMaskDisabled]) { // Notify of key mask change if ([self.keyboardDelegate respondsToSelector:@selector(keyboardDidEnableInputKeyMask:)]) { - const BOOL isEnabled = [onKeyboard.event isEqualToEnum:SDLKeyboardEventInputKeyMaskEnabled]; + BOOL isEnabled = [onKeyboard.event isEqualToEnum:SDLKeyboardEventInputKeyMaskEnabled]; [self.keyboardDelegate keyboardDidEnableInputKeyMask:isEnabled]; } } diff --git a/SmartDeviceLink/private/SDLRPCParameterNames.h b/SmartDeviceLink/private/SDLRPCParameterNames.h index a838076a3..d792b9b1a 100644 --- a/SmartDeviceLink/private/SDLRPCParameterNames.h +++ b/SmartDeviceLink/private/SDLRPCParameterNames.h @@ -152,8 +152,6 @@ extern SDLRPCParameterName const SDLRPCParameterNameClusterModeStatus; extern SDLRPCParameterName const SDLRPCParameterNameCommandIcon; extern SDLRPCParameterName const SDLRPCParameterNameCommandId; extern SDLRPCParameterName const SDLRPCParameterNameCompassDirection; -extern SDLRPCParameterName const SDLRPCParameterNameConfigurableKeyboards; -extern SDLRPCParameterName const SDLRPCParameterNameConfigurableKeys; extern SDLRPCParameterName const SDLRPCParameterNameConditionActive; extern SDLRPCParameterName const SDLRPCParameterNameCorrelationId; extern SDLRPCParameterName const SDLRPCParameterNameCountRate; @@ -170,7 +168,6 @@ extern SDLRPCParameterName const SDLRPCParameterNameCushion; extern SDLRPCParameterName const SDLRPCParameterNameCustomButtonId; extern SDLRPCParameterName const SDLRPCParameterNameCustomKeys; extern SDLRPCParameterName const SDLRPCParameterNameCustomPresets; -extern SDLRPCParameterName const SDLRPCParameterNameCustomizeKeys; extern SDLRPCParameterName const SDLRPCParameterNameOEMCustomDataType; extern SDLRPCParameterName const SDLRPCParameterNameData; extern SDLRPCParameterName const SDLRPCParameterNameDataResult; @@ -488,7 +485,6 @@ extern SDLRPCParameterName const SDLRPCParameterNameNextTurnIcon; extern SDLRPCParameterName const SDLRPCParameterNameNGNMediaScreenAppName; extern SDLRPCParameterName const SDLRPCParameterNameNicknames; extern SDLRPCParameterName const SDLRPCParameterNameNightColorScheme; -extern SDLRPCParameterName const SDLRPCParameterNameNumConfigurableKeys; extern SDLRPCParameterName const SDLRPCParameterNameNotification; extern SDLRPCParameterName const SDLRPCParameterNameNumber; extern SDLRPCParameterName const SDLRPCParameterNameNumberCustomPresetsAvailable; diff --git a/SmartDeviceLink/private/SDLRPCParameterNames.m b/SmartDeviceLink/private/SDLRPCParameterNames.m index 3131a96d9..04c9e66b8 100644 --- a/SmartDeviceLink/private/SDLRPCParameterNames.m +++ b/SmartDeviceLink/private/SDLRPCParameterNames.m @@ -151,8 +151,6 @@ SDLRPCParameterName const SDLRPCParameterNameColumns = @"columns"; SDLRPCParameterName const SDLRPCParameterNameCommandIcon = @"cmdIcon"; SDLRPCParameterName const SDLRPCParameterNameCommandId = @"cmdID"; SDLRPCParameterName const SDLRPCParameterNameCompassDirection = @"compassDirection"; -SDLRPCParameterName const SDLRPCParameterNameConfigurableKeyboards = @"configurableKeyboards"; -SDLRPCParameterName const SDLRPCParameterNameConfigurableKeys = @"configurableKeys"; SDLRPCParameterName const SDLRPCParameterNameConditionActive = @"conditionActive"; SDLRPCParameterName const SDLRPCParameterNameCorrelationId = @"correlationID"; SDLRPCParameterName const SDLRPCParameterNameCountRate = @"countRate"; @@ -169,7 +167,6 @@ SDLRPCParameterName const SDLRPCParameterNameCushion = @"cushion"; SDLRPCParameterName const SDLRPCParameterNameCustomButtonId = @"customButtonID"; SDLRPCParameterName const SDLRPCParameterNameCustomKeys = @"customKeys"; SDLRPCParameterName const SDLRPCParameterNameCustomPresets = @"customPresets"; -SDLRPCParameterName const SDLRPCParameterNameCustomizeKeys = @"customizeKeys"; SDLRPCParameterName const SDLRPCParameterNameData = @"data"; SDLRPCParameterName const SDLRPCParameterNameDataResult = @"dataResult"; SDLRPCParameterName const SDLRPCParameterNameDataType = @"dataType"; diff --git a/SmartDeviceLink/public/SDLKeyboardDelegate.h b/SmartDeviceLink/public/SDLKeyboardDelegate.h index ef224c53a..b2cf8edb2 100644 --- a/SmartDeviceLink/public/SDLKeyboardDelegate.h +++ b/SmartDeviceLink/public/SDLKeyboardDelegate.h @@ -93,7 +93,6 @@ typedef void(^SDLKeyboardCharacterSetCompletionHandler)(NSArray<NSString *> *_Nu */ - (void)keyboardDidSendEvent:(SDLKeyboardEvent)event text:(NSString *)currentInputText; -@optional /** Implement this to be notified of input key mask update diff --git a/SmartDeviceLink/public/SDLWindowCapability.h b/SmartDeviceLink/public/SDLWindowCapability.h index 3f37d2e50..afb7a905e 100644 --- a/SmartDeviceLink/public/SDLWindowCapability.h +++ b/SmartDeviceLink/public/SDLWindowCapability.h @@ -62,10 +62,9 @@ NS_ASSUME_NONNULL_BEGIN * @param softButtonCapabilities - softButtonCapabilities * @param menuLayoutsAvailable - menuLayoutsAvailable * @param dynamicUpdateCapabilities - dynamicUpdateCapabilities - * @param keyboardCapabilities - keyboardCapabilities * @return A SDLWindowCapability object */ -- (instancetype)initWithWindowID:(nullable NSNumber<SDLInt> *)windowID textFields:(nullable NSArray<SDLTextField *> *)textFields imageFields:(nullable NSArray<SDLImageField *> *)imageFields imageTypeSupported:(nullable NSArray<SDLImageType> *)imageTypeSupported templatesAvailable:(nullable NSArray<NSString *> *)templatesAvailable numCustomPresetsAvailable:(nullable NSNumber<SDLUInt> *)numCustomPresetsAvailable buttonCapabilities:(nullable NSArray<SDLButtonCapabilities *> *)buttonCapabilities softButtonCapabilities:(nullable NSArray<SDLSoftButtonCapabilities *> *)softButtonCapabilities menuLayoutsAvailable:(nullable NSArray<SDLMenuLayout> *)menuLayoutsAvailable dynamicUpdateCapabilities:(nullable SDLDynamicUpdateCapabilities *)dynamicUpdateCapabilities keyboardCapabilities:(nullable SDLKeyboardCapabilities *)keyboardCapabilities; +- (instancetype)initWithWindowID:(nullable NSNumber<SDLInt> *)windowID textFields:(nullable NSArray<SDLTextField *> *)textFields imageFields:(nullable NSArray<SDLImageField *> *)imageFields imageTypeSupported:(nullable NSArray<SDLImageType> *)imageTypeSupported templatesAvailable:(nullable NSArray<NSString *> *)templatesAvailable numCustomPresetsAvailable:(nullable NSNumber<SDLUInt> *)numCustomPresetsAvailable buttonCapabilities:(nullable NSArray<SDLButtonCapabilities *> *)buttonCapabilities softButtonCapabilities:(nullable NSArray<SDLSoftButtonCapabilities *> *)softButtonCapabilities menuLayoutsAvailable:(nullable NSArray<SDLMenuLayout> *)menuLayoutsAvailable dynamicUpdateCapabilities:(nullable SDLDynamicUpdateCapabilities *)dynamicUpdateCapabilities __deprecated_msg("please use initWithWindowID:textFields:imageFields:imageTypeSupported:templatesAvailable:numCustomPresetsAvailable:buttonCapabilities:softButtonCapabilities:menuLayoutsAvailable:dynamicUpdateCapabilities:keyboardCapabilities: instead"); /** * @param windowID - windowID @@ -78,9 +77,10 @@ NS_ASSUME_NONNULL_BEGIN * @param softButtonCapabilities - softButtonCapabilities * @param menuLayoutsAvailable - menuLayoutsAvailable * @param dynamicUpdateCapabilities - dynamicUpdateCapabilities + * @param keyboardCapabilities - keyboardCapabilities * @return A SDLWindowCapability object */ -- (instancetype)initWithWindowID:(nullable NSNumber<SDLInt> *)windowID textFields:(nullable NSArray<SDLTextField *> *)textFields imageFields:(nullable NSArray<SDLImageField *> *)imageFields imageTypeSupported:(nullable NSArray<SDLImageType> *)imageTypeSupported templatesAvailable:(nullable NSArray<NSString *> *)templatesAvailable numCustomPresetsAvailable:(nullable NSNumber<SDLUInt> *)numCustomPresetsAvailable buttonCapabilities:(nullable NSArray<SDLButtonCapabilities *> *)buttonCapabilities softButtonCapabilities:(nullable NSArray<SDLSoftButtonCapabilities *> *)softButtonCapabilities menuLayoutsAvailable:(nullable NSArray<SDLMenuLayout> *)menuLayoutsAvailable dynamicUpdateCapabilities:(nullable SDLDynamicUpdateCapabilities *)dynamicUpdateCapabilities; +- (instancetype)initWithWindowID:(nullable NSNumber<SDLInt> *)windowID textFields:(nullable NSArray<SDLTextField *> *)textFields imageFields:(nullable NSArray<SDLImageField *> *)imageFields imageTypeSupported:(nullable NSArray<SDLImageType> *)imageTypeSupported templatesAvailable:(nullable NSArray<NSString *> *)templatesAvailable numCustomPresetsAvailable:(nullable NSNumber<SDLUInt> *)numCustomPresetsAvailable buttonCapabilities:(nullable NSArray<SDLButtonCapabilities *> *)buttonCapabilities softButtonCapabilities:(nullable NSArray<SDLSoftButtonCapabilities *> *)softButtonCapabilities menuLayoutsAvailable:(nullable NSArray<SDLMenuLayout> *)menuLayoutsAvailable dynamicUpdateCapabilities:(nullable SDLDynamicUpdateCapabilities *)dynamicUpdateCapabilities keyboardCapabilities:(nullable SDLKeyboardCapabilities *)keyboardCapabilities; /** The specified ID of the window. Can be set to a predefined window, or omitted for the main window on the main display. diff --git a/SmartDeviceLinkTests/DevAPISpecs/SDLTextAndGraphicManagerSpec.m b/SmartDeviceLinkTests/DevAPISpecs/SDLTextAndGraphicManagerSpec.m index 41ff4ba56..c3e95144a 100644 --- a/SmartDeviceLinkTests/DevAPISpecs/SDLTextAndGraphicManagerSpec.m +++ b/SmartDeviceLinkTests/DevAPISpecs/SDLTextAndGraphicManagerSpec.m @@ -489,7 +489,7 @@ describe(@"text and graphic manager", ^{ beforeEach(^{ testHMIStatus = [[SDLOnHMIStatus alloc] init]; - testWindowCapability = [[SDLWindowCapability alloc] initWithWindowID:@(SDLPredefinedWindowsDefaultWindow) textFields:nil imageFields:nil imageTypeSupported:nil templatesAvailable:nil numCustomPresetsAvailable:nil buttonCapabilities:nil softButtonCapabilities:nil menuLayoutsAvailable:nil dynamicUpdateCapabilities:nil]; + testWindowCapability = [[SDLWindowCapability alloc] initWithWindowID:@(SDLPredefinedWindowsDefaultWindow) textFields:nil imageFields:nil imageTypeSupported:nil templatesAvailable:nil numCustomPresetsAvailable:nil buttonCapabilities:nil softButtonCapabilities:nil menuLayoutsAvailable:nil dynamicUpdateCapabilities:nil keyboardCapabilities:nil]; testDisplayCapability = [[SDLDisplayCapability alloc] initWithDisplayName:@"Test display" windowCapabilities:@[testWindowCapability] windowTypeSupported:nil]; testSystemCapability = [[SDLSystemCapability alloc] initWithDisplayCapabilities:@[testDisplayCapability]]; @@ -554,7 +554,7 @@ describe(@"text and graphic manager", ^{ SDLRPCNotificationNotification *notification = [[SDLRPCNotificationNotification alloc] initWithName:SDLDidChangeHMIStatusNotification object:nil rpcNotification:testHMIStatus]; [[NSNotificationCenter defaultCenter] postNotification:notification]; - testWindowCapability = [[SDLWindowCapability alloc] initWithWindowID:@(SDLPredefinedWindowsDefaultWindow) textFields:nil imageFields:nil imageTypeSupported:nil templatesAvailable:nil numCustomPresetsAvailable:nil buttonCapabilities:nil softButtonCapabilities:nil menuLayoutsAvailable:nil dynamicUpdateCapabilities:nil]; + testWindowCapability = [[SDLWindowCapability alloc] initWithWindowID:@(SDLPredefinedWindowsDefaultWindow) textFields:nil imageFields:nil imageTypeSupported:nil templatesAvailable:nil numCustomPresetsAvailable:nil buttonCapabilities:nil softButtonCapabilities:nil menuLayoutsAvailable:nil dynamicUpdateCapabilities:nil keyboardCapabilities:nil]; testDisplayCapability = [[SDLDisplayCapability alloc] initWithDisplayName:@"Test display" windowCapabilities:@[testWindowCapability] windowTypeSupported:nil]; testSystemCapability = [[SDLSystemCapability alloc] initWithDisplayCapabilities:@[testDisplayCapability]]; }); diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardCapabilitiesSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardCapabilitiesSpec.m index dc25aa921..3a30834ad 100644 --- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardCapabilitiesSpec.m +++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardCapabilitiesSpec.m @@ -20,10 +20,6 @@ NSArray<SDLKeyboardLayoutCapability *> *supportedKeyboards = @[keyboardLayoutCap __block SDLKeyboardCapabilities* testStruct = nil; describe(@"getter/setter tests", ^{ - afterEach(^{ - testStruct = nil; - }); - context(@"init", ^{ beforeEach(^{ testStruct = [[SDLKeyboardCapabilities alloc] init]; diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardLayoutCapabilitySpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardLayoutCapabilitySpec.m index 6457c6e97..742ce90a8 100644 --- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardLayoutCapabilitySpec.m +++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardLayoutCapabilitySpec.m @@ -20,10 +20,6 @@ UInt8 numConfigurableKeys = 9; __block SDLKeyboardLayoutCapability* testStruct = nil; describe(@"getter/setter tests", ^{ - afterEach(^{ - testStruct = nil; - }); - context(@"init", ^{ beforeEach(^{ testStruct = [[SDLKeyboardLayoutCapability alloc] init]; diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardPropertiesSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardPropertiesSpec.m index f76147f31..23fbdfa14 100644 --- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardPropertiesSpec.m +++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardPropertiesSpec.m @@ -28,8 +28,24 @@ NSArray<NSString *> *customKeys = @[@"abc", @"DEF"]; __block SDLKeyboardProperties* testStruct = nil; describe(@"getter/setter tests", ^{ - afterEach(^{ - testStruct = nil; + context(@"init", ^{ + beforeEach(^{ + testStruct = [[SDLKeyboardProperties alloc] init]; + }); + + it(@"expect all properties to be nil", ^{ + expect(testStruct.language).to(beNil()); + expect(testStruct.keyboardLayout).to(beNil()); + expect(testStruct.keypressMode).to(beNil()); + expect(testStruct.limitedCharacterList).to(beNil()); + expect(testStruct.autoCompleteList).to(beNil()); + expect(testStruct.maskInputCharacters).to(beNil()); + expect(testStruct.customKeys).to(beNil()); +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + expect(testStruct.autoCompleteText).to(beNil()); +#pragma clang diagnostic pop + }); }); context(@"init and assign", ^{ @@ -139,26 +155,6 @@ describe(@"getter/setter tests", ^{ }); }); - context(@"init", ^{ - beforeEach(^{ - testStruct = [[SDLKeyboardProperties alloc] init]; - }); - - it(@"expect all properties to be nil", ^{ - expect(testStruct.language).to(beNil()); - expect(testStruct.keyboardLayout).to(beNil()); - expect(testStruct.keypressMode).to(beNil()); - expect(testStruct.limitedCharacterList).to(beNil()); - expect(testStruct.autoCompleteList).to(beNil()); - expect(testStruct.maskInputCharacters).to(beNil()); - expect(testStruct.customKeys).to(beNil()); -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - expect(testStruct.autoCompleteText).to(beNil()); -#pragma clang diagnostic pop - }); - }); - context(@"initWithLanguage:keyboardLayout:keypressMode:limitedCharacterList:autoCompleteList:maskInputCharacters:customKeys:", ^{ beforeEach(^{ testStruct = [[SDLKeyboardProperties alloc] initWithLanguage:testLanguage keyboardLayout:testLayout keypressMode:testMode limitedCharacterList:testLimitedCharacterList autoCompleteList:testAutoCompleteList maskInputCharacters:maskInputCharacters customKeys:customKeys]; diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWindowCapabilitySpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWindowCapabilitySpec.m index ef4a193ad..e5178893c 100644 --- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWindowCapabilitySpec.m +++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWindowCapabilitySpec.m @@ -18,38 +18,85 @@ QuickSpecBegin(SDLWindowCapabilitySpec) -NSString *testTemplateAvailable = @"myTemplate"; -SDLTextField *testTextField = [[SDLTextField alloc] init]; -NSArray<SDLTextField *> *textFields = @[testTextField]; -NSString *textFieldName = @"t.f.name"; -testTextField.name = textFieldName; -SDLImageField *testImageField = [[SDLImageField alloc] init]; -NSArray<SDLImageField *> *imageFields = @[testImageField]; -NSString *testImageName = @"test Image field"; -testImageField.name = testImageName; -SDLButtonCapabilities *testButtonCapabilities = [[SDLButtonCapabilities alloc] init]; -NSArray<SDLButtonCapabilities *> *buttonCapabilities = @[testButtonCapabilities]; -testButtonCapabilities.name = SDLButtonNameOk; -testButtonCapabilities.shortPressAvailable = @YES; -testButtonCapabilities.longPressAvailable = @YES; -testButtonCapabilities.upDownAvailable = @YES; -SDLSoftButtonCapabilities *testSoftButtonsCapabilities = [[SDLSoftButtonCapabilities alloc] init]; -testSoftButtonsCapabilities.imageSupported = @YES; -SDLImageType testImageType = SDLImageTypeDynamic; -SDLMenuLayout testMenuLayout = SDLMenuLayoutTiles; -SDLDynamicUpdateCapabilities *testDynamicUpdates = [[SDLDynamicUpdateCapabilities alloc] initWithSupportedDynamicImageFieldNames:@[SDLImageFieldNameSubMenuIcon] supportsDynamicSubMenus:@YES]; -SDLKeyboardCapabilities *keyboardCapabilities = [[SDLKeyboardCapabilities alloc] init]; -id windowID = @444; -id numCustomPresetsAvailable = @10; -NSArray<SDLImageType> *imageTypeSupported = @[testImageType]; -NSArray<NSString *> *templatesAvailable = @[testTemplateAvailable]; -NSArray<SDLSoftButtonCapabilities *> *softButtonCapabilities = @[testSoftButtonsCapabilities]; -NSArray<SDLMenuLayout> *menuLayoutsAvailable = @[testMenuLayout]; __block SDLWindowCapability *testStruct = nil; +__block SDLTextField* testTextField = nil; +__block SDLImageField *testImageField = nil; +__block SDLButtonCapabilities *testButtonCapabilities = nil; +__block SDLSoftButtonCapabilities *testSoftButtonsCapabilities = nil; +__block SDLImageType testImageType = nil; +__block NSString *testTextName = nil; +__block NSString *testImageName = nil; +__block NSString *testTemplateAvailable = nil; +__block SDLMenuLayout testMenuLayout = SDLMenuLayoutTiles; +__block SDLDynamicUpdateCapabilities *testDynamicUpdates = nil; +__block NSArray<SDLTextField *> *textFields = nil; +__block NSArray<SDLImageField *> *imageFields = nil; +__block NSArray<SDLButtonCapabilities *> *buttonCapabilities = nil; +__block SDLKeyboardCapabilities *keyboardCapabilities = nil; +__block id windowID = nil; +__block id numCustomPresetsAvailable = nil; +__block NSArray<SDLImageType> *imageTypeSupported = nil; +__block NSArray<NSString *> *templatesAvailable = nil; +__block NSArray<SDLSoftButtonCapabilities *> *softButtonCapabilities = nil; +__block NSArray<SDLMenuLayout> *menuLayoutsAvailable = nil; + describe(@"getter/setter tests", ^{ - afterEach(^{ - testStruct = nil; + beforeEach(^{ + testImageType = SDLImageTypeDynamic; + testTextName = @"test Text field"; + testImageName = @"test Image field"; + + testTextField = [[SDLTextField alloc] init]; + testTextField.name = SDLTextFieldNameTertiaryText; + testImageField = [[SDLImageField alloc] init]; + testImageField.name = testImageName; + + testButtonCapabilities = [[SDLButtonCapabilities alloc] init]; + testButtonCapabilities.name = SDLButtonNameOk; + testButtonCapabilities.shortPressAvailable = @YES; + testButtonCapabilities.longPressAvailable = @YES; + testButtonCapabilities.upDownAvailable = @YES; + + testSoftButtonsCapabilities = [[SDLSoftButtonCapabilities alloc] init]; + testSoftButtonsCapabilities.imageSupported = @YES; + + testTemplateAvailable = @"myTemplate"; + testDynamicUpdates = [[SDLDynamicUpdateCapabilities alloc] initWithSupportedDynamicImageFieldNames:@[SDLImageFieldNameSubMenuIcon] supportsDynamicSubMenus:@YES]; + + textFields = @[testTextField]; + imageFields = @[testImageField]; + buttonCapabilities = @[testButtonCapabilities]; + keyboardCapabilities = [[SDLKeyboardCapabilities alloc] init]; + windowID = @444; + numCustomPresetsAvailable = @10; + imageTypeSupported = @[testImageType]; + templatesAvailable = @[testTemplateAvailable]; + softButtonCapabilities = @[testSoftButtonsCapabilities]; + menuLayoutsAvailable = @[testMenuLayout]; + }); + + context(@"init", ^{ + beforeEach(^{ + testStruct = [[SDLWindowCapability alloc] init]; + }); + + it(@"expect all properties to be nil", ^{ + expect(testStruct.windowID).to(beNil()); + expect(testStruct.textFields.firstObject.name).to(beNil()); + expect(testStruct.imageFields.firstObject.name).to(beNil()); + expect(testStruct.numCustomPresetsAvailable).to(beNil()); + expect(testStruct.buttonCapabilities.firstObject.name).to(beNil()); + expect(testStruct.buttonCapabilities.firstObject.shortPressAvailable).to(beNil()); + expect(testStruct.buttonCapabilities.firstObject.longPressAvailable).to(beNil()); + expect(testStruct.buttonCapabilities.firstObject.name).to(beNil()); + expect(testStruct.softButtonCapabilities.firstObject.imageSupported).to(beNil()); + expect(testStruct.menuLayoutsAvailable).to(beNil()); + expect(testStruct.templatesAvailable).to(beNil()); + expect(testStruct.dynamicUpdateCapabilities).to(beNil()); + expect(testStruct.imageTypeSupported).to(beNil()); + expect(testStruct.keyboardCapabilities).to(beNil()); + }); }); context(@"init and assign", ^{ @@ -68,9 +115,9 @@ describe(@"getter/setter tests", ^{ testStruct.keyboardCapabilities = keyboardCapabilities; }); - it(@"expect to be set properly", ^{ + it(@"expect all properties to be set properly", ^{ expect(testStruct.windowID).to(equal(windowID)); - expect(testStruct.textFields.firstObject.name).to(equal(textFieldName)); + expect(testStruct.textFields.firstObject.name).to(equal(SDLTextFieldNameTertiaryText)); expect(testStruct.imageFields.firstObject.name).to(equal(testImageName)); expect(testStruct.numCustomPresetsAvailable).to(equal(numCustomPresetsAvailable)); expect(testStruct.buttonCapabilities.firstObject.name).to(equal(SDLButtonNameOk)); @@ -88,12 +135,15 @@ describe(@"getter/setter tests", ^{ context(@"initWithWindowID:textFields:imageFields:imageTypeSupported:templatesAvailable:numCustomPresetsAvailable:buttonCapabilities:softButtonCapabilities:menuLayoutsAvailable:dynamicUpdateCapabilities:", ^{ beforeEach(^{ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" testStruct = [[SDLWindowCapability alloc] initWithWindowID:windowID textFields:textFields imageFields:imageFields imageTypeSupported:imageTypeSupported templatesAvailable:templatesAvailable numCustomPresetsAvailable:numCustomPresetsAvailable buttonCapabilities:buttonCapabilities softButtonCapabilities:softButtonCapabilities menuLayoutsAvailable:menuLayoutsAvailable dynamicUpdateCapabilities:testDynamicUpdates]; +#pragma clang diagnostic pop }); - it(@"expect to be set properly", ^{ + it(@"expect all properties to be set properly", ^{ expect(testStruct.windowID).to(equal(windowID)); - expect(testStruct.textFields.firstObject.name).to(equal(textFieldName)); + expect(testStruct.textFields.firstObject.name).to(equal(SDLTextFieldNameTertiaryText)); expect(testStruct.imageFields.firstObject.name).to(equal(testImageName)); expect(testStruct.numCustomPresetsAvailable).to(equal(numCustomPresetsAvailable)); expect(testStruct.buttonCapabilities.firstObject.name).to(equal(SDLButtonNameOk)); @@ -114,9 +164,9 @@ describe(@"getter/setter tests", ^{ testStruct = [[SDLWindowCapability alloc] initWithWindowID:windowID textFields:textFields imageFields:imageFields imageTypeSupported:imageTypeSupported templatesAvailable:templatesAvailable numCustomPresetsAvailable:numCustomPresetsAvailable buttonCapabilities:buttonCapabilities softButtonCapabilities:softButtonCapabilities menuLayoutsAvailable:menuLayoutsAvailable dynamicUpdateCapabilities:testDynamicUpdates keyboardCapabilities:keyboardCapabilities]; }); - it(@"expect to be set properly", ^{ + it(@"expect all properties to be set properly", ^{ expect(testStruct.windowID).to(equal(windowID)); - expect(testStruct.textFields.firstObject.name).to(equal(textFieldName)); + expect(testStruct.textFields.firstObject.name).to(equal(SDLTextFieldNameTertiaryText)); expect(testStruct.imageFields.firstObject.name).to(equal(testImageName)); expect(testStruct.numCustomPresetsAvailable).to(equal(numCustomPresetsAvailable)); expect(testStruct.buttonCapabilities.firstObject.name).to(equal(SDLButtonNameOk)); |