Skip to content

Commit

Permalink
[tests] extend NSDictionary for testing
Browse files Browse the repository at this point in the history
* We will need to know if a particular payload exists in a dictionary to confirm what requests are sending
  • Loading branch information
nan-li committed Apr 28, 2024
1 parent 2c5685a commit a01efe3
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 0 deletions.
12 changes: 12 additions & 0 deletions iOS_SDK/OneSignalSDK/OneSignal.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@
3C87066E2BDE05B8000D8CD2 /* XCTest.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3C7A39D42B7C18EE0082665E /* XCTest.framework */; platformFilter = ios; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
3C8706702BDE0957000D8CD2 /* MockUserRequests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C87066F2BDE0957000D8CD2 /* MockUserRequests.swift */; };
3C8706722BDEE076000D8CD2 /* MockUserDefines.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C8706712BDEE076000D8CD2 /* MockUserDefines.swift */; };
3C8706762BDEED75000D8CD2 /* NSDictionary+UnitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C8706752BDEED75000D8CD2 /* NSDictionary+UnitTests.swift */; };
3C8E6DF928A6D89E0031E48A /* OSOperationExecutor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C8E6DF828A6D89E0031E48A /* OSOperationExecutor.swift */; };
3C8E6DFF28AB09AE0031E48A /* OSPropertyOperationExecutor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C8E6DFE28AB09AE0031E48A /* OSPropertyOperationExecutor.swift */; };
3C8E6E0128AC0BA10031E48A /* OSIdentityOperationExecutor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C8E6E0028AC0BA10031E48A /* OSIdentityOperationExecutor.swift */; };
Expand Down Expand Up @@ -974,6 +975,7 @@
3C7A39D42B7C18EE0082665E /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
3C87066F2BDE0957000D8CD2 /* MockUserRequests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockUserRequests.swift; sourceTree = "<group>"; };
3C8706712BDEE076000D8CD2 /* MockUserDefines.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockUserDefines.swift; sourceTree = "<group>"; };
3C8706752BDEED75000D8CD2 /* NSDictionary+UnitTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSDictionary+UnitTests.swift"; sourceTree = "<group>"; };
3C8E6DF828A6D89E0031E48A /* OSOperationExecutor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OSOperationExecutor.swift; sourceTree = "<group>"; };
3C8E6DFE28AB09AE0031E48A /* OSPropertyOperationExecutor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OSPropertyOperationExecutor.swift; sourceTree = "<group>"; };
3C8E6E0028AC0BA10031E48A /* OSIdentityOperationExecutor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OSIdentityOperationExecutor.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1675,6 +1677,14 @@
path = Source;
sourceTree = "<group>";
};
3C8706742BDEED53000D8CD2 /* Extensions */ = {
isa = PBXGroup;
children = (
3C8706752BDEED75000D8CD2 /* NSDictionary+UnitTests.swift */,
);
path = Extensions;
sourceTree = "<group>";
};
3C9AD6BA2B2284AB00BC1540 /* Executors */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -1708,6 +1718,7 @@
3CC0639B2B6D7A8D002BB07F /* OneSignalCoreMocks */ = {
isa = PBXGroup;
children = (
3C8706742BDEED53000D8CD2 /* Extensions */,
3CC0639C2B6D7A8D002BB07F /* OneSignalCoreMocks.h */,
3CC063B32B6D7BA2002BB07F /* OneSignalCoreMocks.swift */,
3CC063B12B6D7AD8002BB07F /* MockOneSignalClient.swift */,
Expand Down Expand Up @@ -3350,6 +3361,7 @@
buildActionMask = 2147483647;
files = (
3CC063B22B6D7AD8002BB07F /* MockOneSignalClient.swift in Sources */,
3C8706762BDEED75000D8CD2 /* NSDictionary+UnitTests.swift in Sources */,
3CC063B42B6D7BA2002BB07F /* OneSignalCoreMocks.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
extension NSDictionary {
func contains(key: String, value: Any) -> Bool {
guard let dictVal = self[key] else {
return false
}

return equals(dictVal, value)
}

func contains(_ dict: [String: Any]) -> Bool {
for (key, value) in dict {
if !contains(key: key, value: value) {
return false
}
}
return true
}

private func equals(_ x: Any, _ y: Any) -> Bool {
guard x is AnyHashable else { return false }
guard y is AnyHashable else { return false }
return (x as! AnyHashable) == (y as! AnyHashable)
}
}

0 comments on commit a01efe3

Please sign in to comment.