summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Beharry <justin.beharry@livio.io>2022-08-18 11:52:36 -0400
committerJustin Beharry <justin.beharry@livio.io>2022-08-18 11:52:36 -0400
commitbf9ef2c11aa1d2239a1c41b4d82855bf38c9e962 (patch)
treebcbce165e9aa7d0b3c45f2f51a44dcf637a3d2a3
parent9d43884d816ba21f37e7cccb52a9348945669d9e (diff)
downloadsdl_ios-bf9ef2c11aa1d2239a1c41b4d82855bf38c9e962.tar.gz
Fix nil windowID and add unit test
-rw-r--r--SmartDeviceLink/public/SDLSystemCapabilityManager.m1
-rw-r--r--SmartDeviceLinkTests/SDLSystemCapabilityManagerSpec.m8
2 files changed, 9 insertions, 0 deletions
diff --git a/SmartDeviceLink/public/SDLSystemCapabilityManager.m b/SmartDeviceLink/public/SDLSystemCapabilityManager.m
index f56b23109..def2c853c 100644
--- a/SmartDeviceLink/public/SDLSystemCapabilityManager.m
+++ b/SmartDeviceLink/public/SDLSystemCapabilityManager.m
@@ -157,6 +157,7 @@ typedef NSString * SDLServiceID;
NSUInteger currentWindowID = windowCapability.windowID != nil ? windowCapability.windowID.unsignedIntegerValue : SDLPredefinedWindowsDefaultWindow;
if (currentWindowID != windowID) { continue; }
+ windowCapability.windowID = [NSNumber<SDLUInt> numberWithUnsignedLong:windowID];
return windowCapability;
}
diff --git a/SmartDeviceLinkTests/SDLSystemCapabilityManagerSpec.m b/SmartDeviceLinkTests/SDLSystemCapabilityManagerSpec.m
index e8cd13502..055ccb827 100644
--- a/SmartDeviceLinkTests/SDLSystemCapabilityManagerSpec.m
+++ b/SmartDeviceLinkTests/SDLSystemCapabilityManagerSpec.m
@@ -713,6 +713,14 @@ describe(@"a system capability manager", ^{
expect(testSystemCapabilityManager.defaultMainWindowCapability.textFields).to(haveCount(38));
expect(testSystemCapabilityManager.defaultMainWindowCapability.imageFields).to(haveCount(18));
});
+
+ it(@"should retrieve window id if window id is missing in window capabilities", ^{
+ // set window id to nil. windowID can be potentialy nil in real applications
+ testSystemCapabilityManager.displays[0].windowCapabilities[0].windowID = nil;
+
+ expect(testSystemCapabilityManager.defaultMainWindowCapability.windowID).to(equal(0));
+ expect([testSystemCapabilityManager windowCapabilityWithWindowID:0].windowID).to(equal(0));
+ });
});
});