diff options
author | Satbir Tanda <satbirtanda@gmail.com> | 2019-07-29 05:14:28 -0700 |
---|---|---|
committer | Satbir Tanda <satbirtanda@gmail.com> | 2019-07-29 05:14:28 -0700 |
commit | 8ee705900324d5bec4d9647b87006d466529e5da (patch) | |
tree | d28254e27e8181ab976655a2fff7943de57e3103 | |
parent | 17f56e9d366c6007380ffb2884e702cded24961c (diff) | |
download | sdl_ios-8ee705900324d5bec4d9647b87006d466529e5da.tar.gz |
Revert "Remove SDLLockScreenStatusManagerSpec"
This reverts commit 37a810c25bd0db744692e9d866dd8340e25987a1.
-rw-r--r-- | SmartDeviceLink-iOS.xcodeproj/project.pbxproj | 4 | ||||
-rw-r--r-- | SmartDeviceLinkTests/ProxySpecs/SDLLockScreenStatusManagerSpec.m | 257 |
2 files changed, 261 insertions, 0 deletions
diff --git a/SmartDeviceLink-iOS.xcodeproj/project.pbxproj b/SmartDeviceLink-iOS.xcodeproj/project.pbxproj index 4069770e8..ca5fc27fb 100644 --- a/SmartDeviceLink-iOS.xcodeproj/project.pbxproj +++ b/SmartDeviceLink-iOS.xcodeproj/project.pbxproj @@ -513,6 +513,7 @@ 5D535DC61B72473800CF7760 /* SDLGlobals.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D535DC41B72473800CF7760 /* SDLGlobals.m */; }; 5D53C46D1B7A99B9003526EA /* SDLStreamingMediaManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D53C46B1B7A99B9003526EA /* SDLStreamingMediaManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; 5D53C46E1B7A99B9003526EA /* SDLStreamingMediaManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D53C46C1B7A99B9003526EA /* SDLStreamingMediaManager.m */; }; + 5D59DD471B14FDEE00BE744D /* SDLLockScreenStatusManagerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D59DD461B14FDEE00BE744D /* SDLLockScreenStatusManagerSpec.m */; }; 5D5DBF081D48E39C00D4F914 /* FBSnapshotTestCase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D5DBF071D48E39C00D4F914 /* FBSnapshotTestCase.framework */; }; 5D5DBF091D48E3AC00D4F914 /* FBSnapshotTestCase.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5D5DBF071D48E39C00D4F914 /* FBSnapshotTestCase.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 5D5DBF0B1D48E5E600D4F914 /* SDLLockScreenViewControllerSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D5DBF0A1D48E5E600D4F914 /* SDLLockScreenViewControllerSnapshotTests.m */; }; @@ -2155,6 +2156,7 @@ 5D535DC41B72473800CF7760 /* SDLGlobals.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLGlobals.m; sourceTree = "<group>"; }; 5D53C46B1B7A99B9003526EA /* SDLStreamingMediaManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLStreamingMediaManager.h; sourceTree = "<group>"; }; 5D53C46C1B7A99B9003526EA /* SDLStreamingMediaManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLStreamingMediaManager.m; sourceTree = "<group>"; }; + 5D59DD461B14FDEE00BE744D /* SDLLockScreenStatusManagerSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLLockScreenStatusManagerSpec.m; path = ProxySpecs/SDLLockScreenStatusManagerSpec.m; sourceTree = "<group>"; }; 5D5DBF071D48E39C00D4F914 /* FBSnapshotTestCase.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FBSnapshotTestCase.framework; path = sdl_ios/Carthage/Build/iOS/FBSnapshotTestCase.framework; sourceTree = "<group>"; }; 5D5DBF0A1D48E5E600D4F914 /* SDLLockScreenViewControllerSnapshotTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLLockScreenViewControllerSnapshotTests.m; path = DevAPISpecs/SDLLockScreenViewControllerSnapshotTests.m; sourceTree = "<group>"; }; 5D6008881BE3ED540094A505 /* SDLStateMachine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDLStateMachine.h; sourceTree = "<group>"; }; @@ -4965,6 +4967,7 @@ isa = PBXGroup; children = ( 1FF7DABF1F75CF6C00B46C30 /* SDLHapticManagerSpec.m */, + 5D59DD461B14FDEE00BE744D /* SDLLockScreenStatusManagerSpec.m */, DA661E2B1E553E7E001C1345 /* SDLStreamingMediaManagerSpec.m */, EEB2537D2067D3E80069584E /* SDLSecondaryTransportManagerSpec.m */, ); @@ -7570,6 +7573,7 @@ 162E83911A9BDE8B00906325 /* SDLTouchCoordSpec.m in Sources */, 162E832B1A9BDE8B00906325 /* SDLDeleteSubMenuSpec.m in Sources */, 162E83411A9BDE8B00906325 /* SDLSubscribeButtonSpec.m in Sources */, + 5D59DD471B14FDEE00BE744D /* SDLLockScreenStatusManagerSpec.m in Sources */, 5D0A9F9A1F15636800CC80DD /* SDLGetSystemCapabilitiesSpec.m in Sources */, 162E82F31A9BDE8B00906325 /* SDLPrerecordedSpeechSpec.m in Sources */, 1EE8C45A1F387BBB00FDC2CF /* SDLGetInteriorVehicleDataSpec.m in Sources */, diff --git a/SmartDeviceLinkTests/ProxySpecs/SDLLockScreenStatusManagerSpec.m b/SmartDeviceLinkTests/ProxySpecs/SDLLockScreenStatusManagerSpec.m new file mode 100644 index 000000000..98a574f95 --- /dev/null +++ b/SmartDeviceLinkTests/ProxySpecs/SDLLockScreenStatusManagerSpec.m @@ -0,0 +1,257 @@ +// +// SDLLockScreenStatusManagerSpec +// SmartDeviceLink-iOS + +#import <Quick/Quick.h> +#import <Nimble/Nimble.h> + +#import "SDLHMILevel.h" +#import "SDLOnLockScreenStatus.h" +#import "SDLLockScreenStatusManager.h" +#import "SDLLockScreenStatus.h" + + +QuickSpecBegin(SDLLockScreenStatusManagerSpec) + +describe(@"the lockscreen status manager", ^{ + __block SDLLockScreenStatusManager *lockScreenManager; + beforeEach(^{ + lockScreenManager = [[SDLLockScreenStatusManager alloc] init]; + }); + + it(@"should properly initialize user selected app boolean to false", ^{ + expect(@(lockScreenManager.userSelected)).to(beFalse()); + }); + + it(@"should properly initialize driver is distracted boolean to false", ^{ + expect(@(lockScreenManager.driverDistracted)).to(beFalse()); + }); + + it(@"should properly initialize hmi level object to nil", ^{ + expect(lockScreenManager.hmiLevel).to(beNil()); + }); + + describe(@"when setting HMI level", ^{ + context(@"to FULL", ^{ + beforeEach(^{ + lockScreenManager.userSelected = NO; + lockScreenManager.hmiLevel = SDLHMILevelFull; + }); + + it(@"should set user selected to true", ^{ + expect(@(lockScreenManager.userSelected)).to(beTrue()); + }); + }); + + context(@"to LIMITED", ^{ + beforeEach(^{ + lockScreenManager.userSelected = NO; + lockScreenManager.hmiLevel = SDLHMILevelLimited; + }); + + it(@"should set user selected to true", ^{ + expect(@(lockScreenManager.userSelected)).to(beTrue()); + }); + }); + + context(@"to BACKGROUND", ^{ + beforeEach(^{ + lockScreenManager.hmiLevel = SDLHMILevelBackground; + }); + + context(@"when user selected is false", ^{ + beforeEach(^{ + lockScreenManager.userSelected = NO; + }); + + it(@"should not alter the value", ^{ + expect(@(lockScreenManager.userSelected)).to(beFalse()); + }); + }); + + context(@"when user selected is true", ^{ + beforeEach(^{ + lockScreenManager.userSelected = YES; + }); + + it(@"should not alter the value", ^{ + expect(@(lockScreenManager.userSelected)).to(beTrue()); + }); + }); + }); + + context(@"to NONE", ^{ + beforeEach(^{ + lockScreenManager.userSelected = YES; + lockScreenManager.hmiLevel = SDLHMILevelNone; + }); + + it(@"should set user selected to false", ^{ + expect(@(lockScreenManager.userSelected)).to(beFalse()); + }); + }); + }); + + describe(@"when getting lock screen status", ^{ + context(@"when HMI level is nil", ^{ + beforeEach(^{ + lockScreenManager.hmiLevel = nil; + }); + + it(@"should return lock screen off", ^{ + expect(lockScreenManager.lockScreenStatus).to(equal(SDLLockScreenStatusOff)); + }); + }); + + context(@"when HMI level is NONE", ^{ + beforeEach(^{ + lockScreenManager.hmiLevel = SDLHMILevelNone; + }); + + it(@"should return lock screen off", ^{ + expect(lockScreenManager.lockScreenStatus).to(equal(SDLLockScreenStatusOff)); + }); + }); + + context(@"when HMI level is BACKGROUND", ^{ + beforeEach(^{ + lockScreenManager.hmiLevel = SDLHMILevelBackground; + }); + + context(@"when user selected is true", ^{ + beforeEach(^{ + lockScreenManager.userSelected = YES; + }); + + context(@"if we do not set the driver distraction state", ^{ + it(@"should return lock screen required", ^{ + expect(lockScreenManager.lockScreenStatus).to(equal(SDLLockScreenStatusRequired)); + }); + }); + + context(@"if we set the driver distraction state to false", ^{ + beforeEach(^{ + lockScreenManager.driverDistracted = NO; + }); + + it(@"should return lock screen optional", ^{ + expect(lockScreenManager.lockScreenStatus).to(equal(SDLLockScreenStatusOptional)); + }); + }); + + context(@"if we set the driver distraction state to true", ^{ + beforeEach(^{ + lockScreenManager.driverDistracted = YES; + }); + + it(@"should return lock screen required", ^{ + expect(lockScreenManager.lockScreenStatus).to(equal(SDLLockScreenStatusRequired)); + }); + }); + }); + + context(@"when user selected is false", ^{ + beforeEach(^{ + lockScreenManager.userSelected = NO; + }); + + it(@"should return lock screen off", ^{ + expect(lockScreenManager.lockScreenStatus).to(equal(SDLLockScreenStatusOff)); + }); + }); + }); + + context(@"when HMI level is LIMITED", ^{ + beforeEach(^{ + lockScreenManager.hmiLevel = SDLHMILevelLimited; + }); + + context(@"if we do not set the driver distraction state", ^{ + it(@"should return lock screen required", ^{ + expect(lockScreenManager.lockScreenStatus).to(equal(SDLLockScreenStatusRequired)); + }); + }); + + context(@"if we set the driver distraction state to false", ^{ + beforeEach(^{ + lockScreenManager.driverDistracted = NO; + }); + + it(@"should return lock screen optional", ^{ + expect(lockScreenManager.lockScreenStatus).to(equal(SDLLockScreenStatusOptional)); + }); + }); + + context(@"if we set the driver distraction state to true", ^{ + beforeEach(^{ + lockScreenManager.driverDistracted = YES; + }); + + it(@"should return lock screen required", ^{ + expect(lockScreenManager.lockScreenStatus).to(equal(SDLLockScreenStatusRequired)); + }); + }); + }); + + context(@"when HMI level is FULL", ^{ + beforeEach(^{ + lockScreenManager.hmiLevel = SDLHMILevelFull; + }); + + context(@"if we do not set the driver distraction state", ^{ + it(@"should return lock screen required", ^{ + expect(lockScreenManager.lockScreenStatus).to(equal(SDLLockScreenStatusRequired)); + }); + }); + + context(@"if we set the driver distraction state to false", ^{ + beforeEach(^{ + lockScreenManager.driverDistracted = NO; + }); + + it(@"should return lock screen optional", ^{ + expect(lockScreenManager.lockScreenStatus).to(equal(SDLLockScreenStatusOptional)); + }); + }); + + context(@"if we set the driver distraction state to true", ^{ + beforeEach(^{ + lockScreenManager.driverDistracted = YES; + }); + + it(@"should return lock screen required", ^{ + expect(lockScreenManager.lockScreenStatus).to(equal(SDLLockScreenStatusRequired)); + }); + }); + }); + }); + + describe(@"when getting lock screen status notification", ^{ + __block SDLOnLockScreenStatus *onLockScreenStatusNotification = nil; + beforeEach(^{ + lockScreenManager.userSelected = YES; + lockScreenManager.driverDistracted = NO; + lockScreenManager.hmiLevel = SDLHMILevelLimited; + + onLockScreenStatusNotification = lockScreenManager.lockScreenStatusNotification; + }); + + it(@"should properly return user selected", ^{ + expect(onLockScreenStatusNotification.userSelected).to(beTrue()); + }); + + it(@"should properly return driver distraction status", ^{ + expect(onLockScreenStatusNotification.driverDistractionStatus).to(beFalse()); + }); + + it(@"should properly return HMI level", ^{ + expect(onLockScreenStatusNotification.hmiLevel).to(equal(SDLHMILevelLimited)); + }); + + it(@"should properly return lock screen status", ^{ + expect(onLockScreenStatusNotification.lockScreenStatus).to(equal(SDLLockScreenStatusOptional)); + }); + }); +}); + +QuickSpecEnd |