summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSatbir Tanda <satbirtanda@gmail.com>2019-07-29 05:14:28 -0700
committerSatbir Tanda <satbirtanda@gmail.com>2019-07-29 05:14:28 -0700
commit8ee705900324d5bec4d9647b87006d466529e5da (patch)
treed28254e27e8181ab976655a2fff7943de57e3103
parent17f56e9d366c6007380ffb2884e702cded24961c (diff)
downloadsdl_ios-8ee705900324d5bec4d9647b87006d466529e5da.tar.gz
Revert "Remove SDLLockScreenStatusManagerSpec"
This reverts commit 37a810c25bd0db744692e9d866dd8340e25987a1.
-rw-r--r--SmartDeviceLink-iOS.xcodeproj/project.pbxproj4
-rw-r--r--SmartDeviceLinkTests/ProxySpecs/SDLLockScreenStatusManagerSpec.m257
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