diff options
author | NicoleYarroch <nicole@livio.io> | 2018-04-18 09:42:42 -0400 |
---|---|---|
committer | NicoleYarroch <nicole@livio.io> | 2018-04-18 09:42:42 -0400 |
commit | 0f188aead995a6cba0f7bfc63ee85b470f57dd45 (patch) | |
tree | 516d5722037633fd30ce1773603d0663902f0ed0 | |
parent | 163cbf3741642ee9d40d756d6c06de78935b68fe (diff) | |
download | sdl_ios-0f188aead995a6cba0f7bfc63ee85b470f57dd45.tar.gz |
Fixed stop() method of the system capability managerfeature/issue_720_system_capability_manager
Signed-off-by: NicoleYarroch <nicole@livio.io>
-rw-r--r-- | SmartDeviceLink/SDLSystemCapabilityManager.h | 2 | ||||
-rw-r--r-- | SmartDeviceLink/SDLSystemCapabilityManager.m | 18 | ||||
-rw-r--r-- | SmartDeviceLinkTests/SDLSystemCapabilityManagerSpec.m | 42 |
3 files changed, 58 insertions, 4 deletions
diff --git a/SmartDeviceLink/SDLSystemCapabilityManager.h b/SmartDeviceLink/SDLSystemCapabilityManager.h index 6a17b115d..36f58a735 100644 --- a/SmartDeviceLink/SDLSystemCapabilityManager.h +++ b/SmartDeviceLink/SDLSystemCapabilityManager.h @@ -107,7 +107,7 @@ typedef void (^SDLUpdateCapabilityHandler)(NSError * _Nullable error, SDLSystemC * * True if the head unit supports voice recognition; false if not. */ -@property (nonatomic, readonly) BOOL vrCapability; +@property (nonatomic, assign, readonly) BOOL vrCapability; /** * @see SDLAudioPassThruCapabilities diff --git a/SmartDeviceLink/SDLSystemCapabilityManager.m b/SmartDeviceLink/SDLSystemCapabilityManager.m index 28f7bf262..9168fd81e 100644 --- a/SmartDeviceLink/SDLSystemCapabilityManager.m +++ b/SmartDeviceLink/SDLSystemCapabilityManager.m @@ -35,7 +35,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, copy, nonatomic, readwrite) NSArray<SDLHMIZoneCapabilities> *hmiZoneCapabilities; @property (nullable, copy, nonatomic, readwrite) NSArray<SDLSpeechCapabilities> *speechCapabilities; @property (nullable, copy, nonatomic, readwrite) NSArray<SDLPrerecordedSpeech> *prerecordedSpeechCapabilities; -@property (nonatomic, readwrite) BOOL vrCapability; +@property (nonatomic, assign, readwrite) BOOL vrCapability; @property (nullable, copy, nonatomic, readwrite) NSArray<SDLAudioPassThruCapabilities *> *audioPassThruCapabilities; @property (nullable, strong, nonatomic, readwrite) SDLAudioPassThruCapabilities *pcmStreamCapability; @property (nullable, strong, nonatomic, readwrite) SDLNavigationCapability *navigationCapability; @@ -63,7 +63,21 @@ NS_ASSUME_NONNULL_BEGIN - (void)stop { SDLLogD(@"System Capability manager stopped"); - [[NSNotificationCenter defaultCenter] removeObserver:self]; + _displayCapabilities = nil; + _hmiCapabilities = nil; + _softButtonCapabilities = nil; + _buttonCapabilities = nil; + _presetBankCapabilities = nil; + _hmiZoneCapabilities = nil; + _speechCapabilities = nil; + _prerecordedSpeechCapabilities = nil; + _vrCapability = NO; + _audioPassThruCapabilities = nil; + _pcmStreamCapability = nil; + _navigationCapability = nil; + _phoneCapability = nil; + _videoStreamingCapability = nil; + _remoteControlCapability = nil; } diff --git a/SmartDeviceLinkTests/SDLSystemCapabilityManagerSpec.m b/SmartDeviceLinkTests/SDLSystemCapabilityManagerSpec.m index 0b33ec7a7..ae6ba1ca9 100644 --- a/SmartDeviceLinkTests/SDLSystemCapabilityManagerSpec.m +++ b/SmartDeviceLinkTests/SDLSystemCapabilityManagerSpec.m @@ -253,7 +253,7 @@ describe(@"System capability manager", ^{ }); }); - context(@"When notified of a Get System Capability Response ", ^{ + context(@"When notified of a Get System Capability Response", ^{ __block SDLGetSystemCapabilityResponse *testGetSystemCapabilityResponse; __block SDLPhoneCapability *testPhoneCapability = nil; @@ -351,6 +351,46 @@ describe(@"System capability manager", ^{ expect(testSystemCapabilityManager.remoteControlCapability).to(beNil()); }); }); + + context(@"When the system capability manager is stopped after being started", ^{ + beforeEach(^{ + SDLDisplayCapabilities *testDisplayCapabilities = [[SDLDisplayCapabilities alloc] init]; + testDisplayCapabilities.graphicSupported = @NO; + + SDLRegisterAppInterfaceResponse *testRegisterAppInterfaceResponse = [[SDLRegisterAppInterfaceResponse alloc] init]; + testRegisterAppInterfaceResponse.displayCapabilities = testDisplayCapabilities; + testRegisterAppInterfaceResponse.success = @YES; + + SDLRPCResponseNotification *notification = [[SDLRPCResponseNotification alloc] initWithName:SDLDidReceiveRegisterAppInterfaceResponse object:self rpcResponse:testRegisterAppInterfaceResponse]; + [[NSNotificationCenter defaultCenter] postNotification:notification]; + + expect(testSystemCapabilityManager.displayCapabilities).to(equal(testDisplayCapabilities)); + }); + + describe(@"When stopped", ^{ + beforeEach(^{ + [testSystemCapabilityManager stop]; + }); + + it(@"It should reset the system capability manager properties correctly", ^{ + expect(testSystemCapabilityManager.displayCapabilities).to(beNil()); + expect(testSystemCapabilityManager.hmiCapabilities).to(beNil()); + expect(testSystemCapabilityManager.softButtonCapabilities).to(beNil()); + expect(testSystemCapabilityManager.buttonCapabilities).to(beNil()); + expect(testSystemCapabilityManager.presetBankCapabilities).to(beNil()); + expect(testSystemCapabilityManager.hmiZoneCapabilities).to(beNil()); + expect(testSystemCapabilityManager.speechCapabilities).to(beNil()); + expect(testSystemCapabilityManager.prerecordedSpeechCapabilities).to(beNil()); + expect(testSystemCapabilityManager.vrCapability).to(beFalse()); + expect(testSystemCapabilityManager.audioPassThruCapabilities).to(beNil()); + expect(testSystemCapabilityManager.pcmStreamCapability).to(beNil()); + expect(testSystemCapabilityManager.phoneCapability).to(beNil()); + expect(testSystemCapabilityManager.navigationCapability).to(beNil()); + expect(testSystemCapabilityManager.videoStreamingCapability).to(beNil()); + expect(testSystemCapabilityManager.remoteControlCapability).to(beNil()); + }); + }); + }); }); QuickSpecEnd |