summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorleonid lokhmatov, Luxoft <zaqqqqqqqq@gmail.com>2021-02-10 21:05:49 +0200
committerleonid lokhmatov, Luxoft <zaqqqqqqqq@gmail.com>2021-02-10 22:21:53 +0200
commit39ff5b40a88941db4b90e8a3e87886f4cd918c40 (patch)
tree37a7c51f5e4f0be77a68a6d0280cd2fa2328921b
parente7ab19cf8344bc9a3f31f261d7e2b41dc3c8ceeb (diff)
downloadsdl_ios-39ff5b40a88941db4b90e8a3e87886f4cd918c40.tar.gz
SDL0238 'Keyboard Enhancements r2': apply code review suggestions
-rw-r--r--SmartDeviceLink/private/SDLPresentKeyboardOperation.m2
-rw-r--r--SmartDeviceLink/private/SDLRPCParameterNames.h4
-rw-r--r--SmartDeviceLink/private/SDLRPCParameterNames.m3
-rw-r--r--SmartDeviceLink/public/SDLKeyboardDelegate.h1
-rw-r--r--SmartDeviceLink/public/SDLWindowCapability.h6
-rw-r--r--SmartDeviceLinkTests/DevAPISpecs/SDLTextAndGraphicManagerSpec.m4
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardCapabilitiesSpec.m4
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardLayoutCapabilitySpec.m4
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardPropertiesSpec.m40
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWindowCapabilitySpec.m120
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));