From e6d0999e5804541444e20cbc8290c41a2efcbd20 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Fri, 6 Oct 2023 15:16:26 +0300 Subject: [PATCH 01/31] Implement initial project structure --- .clang-format | 166 ++++++++++++++++++ .gitignore | 1 + .oclint | 7 + Brewfile | 3 + Brewfile.lock.json | 105 +++++++++++ CaptureKit/CaptureKit.docc/CaptureKit.md | 13 ++ CaptureKit/CaptureKit.h | 17 ++ .../Classes/Core/CaptureKit/NSCaptureKit.h | 14 ++ .../Classes/Core/CaptureKit/NSCaptureKit.m | 14 ++ CaptureKitTests/CaptureKitTests.m | 14 ++ Makefile | 19 ++ Mintfile | 0 compile_commands.json | 1 + hooks/pre-commit | 12 ++ project.yml | 55 ++++++ 15 files changed, 441 insertions(+) create mode 100644 .clang-format create mode 100644 .oclint create mode 100644 Brewfile create mode 100644 Brewfile.lock.json create mode 100755 CaptureKit/CaptureKit.docc/CaptureKit.md create mode 100644 CaptureKit/CaptureKit.h create mode 100644 CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.h create mode 100644 CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.m create mode 100644 CaptureKitTests/CaptureKitTests.m create mode 100644 Makefile create mode 100644 Mintfile create mode 100644 compile_commands.json create mode 100755 hooks/pre-commit create mode 100644 project.yml diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..5d9c1f6 --- /dev/null +++ b/.clang-format @@ -0,0 +1,166 @@ +--- +Language: ObjC +AccessModifierOffset: -1 +AlignAfterOpenBracket: Align +AlignConsecutiveMacros: false +AlignConsecutiveAssignments: false +AlignConsecutiveDeclarations: false +AlignEscapedNewlines: Left +AlignOperands: true +AlignTrailingComments: true +AllowAllArgumentsOnNextLine: true +AllowAllConstructorInitializersOnNextLine: true +AllowAllParametersOfDeclarationOnNextLine: true +AllowShortBlocksOnASingleLine: Never +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: All +AllowShortLambdasOnASingleLine: All +AllowShortIfStatementsOnASingleLine: WithoutElse +AllowShortLoopsOnASingleLine: true +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: true +AlwaysBreakTemplateDeclarations: Yes +BinPackArguments: true +BinPackParameters: true +BraceWrapping: + AfterCaseLabel: false + AfterClass: false + AfterControlStatement: false + AfterEnum: false + AfterFunction: false + AfterNamespace: false + AfterObjCDeclaration: false + AfterStruct: false + AfterUnion: false + AfterExternBlock: false + BeforeCatch: false + BeforeElse: false + IndentBraces: false + SplitEmptyFunction: true + SplitEmptyRecord: true + SplitEmptyNamespace: true +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Attach +BreakBeforeInheritanceComma: false +BreakInheritanceList: BeforeColon +BreakBeforeTernaryOperators: true +BreakConstructorInitializersBeforeComma: false +BreakConstructorInitializers: BeforeColon +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: true +ColumnLimit: 120 +CommentPragmas: '^ IWYU pragma:' +CompactNamespaces: false +ConstructorInitializerAllOnOneLineOrOnePerLine: true +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: true +DeriveLineEnding: true +DerivePointerAlignment: true +DisableFormat: false +ExperimentalAutoDetectBinPacking: false +FixNamespaceComments: true +ForEachMacros: + - foreach + - Q_FOREACH + - BOOST_FOREACH +IncludeBlocks: Regroup +IncludeCategories: + - Regex: '^' + Priority: 2 + SortPriority: 0 + - Regex: '^<.*\.h>' + Priority: 1 + SortPriority: 0 + - Regex: '^<.*' + Priority: 2 + SortPriority: 0 + - Regex: '.*' + Priority: 3 + SortPriority: 0 +IncludeIsMainRegex: '([-_](test|unittest))?$' +IncludeIsMainSourceRegex: '' +IndentCaseLabels: true +IndentGotoLabels: true +IndentPPDirectives: None +IndentWidth: 4 +IndentWrappedFunctionNames: false +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: false +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +ObjCBinPackProtocolList: Never +ObjCBlockIndentWidth: 4 +ObjCSpaceAfterProperty: true +ObjCSpaceBeforeProtocolList: true +PenaltyBreakAssignment: 2 +PenaltyBreakBeforeFirstCallParameter: 1 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakString: 1000 +PenaltyBreakTemplateDeclaration: 10 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 200 +PointerAlignment: Left +RawStringFormats: + - Language: Cpp + Delimiters: + - cc + - CC + - cpp + - Cpp + - CPP + - 'c++' + - 'C++' + CanonicalDelimiter: '' + BasedOnStyle: google + - Language: TextProto + Delimiters: + - pb + - PB + - proto + - PROTO + EnclosingFunctions: + - EqualsProto + - EquivToProto + - PARSE_PARTIAL_TEXT_PROTO + - PARSE_TEST_PROTO + - PARSE_TEXT_PROTO + - ParseTextOrDie + - ParseTextProtoOrDie + CanonicalDelimiter: '' + BasedOnStyle: google +ReflowComments: true +SortIncludes: true +SortUsingDeclarations: true +SpaceAfterCStyleCast: false +SpaceAfterLogicalNot: false +SpaceAfterTemplateKeyword: true +SpaceBeforeAssignmentOperators: true +SpaceBeforeCpp11BracedList: false +SpaceBeforeCtorInitializerColon: true +SpaceBeforeInheritanceColon: true +SpaceBeforeParens: ControlStatements +SpaceBeforeRangeBasedForLoopColon: true +SpaceInEmptyBlock: false +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 2 +SpacesInAngles: false +SpacesInConditionalStatement: false +SpacesInContainerLiterals: true +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +SpaceBeforeSquareBrackets: false +Standard: Auto +StatementMacros: + - Q_UNUSED + - QT_REQUIRE_VERSION +TabWidth: 4 +UseCRLF: false +UseTab: Never +... diff --git a/.gitignore b/.gitignore index 7801c93..d950079 100644 --- a/.gitignore +++ b/.gitignore @@ -66,3 +66,4 @@ fastlane/test_output # https://github.com/johnno1962/injectionforxcode iOSInjectionProject/ +*.xcodeproj \ No newline at end of file diff --git a/.oclint b/.oclint new file mode 100644 index 0000000..5fc148b --- /dev/null +++ b/.oclint @@ -0,0 +1,7 @@ +disable-rules: + - AssignIvarOutsideAccessors + - LongVariableName +rule-configurations: + - key: LONG_LINE + value: 200 +enable-clang-static-analyzer: true \ No newline at end of file diff --git a/Brewfile b/Brewfile new file mode 100644 index 0000000..bfe3c60 --- /dev/null +++ b/Brewfile @@ -0,0 +1,3 @@ +brew "oclint" +brew "clang-format" +brew "xcodegen" \ No newline at end of file diff --git a/Brewfile.lock.json b/Brewfile.lock.json new file mode 100644 index 0000000..d08d39f --- /dev/null +++ b/Brewfile.lock.json @@ -0,0 +1,105 @@ +{ + "entries": { + "brew": { + "oclint": { + "version": "20.11", + "bottle": false + }, + "clang-format": { + "version": "17.0.2", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/homebrew/core", + "files": { + "arm64_sonoma": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/clang-format/blobs/sha256:1efd2fee1635d34114bd9d6daa1390b66a8df8621feec3c6650d6ef9ba4ade8d", + "sha256": "1efd2fee1635d34114bd9d6daa1390b66a8df8621feec3c6650d6ef9ba4ade8d" + }, + "arm64_ventura": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/clang-format/blobs/sha256:dd037c2099365c36fe7f98b7a88fd9b38e4e98f176c272ddf647999b52961e68", + "sha256": "dd037c2099365c36fe7f98b7a88fd9b38e4e98f176c272ddf647999b52961e68" + }, + "arm64_monterey": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/clang-format/blobs/sha256:2d6db6df5d9dc8dfe2261d92e24979a7ab95c03ab630696ce000a343f375e262", + "sha256": "2d6db6df5d9dc8dfe2261d92e24979a7ab95c03ab630696ce000a343f375e262" + }, + "sonoma": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/clang-format/blobs/sha256:fe42f4d3a1ae819f7da81d811b06cd3aca135d4169f5f7f0e6643e1ba82ad760", + "sha256": "fe42f4d3a1ae819f7da81d811b06cd3aca135d4169f5f7f0e6643e1ba82ad760" + }, + "ventura": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/clang-format/blobs/sha256:dbca4323c6321af28c7c0e15ffc1c9d8d62fb0b8e74709c500d1724d23a292ba", + "sha256": "dbca4323c6321af28c7c0e15ffc1c9d8d62fb0b8e74709c500d1724d23a292ba" + }, + "monterey": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/clang-format/blobs/sha256:e00953e72bf88cd9ec6067d0d6939ec01fe92b555ea00561681ea71ff4556d03", + "sha256": "e00953e72bf88cd9ec6067d0d6939ec01fe92b555ea00561681ea71ff4556d03" + }, + "x86_64_linux": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/clang-format/blobs/sha256:64a41e19b976c1725c0f47d7933c5ff34c153c60b68354a503410e41efbfc5e8", + "sha256": "64a41e19b976c1725c0f47d7933c5ff34c153c60b68354a503410e41efbfc5e8" + } + } + } + }, + "xcodegen": { + "version": "2.37.0", + "bottle": { + "rebuild": 0, + "root_url": "https://ghcr.io/v2/homebrew/core", + "files": { + "arm64_sonoma": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/xcodegen/blobs/sha256:01a6e074defcf2b17bb25bdc28daf96bbfd9aaea65f40c4f31b34178e04a2477", + "sha256": "01a6e074defcf2b17bb25bdc28daf96bbfd9aaea65f40c4f31b34178e04a2477" + }, + "arm64_ventura": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/xcodegen/blobs/sha256:9d147d0bbde8f76fe1c88da308c1f99e866d1702458e82b685a164505de10093", + "sha256": "9d147d0bbde8f76fe1c88da308c1f99e866d1702458e82b685a164505de10093" + }, + "arm64_monterey": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/xcodegen/blobs/sha256:9058c7b14f8ea6e8457c808db3329eb0b2f7aa3de00d147e931501dcc2e26874", + "sha256": "9058c7b14f8ea6e8457c808db3329eb0b2f7aa3de00d147e931501dcc2e26874" + }, + "sonoma": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/xcodegen/blobs/sha256:162c4534eb6bfcf41d8b0447830001fd08d9d38aa4151aa62eee66858b4ddc55", + "sha256": "162c4534eb6bfcf41d8b0447830001fd08d9d38aa4151aa62eee66858b4ddc55" + }, + "ventura": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/xcodegen/blobs/sha256:caddccdd2b82aef7ae9221d1249b0af14bf5c4befe8ceb5445d55a9150649ed6", + "sha256": "caddccdd2b82aef7ae9221d1249b0af14bf5c4befe8ceb5445d55a9150649ed6" + }, + "monterey": { + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/xcodegen/blobs/sha256:54fefbac5d69356b64354c1e7b281feeee2ae27ee79cf34505a0e23a3d2196a9", + "sha256": "54fefbac5d69356b64354c1e7b281feeee2ae27ee79cf34505a0e23a3d2196a9" + } + } + } + } + } + }, + "system": { + "macos": { + "ventura": { + "HOMEBREW_VERSION": "4.1.14", + "HOMEBREW_PREFIX": "/usr/local", + "Homebrew/homebrew-core": "api", + "CLT": "", + "Xcode": "14.1", + "macOS": "13.4" + } + } + } +} diff --git a/CaptureKit/CaptureKit.docc/CaptureKit.md b/CaptureKit/CaptureKit.docc/CaptureKit.md new file mode 100755 index 0000000..3e0bc70 --- /dev/null +++ b/CaptureKit/CaptureKit.docc/CaptureKit.md @@ -0,0 +1,13 @@ +# ``CaptureKit`` + +Summary + +## Overview + +Text + +## Topics + +### Group + +- ``Symbol`` \ No newline at end of file diff --git a/CaptureKit/CaptureKit.h b/CaptureKit/CaptureKit.h new file mode 100644 index 0000000..f289baf --- /dev/null +++ b/CaptureKit/CaptureKit.h @@ -0,0 +1,17 @@ +// +// CaptureKit.h +// CaptureKit +// +// Created by Никита Васильев on 06.10.2023. +// + +#import + +//! Project version number for CaptureKit. +FOUNDATION_EXPORT double CaptureKitVersionNumber; + +//! Project version string for CaptureKit. +FOUNDATION_EXPORT const unsigned char CaptureKitVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import +// diff --git a/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.h b/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.h new file mode 100644 index 0000000..59d22ac --- /dev/null +++ b/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.h @@ -0,0 +1,14 @@ +// +// CaptureKit +// Copyright © 2023 Space Code. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface NSCaptureKit : NSObject + +@end + +NS_ASSUME_NONNULL_END diff --git a/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.m b/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.m new file mode 100644 index 0000000..10f04f1 --- /dev/null +++ b/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.m @@ -0,0 +1,14 @@ +// +// CaptureKit +// Copyright © 2023 Space Code. All rights reserved. +// + +#import "NSCaptureKit.h" + +@implementation NSCaptureKit + +- (NSString *)getValueForKey:(NSString *)k { + return nil; +} + +@end diff --git a/CaptureKitTests/CaptureKitTests.m b/CaptureKitTests/CaptureKitTests.m new file mode 100644 index 0000000..338666d --- /dev/null +++ b/CaptureKitTests/CaptureKitTests.m @@ -0,0 +1,14 @@ +// +// CaptureKitTests +// Copyright © 2023 Space Code. All rights reserved. +// + +#import + +@interface CaptureKitTests : XCTestCase + +@end + +@implementation CaptureKitTests + +@end diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..44a4cda --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +all: bootstrap + +bootstrap: hook brew + +brew: + brew bundle check || brew bundle + +hook: + ln -sf ../../hooks/pre-commit .git/hooks/pre-commit + chmod +x .git/hooks/pre-commit + +lint: + # mint run swiftlint + +fmt: + find CaptureKit -iname '*.h' -o -iname '*.m' | xargs clang-format -i + find CaptureKitTests -iname '*.h' -o -iname '*.m' | xargs clang-format -i + +.PHONY: all bootstrap hook brew mint lint fmt \ No newline at end of file diff --git a/Mintfile b/Mintfile new file mode 100644 index 0000000..e69de29 diff --git a/compile_commands.json b/compile_commands.json new file mode 100644 index 0000000..f4f2c1e --- /dev/null +++ b/compile_commands.json @@ -0,0 +1 @@ +[{"command":"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -target arm64-apple-macos13.0 -fmessage-length\\=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit\\=0 -std\\=gnu11 -fobjc-arc -fobjc-weak -fmodules -gmodules -fmodules-prune-interval\\=86400 -fmodules-prune-after\\=345600 -fbuild-session-file\\=/var/folders/2q/g2y6c8zd2j397sv7vjvyqvf00000gn/C/com.apple.DeveloperTools/14.1-14B47b/Xcode/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror\\=non-modular-include-in-framework-module -fmodule-name\\=CaptureKit -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror\\=return-type -Wdocumentation -Wunreachable-code -Wquoted-include-in-framework-header -Wno-implicit-atomic-properties -Werror\\=deprecated-objc-isa-usage -Wno-objc-interface-ivars -Werror\\=objc-root-class -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wdeprecated-implementations -Wno-implicit-fallthrough -DDEBUG\\=1 -DOBJC_OLD_DISPATCH_PROTOTYPES\\=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -Wno-sign-conversion -Winfinite-recursion -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wno-semicolon-before-method-body -Wunguarded-availability -iquote /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-generated-files.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-own-target-headers.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-all-non-framework-target-headers.hmap -ivfsoverlay /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/all-product-headers.yaml -iquote /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-project-headers.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/Debug/include -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources-normal/arm64 -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources/arm64 -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources -F/Users/nv3212/Projects/space-code/capture-kit/build/Debug -MMD -MT dependencies -MF /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/arm64/NSCaptureKit.d --serialize-diagnostics /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/arm64/NSCaptureKit.dia -c /Users/nv3212/Projects/space-code/capture-kit/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.m -o /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/arm64/NSCaptureKit.o","file":"/Users/nv3212/Projects/space-code/capture-kit/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.m","directory":"/"},{"command":"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -target x86_64-apple-macos13.0 -fmessage-length\\=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit\\=0 -std\\=gnu11 -fobjc-arc -fobjc-weak -fmodules -gmodules -fmodules-prune-interval\\=86400 -fmodules-prune-after\\=345600 -fbuild-session-file\\=/var/folders/2q/g2y6c8zd2j397sv7vjvyqvf00000gn/C/com.apple.DeveloperTools/14.1-14B47b/Xcode/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror\\=non-modular-include-in-framework-module -fmodule-name\\=CaptureKit -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror\\=return-type -Wdocumentation -Wunreachable-code -Wquoted-include-in-framework-header -Wno-implicit-atomic-properties -Werror\\=deprecated-objc-isa-usage -Wno-objc-interface-ivars -Werror\\=objc-root-class -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wdeprecated-implementations -Wno-implicit-fallthrough -DDEBUG\\=1 -DOBJC_OLD_DISPATCH_PROTOTYPES\\=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -Wno-sign-conversion -Winfinite-recursion -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wno-semicolon-before-method-body -Wunguarded-availability -iquote /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-generated-files.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-own-target-headers.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-all-non-framework-target-headers.hmap -ivfsoverlay /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/all-product-headers.yaml -iquote /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-project-headers.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/Debug/include -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources-normal/x86_64 -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources/x86_64 -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources -F/Users/nv3212/Projects/space-code/capture-kit/build/Debug -MMD -MT dependencies -MF /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/x86_64/NSCaptureKit.d --serialize-diagnostics /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/x86_64/NSCaptureKit.dia -c /Users/nv3212/Projects/space-code/capture-kit/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.m -o /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/x86_64/NSCaptureKit.o","file":"/Users/nv3212/Projects/space-code/capture-kit/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.m","directory":"/"},{"command":"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c -target x86_64-apple-macos13.0 -fmessage-length\\=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit\\=0 -std\\=gnu11 -fmodules -gmodules -fmodules-prune-interval\\=86400 -fmodules-prune-after\\=345600 -fbuild-session-file\\=/var/folders/2q/g2y6c8zd2j397sv7vjvyqvf00000gn/C/com.apple.DeveloperTools/14.1-14B47b/Xcode/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror\\=non-modular-include-in-framework-module -fmodule-name\\=CaptureKit -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror\\=return-type -Wdocumentation -Wunreachable-code -Wquoted-include-in-framework-header -Werror\\=deprecated-objc-isa-usage -Werror\\=objc-root-class -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-implicit-fallthrough -DDEBUG\\=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -g -Wno-sign-conversion -Winfinite-recursion -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wno-semicolon-before-method-body -Wunguarded-availability -iquote /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-generated-files.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-own-target-headers.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-all-non-framework-target-headers.hmap -ivfsoverlay /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/all-product-headers.yaml -iquote /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-project-headers.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/Debug/include -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources-normal/x86_64 -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources/x86_64 -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources -F/Users/nv3212/Projects/space-code/capture-kit/build/Debug -MMD -MT dependencies -MF /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/x86_64/CaptureKit_vers.d --serialize-diagnostics /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/x86_64/CaptureKit_vers.dia -c /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources/CaptureKit_vers.c -o /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/x86_64/CaptureKit_vers.o","file":"/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources/CaptureKit_vers.c","directory":"/"},{"command":"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c -target arm64-apple-macos13.0 -fmessage-length\\=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit\\=0 -std\\=gnu11 -fmodules -gmodules -fmodules-prune-interval\\=86400 -fmodules-prune-after\\=345600 -fbuild-session-file\\=/var/folders/2q/g2y6c8zd2j397sv7vjvyqvf00000gn/C/com.apple.DeveloperTools/14.1-14B47b/Xcode/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror\\=non-modular-include-in-framework-module -fmodule-name\\=CaptureKit -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror\\=return-type -Wdocumentation -Wunreachable-code -Wquoted-include-in-framework-header -Werror\\=deprecated-objc-isa-usage -Werror\\=objc-root-class -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-implicit-fallthrough -DDEBUG\\=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk -fstrict-aliasing -Wdeprecated-declarations -g -Wno-sign-conversion -Winfinite-recursion -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wno-semicolon-before-method-body -Wunguarded-availability -iquote /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-generated-files.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-own-target-headers.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-all-non-framework-target-headers.hmap -ivfsoverlay /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/all-product-headers.yaml -iquote /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-project-headers.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/Debug/include -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources-normal/arm64 -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources/arm64 -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources -F/Users/nv3212/Projects/space-code/capture-kit/build/Debug -MMD -MT dependencies -MF /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/arm64/CaptureKit_vers.d --serialize-diagnostics /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/arm64/CaptureKit_vers.dia -c /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources/CaptureKit_vers.c -o /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/arm64/CaptureKit_vers.o","file":"/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources/CaptureKit_vers.c","directory":"/"}] \ No newline at end of file diff --git a/hooks/pre-commit b/hooks/pre-commit new file mode 100755 index 0000000..abdac63 --- /dev/null +++ b/hooks/pre-commit @@ -0,0 +1,12 @@ +#!/bin/bash + +git diff --diff-filter=d --staged --name-only | grep -e '\.\(h\|m\)' | while read line; do + if [[ $line == *"/Generated"* ]]; then + echo "IGNORING GENERATED FILE: " "$line"; + else + clang-format -style=file -i "${line}"; + git add "$line"; + fi +done + +xcodegen \ No newline at end of file diff --git a/project.yml b/project.yml new file mode 100644 index 0000000..91ad6d1 --- /dev/null +++ b/project.yml @@ -0,0 +1,55 @@ +name: CaptureKit +options: + developmentLanguage: en + createIntermediateGroups: true + deploymentTarget: + macOS: 13.0 + xcodeVersion: 14.0 +settings: + base: + SWIFT_VERSION: "5.7" + PRODUCT_BUNDLE_IDENTIFIER: com.nikitavasilev.capture-kit + CODE_SIGN_STYLE: automatic + GENERATE_INFOPLIST_FILE: YES +attributes: + ORGANIZATIONNAME: space-code +schemes: + CaptureKit: + build: + targets: + CaptureKit: all + run: + config: Debug + test: + gatherCoverageData: true + targets: + - CaptureKitTests + coverageTargets: + - CaptureKit +targets: + CaptureKit: + type: framework + platform: macOS + sources: + - path: CaptureKit + settings: + base: + MARKETING_VERSION: 1.0.0 + CURRENT_PROJECT_VERSION: 1 + CaptureKitTests: + type: bundle.unit-test + platform: macOS + sources: + - CaptureKitTests + dependencies: + - target: CaptureKit +aggregateTargets: + OCLint: + buildScripts: + - script: | + cd ${SRCROOT} + xcodebuild clean + xcodebuild -project CaptureKit.xcodeproj COMPILER_INDEX_STORE_ENABLE=NO | xcpretty -r json-compilation-database --output compile_commands.json + oclint-json-compilation-database -e build -- -report-type xcode + name: OCLint + From 7fb846fcb97509def50f825f9e3ea664d0629032 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Mon, 9 Oct 2023 12:09:06 +0300 Subject: [PATCH 02/31] Add `.clang-format` --- .clang-format | 217 +++++++++++++------------------------------------- 1 file changed, 56 insertions(+), 161 deletions(-) diff --git a/.clang-format b/.clang-format index 5d9c1f6..ce4be89 100644 --- a/.clang-format +++ b/.clang-format @@ -1,166 +1,61 @@ ---- -Language: ObjC -AccessModifierOffset: -1 -AlignAfterOpenBracket: Align -AlignConsecutiveMacros: false -AlignConsecutiveAssignments: false -AlignConsecutiveDeclarations: false -AlignEscapedNewlines: Left -AlignOperands: true -AlignTrailingComments: true -AllowAllArgumentsOnNextLine: true -AllowAllConstructorInitializersOnNextLine: true +# For options, see http://clang.llvm.org/docs/ClangFormatStyleOptions.html + +# A style complying with Google’s C++ style guide +BasedOnStyle: Google + +# If true, horizontally aligns arguments after an open bracket. +# This applies to round brackets (parentheses), angle brackets and square brackets. +AlignAfterOpenBracket: true + +# If true, horizontally align operands of binary and ternary expressions. +AlignOperands: false + +# Allow putting all parameters of a function declaration onto the next line even if BinPackParameters is false. AllowAllParametersOfDeclarationOnNextLine: true -AllowShortBlocksOnASingleLine: Never -AllowShortCaseLabelsOnASingleLine: false -AllowShortFunctionsOnASingleLine: All -AllowShortLambdasOnASingleLine: All -AllowShortIfStatementsOnASingleLine: WithoutElse -AllowShortLoopsOnASingleLine: true -AlwaysBreakAfterDefinitionReturnType: None -AlwaysBreakAfterReturnType: None -AlwaysBreakBeforeMultilineStrings: true -AlwaysBreakTemplateDeclarations: Yes -BinPackArguments: true -BinPackParameters: true -BraceWrapping: - AfterCaseLabel: false - AfterClass: false - AfterControlStatement: false - AfterEnum: false - AfterFunction: false - AfterNamespace: false - AfterObjCDeclaration: false - AfterStruct: false - AfterUnion: false - AfterExternBlock: false - BeforeCatch: false - BeforeElse: false - IndentBraces: false - SplitEmptyFunction: true - SplitEmptyRecord: true - SplitEmptyNamespace: true -BreakBeforeBinaryOperators: None -BreakBeforeBraces: Attach -BreakBeforeInheritanceComma: false -BreakInheritanceList: BeforeColon + +# If true, always break after the template<...> of a template declaration. +AlwaysBreakTemplateDeclarations: true + +# If false, a function call’s arguments will either be all on the same line or will have one line each. +BinPackArguments: false + +# If false, a function call’s or function definition’s parameters will either all be on the same line or will have one line each. +BinPackParameters: false + +# If true, ternary operators will be placed after line breaks. BreakBeforeTernaryOperators: true -BreakConstructorInitializersBeforeComma: false -BreakConstructorInitializers: BeforeColon -BreakAfterJavaFieldAnnotations: false -BreakStringLiterals: true -ColumnLimit: 120 -CommentPragmas: '^ IWYU pragma:' -CompactNamespaces: false -ConstructorInitializerAllOnOneLineOrOnePerLine: true -ConstructorInitializerIndentWidth: 4 + +# Column limit for Obj-C at Google is 100 +ColumnLimit: 100 + +# Indent width for line continuations. ContinuationIndentWidth: 4 -Cpp11BracedListStyle: true -DeriveLineEnding: true -DerivePointerAlignment: true -DisableFormat: false -ExperimentalAutoDetectBinPacking: false -FixNamespaceComments: true -ForEachMacros: - - foreach - - Q_FOREACH - - BOOST_FOREACH -IncludeBlocks: Regroup -IncludeCategories: - - Regex: '^' - Priority: 2 - SortPriority: 0 - - Regex: '^<.*\.h>' - Priority: 1 - SortPriority: 0 - - Regex: '^<.*' - Priority: 2 - SortPriority: 0 - - Regex: '.*' - Priority: 3 - SortPriority: 0 -IncludeIsMainRegex: '([-_](test|unittest))?$' -IncludeIsMainSourceRegex: '' -IndentCaseLabels: true -IndentGotoLabels: true -IndentPPDirectives: None -IndentWidth: 4 -IndentWrappedFunctionNames: false -JavaScriptQuotes: Leave -JavaScriptWrapImports: true -KeepEmptyLinesAtTheStartOfBlocks: false -MacroBlockBegin: '' -MacroBlockEnd: '' -MaxEmptyLinesToKeep: 1 -NamespaceIndentation: None -ObjCBinPackProtocolList: Never -ObjCBlockIndentWidth: 4 -ObjCSpaceAfterProperty: true + +# If true, analyze the formatted file for the most common alignment of & and *. PointerAlignment is then used only as fallback. +DerivePointerAlignment: false + +# The number of characters to use for indentation of ObjC blocks. +ObjCBlockIndentWidth: 2 + +# Add a space after @property in Objective-C. +# i.e. use \@property (readonly) instead of \@property(readonly). +ObjCSpaceAfterProperty: false + +# Add a space in front of an Objective-C protocol list +# i.e. use Foo instead of Foo. ObjCSpaceBeforeProtocolList: true -PenaltyBreakAssignment: 2 -PenaltyBreakBeforeFirstCallParameter: 1 -PenaltyBreakComment: 300 -PenaltyBreakFirstLessLess: 120 -PenaltyBreakString: 1000 -PenaltyBreakTemplateDeclaration: 10 -PenaltyExcessCharacter: 1000000 -PenaltyReturnTypeOnItsOwnLine: 200 -PointerAlignment: Left -RawStringFormats: - - Language: Cpp - Delimiters: - - cc - - CC - - cpp - - Cpp - - CPP - - 'c++' - - 'C++' - CanonicalDelimiter: '' - BasedOnStyle: google - - Language: TextProto - Delimiters: - - pb - - PB - - proto - - PROTO - EnclosingFunctions: - - EqualsProto - - EquivToProto - - PARSE_PARTIAL_TEXT_PROTO - - PARSE_TEST_PROTO - - PARSE_TEXT_PROTO - - ParseTextOrDie - - ParseTextProtoOrDie - CanonicalDelimiter: '' - BasedOnStyle: google -ReflowComments: true -SortIncludes: true -SortUsingDeclarations: true -SpaceAfterCStyleCast: false -SpaceAfterLogicalNot: false -SpaceAfterTemplateKeyword: true -SpaceBeforeAssignmentOperators: true -SpaceBeforeCpp11BracedList: false -SpaceBeforeCtorInitializerColon: true -SpaceBeforeInheritanceColon: true -SpaceBeforeParens: ControlStatements -SpaceBeforeRangeBasedForLoopColon: true -SpaceInEmptyBlock: false -SpaceInEmptyParentheses: false -SpacesBeforeTrailingComments: 2 -SpacesInAngles: false -SpacesInConditionalStatement: false + +# Pointer and reference alignment style. +# ie. Right means * and & align to the variable, not the type. +# (PointerBindsToType looks like it's been deprecated and replaced by PointerAlignment) +PointerBindsToType: false +PointerAlignment: Right + +# If true, spaces are inserted inside container literals (e.g. ObjC array and dict literals). SpacesInContainerLiterals: true -SpacesInCStyleCastParentheses: false -SpacesInParentheses: false -SpacesInSquareBrackets: false -SpaceBeforeSquareBrackets: false -Standard: Auto -StatementMacros: - - Q_UNUSED - - QT_REQUIRE_VERSION -TabWidth: 4 -UseCRLF: false -UseTab: Never -... + +# The number of columns used for tab stops. +TabWidth: 2 + +# The way to use tab characters in the resulting file. +UseTab: Never \ No newline at end of file From 0bf10ab48f102a7388faa31a613c4417f63c411a Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Mon, 9 Oct 2023 12:09:26 +0300 Subject: [PATCH 03/31] Update `project.yml` --- project.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/project.yml b/project.yml index 91ad6d1..aebbd1f 100644 --- a/project.yml +++ b/project.yml @@ -3,7 +3,7 @@ options: developmentLanguage: en createIntermediateGroups: true deploymentTarget: - macOS: 13.0 + macOS: 11 xcodeVersion: 14.0 settings: base: @@ -35,7 +35,8 @@ targets: settings: base: MARKETING_VERSION: 1.0.0 - CURRENT_PROJECT_VERSION: 1 + CURRENT_PROJECT_VERSION: 1 + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER: NO CaptureKitTests: type: bundle.unit-test platform: macOS @@ -43,6 +44,10 @@ targets: - CaptureKitTests dependencies: - target: CaptureKit + - framework: ThirdParty/OCMock.xcframework + settings: + base: + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER: NO aggregateTargets: OCLint: buildScripts: From dc86d5f302f5efe18dda86a42a47938df8fae202 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Mon, 9 Oct 2023 12:09:40 +0300 Subject: [PATCH 04/31] Implement `NVAudioService` --- CaptureKit/CaptureKit.h | 4 +- .../Classes/Core/CaptureKit/NSCaptureKit.h | 14 - .../Classes/Core/CaptureKit/NSCaptureKit.m | 14 - .../NVMediaDeviceProvider.h | 31 ++ .../NVMediaDeviceProvider.m | 29 ++ .../Protocols/NVIMediaProvider.h | 31 ++ .../Services/AudioService/NVAudioService.h | 37 +++ .../Services/AudioService/NVAudioService.m | 46 +++ CaptureKitTests/CaptureKitTests.m | 14 - CaptureKitTests/NVAudioServiceTests.m | 91 ++++++ CaptureKitTests/NVMediaDeviceProviderTests.m | 46 +++ ThirdParty/OCMock.xcframework/Info.plist | 141 +++++++++ .../NSNotificationCenter+OCMAdditions.h | 27 ++ .../OCMock.framework/Headers/OCMArg.h | 56 ++++ .../OCMock.framework/Headers/OCMConstraint.h | 68 ++++ .../OCMock.framework/Headers/OCMFunctions.h | 26 ++ .../OCMock.framework/Headers/OCMLocation.h | 36 +++ .../OCMock.framework/Headers/OCMMacroState.h | 54 ++++ .../OCMock.framework/Headers/OCMQuantifier.h | 44 +++ .../OCMock.framework/Headers/OCMRecorder.h | 48 +++ .../Headers/OCMStubRecorder.h | 89 ++++++ .../OCMock.framework/Headers/OCMVerifier.h | 29 ++ .../OCMock.framework/Headers/OCMock.h | 28 ++ .../OCMock.framework/Headers/OCMockMacros.h | 115 +++++++ .../OCMock.framework/Headers/OCMockObject.h | 79 +++++ .../ios-arm64/OCMock.framework/Info.plist | Bin 0 -> 931 bytes .../OCMock.framework/Modules/module.modulemap | 7 + .../ios-arm64/OCMock.framework/OCMock | Bin 0 -> 215520 bytes .../_CodeSignature/CodeResources | 256 +++++++++++++++ .../OCMock.framework/Headers | 1 + .../OCMock.framework/Modules | 1 + .../OCMock.framework/OCMock | 1 + .../OCMock.framework/Resources | 1 + .../NSNotificationCenter+OCMAdditions.h | 27 ++ .../Versions/A/Headers/OCMArg.h | 56 ++++ .../Versions/A/Headers/OCMConstraint.h | 68 ++++ .../Versions/A/Headers/OCMFunctions.h | 26 ++ .../Versions/A/Headers/OCMLocation.h | 36 +++ .../Versions/A/Headers/OCMMacroState.h | 54 ++++ .../Versions/A/Headers/OCMQuantifier.h | 44 +++ .../Versions/A/Headers/OCMRecorder.h | 48 +++ .../Versions/A/Headers/OCMStubRecorder.h | 89 ++++++ .../Versions/A/Headers/OCMVerifier.h | 29 ++ .../Versions/A/Headers/OCMock.h | 28 ++ .../Versions/A/Headers/OCMockMacros.h | 115 +++++++ .../Versions/A/Headers/OCMockObject.h | 79 +++++ .../Versions/A/Modules/module.modulemap | 7 + .../OCMock.framework/Versions/A/OCMock | Bin 0 -> 443808 bytes .../Versions/A/Resources/Info.plist | 54 ++++ .../Versions/A/_CodeSignature/CodeResources | 226 +++++++++++++ .../OCMock.framework/Versions/Current | 1 + .../NSNotificationCenter+OCMAdditions.h | 27 ++ .../OCMock.framework/Headers/OCMArg.h | 56 ++++ .../OCMock.framework/Headers/OCMConstraint.h | 68 ++++ .../OCMock.framework/Headers/OCMFunctions.h | 26 ++ .../OCMock.framework/Headers/OCMLocation.h | 36 +++ .../OCMock.framework/Headers/OCMMacroState.h | 54 ++++ .../OCMock.framework/Headers/OCMQuantifier.h | 44 +++ .../OCMock.framework/Headers/OCMRecorder.h | 48 +++ .../Headers/OCMStubRecorder.h | 89 ++++++ .../OCMock.framework/Headers/OCMVerifier.h | 29 ++ .../OCMock.framework/Headers/OCMock.h | 28 ++ .../OCMock.framework/Headers/OCMockMacros.h | 115 +++++++ .../OCMock.framework/Headers/OCMockObject.h | 79 +++++ .../OCMock.framework/Info.plist | Bin 0 -> 911 bytes .../OCMock.framework/Modules/module.modulemap | 7 + .../OCMock.framework/OCMock | Bin 0 -> 395296 bytes .../_CodeSignature/CodeResources | 256 +++++++++++++++ .../OCMock.framework/Headers | 1 + .../OCMock.framework/Modules | 1 + .../OCMock.framework/OCMock | 1 + .../OCMock.framework/Resources | 1 + .../NSNotificationCenter+OCMAdditions.h | 27 ++ .../Versions/A/Headers/OCMArg.h | 56 ++++ .../Versions/A/Headers/OCMConstraint.h | 68 ++++ .../Versions/A/Headers/OCMFunctions.h | 26 ++ .../Versions/A/Headers/OCMLocation.h | 36 +++ .../Versions/A/Headers/OCMMacroState.h | 54 ++++ .../Versions/A/Headers/OCMQuantifier.h | 44 +++ .../Versions/A/Headers/OCMRecorder.h | 48 +++ .../Versions/A/Headers/OCMStubRecorder.h | 89 ++++++ .../Versions/A/Headers/OCMVerifier.h | 29 ++ .../Versions/A/Headers/OCMock.h | 28 ++ .../Versions/A/Headers/OCMockMacros.h | 115 +++++++ .../Versions/A/Headers/OCMockObject.h | 79 +++++ .../Versions/A/Modules/module.modulemap | 7 + .../OCMock.framework/Versions/A/OCMock | Bin 0 -> 412224 bytes .../Versions/A/Resources/Info.plist | 50 +++ .../Versions/A/_CodeSignature/CodeResources | 226 +++++++++++++ .../OCMock.framework/Versions/Current | 1 + .../NSNotificationCenter+OCMAdditions.h | 27 ++ .../OCMock.framework/Headers/OCMArg.h | 56 ++++ .../OCMock.framework/Headers/OCMConstraint.h | 68 ++++ .../OCMock.framework/Headers/OCMFunctions.h | 26 ++ .../OCMock.framework/Headers/OCMLocation.h | 36 +++ .../OCMock.framework/Headers/OCMMacroState.h | 54 ++++ .../OCMock.framework/Headers/OCMQuantifier.h | 44 +++ .../OCMock.framework/Headers/OCMRecorder.h | 48 +++ .../Headers/OCMStubRecorder.h | 89 ++++++ .../OCMock.framework/Headers/OCMVerifier.h | 29 ++ .../OCMock.framework/Headers/OCMock.h | 28 ++ .../OCMock.framework/Headers/OCMockMacros.h | 115 +++++++ .../OCMock.framework/Headers/OCMockObject.h | 79 +++++ .../tvos-arm64/OCMock.framework/Info.plist | Bin 0 -> 882 bytes .../OCMock.framework/Modules/module.modulemap | 7 + .../tvos-arm64/OCMock.framework/OCMock | Bin 0 -> 215648 bytes .../_CodeSignature/CodeResources | 256 +++++++++++++++ .../NSNotificationCenter+OCMAdditions.h | 27 ++ .../OCMock.framework/Headers/OCMArg.h | 56 ++++ .../OCMock.framework/Headers/OCMConstraint.h | 68 ++++ .../OCMock.framework/Headers/OCMFunctions.h | 26 ++ .../OCMock.framework/Headers/OCMLocation.h | 36 +++ .../OCMock.framework/Headers/OCMMacroState.h | 54 ++++ .../OCMock.framework/Headers/OCMQuantifier.h | 44 +++ .../OCMock.framework/Headers/OCMRecorder.h | 48 +++ .../Headers/OCMStubRecorder.h | 89 ++++++ .../OCMock.framework/Headers/OCMVerifier.h | 29 ++ .../OCMock.framework/Headers/OCMock.h | 28 ++ .../OCMock.framework/Headers/OCMockMacros.h | 115 +++++++ .../OCMock.framework/Headers/OCMockObject.h | 79 +++++ .../OCMock.framework/Info.plist | Bin 0 -> 909 bytes .../OCMock.framework/Modules/module.modulemap | 7 + .../OCMock.framework/OCMock | Bin 0 -> 427216 bytes .../_CodeSignature/CodeResources | 256 +++++++++++++++ .../NSNotificationCenter+OCMAdditions.h | 27 ++ .../OCMock.framework/Headers/OCMArg.h | 56 ++++ .../OCMock.framework/Headers/OCMConstraint.h | 68 ++++ .../OCMock.framework/Headers/OCMFunctions.h | 26 ++ .../OCMock.framework/Headers/OCMLocation.h | 36 +++ .../OCMock.framework/Headers/OCMMacroState.h | 54 ++++ .../OCMock.framework/Headers/OCMQuantifier.h | 44 +++ .../OCMock.framework/Headers/OCMRecorder.h | 48 +++ .../Headers/OCMStubRecorder.h | 89 ++++++ .../OCMock.framework/Headers/OCMock.h | 28 ++ .../OCMock.framework/Headers/OCMockMacros.h | 115 +++++++ .../OCMock.framework/Headers/OCMockObject.h | 79 +++++ .../OCMock.framework/Info.plist | Bin 0 -> 875 bytes .../OCMock.framework/Modules/module.modulemap | 7 + .../OCMock.framework/OCMock | Bin 0 -> 591360 bytes .../_CodeSignature/CodeResources | 297 ++++++++++++++++++ .../NSNotificationCenter+OCMAdditions.h | 27 ++ .../OCMock.framework/Headers/OCMArg.h | 56 ++++ .../OCMock.framework/Headers/OCMConstraint.h | 68 ++++ .../OCMock.framework/Headers/OCMFunctions.h | 26 ++ .../OCMock.framework/Headers/OCMLocation.h | 36 +++ .../OCMock.framework/Headers/OCMMacroState.h | 54 ++++ .../OCMock.framework/Headers/OCMQuantifier.h | 44 +++ .../OCMock.framework/Headers/OCMRecorder.h | 48 +++ .../Headers/OCMStubRecorder.h | 89 ++++++ .../OCMock.framework/Headers/OCMock.h | 28 ++ .../OCMock.framework/Headers/OCMockMacros.h | 115 +++++++ .../OCMock.framework/Headers/OCMockObject.h | 79 +++++ .../OCMock.framework/Info.plist | Bin 0 -> 898 bytes .../OCMock.framework/Modules/module.modulemap | 7 + .../OCMock.framework/OCMock | Bin 0 -> 592048 bytes .../_CodeSignature/CodeResources | 297 ++++++++++++++++++ 156 files changed, 8228 insertions(+), 44 deletions(-) delete mode 100644 CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.h delete mode 100644 CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.m create mode 100644 CaptureKit/Classes/Core/Provider/MediaDeviceProvider/NVMediaDeviceProvider.h create mode 100644 CaptureKit/Classes/Core/Provider/MediaDeviceProvider/NVMediaDeviceProvider.m create mode 100644 CaptureKit/Classes/Core/Provider/MediaDeviceProvider/Protocols/NVIMediaProvider.h create mode 100644 CaptureKit/Classes/Core/Services/AudioService/NVAudioService.h create mode 100644 CaptureKit/Classes/Core/Services/AudioService/NVAudioService.m delete mode 100644 CaptureKitTests/CaptureKitTests.m create mode 100644 CaptureKitTests/NVAudioServiceTests.m create mode 100644 CaptureKitTests/NVMediaDeviceProviderTests.m create mode 100644 ThirdParty/OCMock.xcframework/Info.plist create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMArg.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMConstraint.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMFunctions.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMLocation.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMMacroState.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMQuantifier.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMRecorder.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMStubRecorder.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMVerifier.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMock.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMockMacros.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMockObject.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Info.plist create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Modules/module.modulemap create mode 100755 ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/OCMock create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/_CodeSignature/CodeResources create mode 120000 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Headers create mode 120000 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Modules create mode 120000 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/OCMock create mode 120000 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Resources create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/NSNotificationCenter+OCMAdditions.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMArg.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMConstraint.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMFunctions.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMLocation.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMMacroState.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMQuantifier.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMRecorder.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMStubRecorder.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMVerifier.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMock.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMockMacros.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMockObject.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Modules/module.modulemap create mode 100755 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/OCMock create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Resources/Info.plist create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/_CodeSignature/CodeResources create mode 120000 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/Current create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMArg.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMVerifier.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMock.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Info.plist create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Modules/module.modulemap create mode 100755 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/OCMock create mode 100644 ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/_CodeSignature/CodeResources create mode 120000 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Headers create mode 120000 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Modules create mode 120000 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/OCMock create mode 120000 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Resources create mode 100644 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/NSNotificationCenter+OCMAdditions.h create mode 100644 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMArg.h create mode 100644 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMConstraint.h create mode 100644 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMFunctions.h create mode 100644 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMLocation.h create mode 100644 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMMacroState.h create mode 100644 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMQuantifier.h create mode 100644 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMRecorder.h create mode 100644 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMStubRecorder.h create mode 100644 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMVerifier.h create mode 100644 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMock.h create mode 100644 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMockMacros.h create mode 100644 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMockObject.h create mode 100644 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Modules/module.modulemap create mode 100755 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/OCMock create mode 100644 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Resources/Info.plist create mode 100644 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/_CodeSignature/CodeResources create mode 120000 ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/Current create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMArg.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMConstraint.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMFunctions.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMLocation.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMMacroState.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMQuantifier.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMRecorder.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMStubRecorder.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMVerifier.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMock.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMockMacros.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMockObject.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Info.plist create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Modules/module.modulemap create mode 100755 ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/OCMock create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/_CodeSignature/CodeResources create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMArg.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMVerifier.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMock.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Info.plist create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Modules/module.modulemap create mode 100755 ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/OCMock create mode 100644 ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/_CodeSignature/CodeResources create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMArg.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMConstraint.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMFunctions.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMLocation.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMMacroState.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMQuantifier.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMRecorder.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMStubRecorder.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMock.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMockMacros.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMockObject.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Info.plist create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Modules/module.modulemap create mode 100755 ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/OCMock create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/_CodeSignature/CodeResources create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMArg.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMock.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Info.plist create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Modules/module.modulemap create mode 100755 ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/OCMock create mode 100644 ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/_CodeSignature/CodeResources diff --git a/CaptureKit/CaptureKit.h b/CaptureKit/CaptureKit.h index f289baf..82d9af1 100644 --- a/CaptureKit/CaptureKit.h +++ b/CaptureKit/CaptureKit.h @@ -13,5 +13,5 @@ FOUNDATION_EXPORT double CaptureKitVersionNumber; //! Project version string for CaptureKit. FOUNDATION_EXPORT const unsigned char CaptureKitVersionString[]; -// In this header, you should import all the public headers of your framework using statements like #import -// +// In this header, you should import all the public headers of your framework using statements like +// #import diff --git a/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.h b/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.h deleted file mode 100644 index 59d22ac..0000000 --- a/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.h +++ /dev/null @@ -1,14 +0,0 @@ -// -// CaptureKit -// Copyright © 2023 Space Code. All rights reserved. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface NSCaptureKit : NSObject - -@end - -NS_ASSUME_NONNULL_END diff --git a/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.m b/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.m deleted file mode 100644 index 10f04f1..0000000 --- a/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.m +++ /dev/null @@ -1,14 +0,0 @@ -// -// CaptureKit -// Copyright © 2023 Space Code. All rights reserved. -// - -#import "NSCaptureKit.h" - -@implementation NSCaptureKit - -- (NSString *)getValueForKey:(NSString *)k { - return nil; -} - -@end diff --git a/CaptureKit/Classes/Core/Provider/MediaDeviceProvider/NVMediaDeviceProvider.h b/CaptureKit/Classes/Core/Provider/MediaDeviceProvider/NVMediaDeviceProvider.h new file mode 100644 index 0000000..ef6f32d --- /dev/null +++ b/CaptureKit/Classes/Core/Provider/MediaDeviceProvider/NVMediaDeviceProvider.h @@ -0,0 +1,31 @@ +// +// CaptureKit +// Copyright © 2023 Space Code. All rights reserved. +// + +#import +#import + +#import "NVIMediaProvider.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface NVMediaDeviceProvider : NSObject + +/// Creates a new instance of `NVMediaDeviceProvider`. +/// +/// @param device The AVCaptureDevice instances representing the available media device of the +/// specified type. +- (id)initWithCaptureDevice:(AVCaptureDevice *)device; + +/// Retrieves an array of media devices of the specified media type. +/// +/// @param type The media type for which you want to retrieve devices. Use constants like +/// `AVMediaTypeAudio` or `AVMediaTypeVideo` to specify the type. +/// @return An array of AVCaptureDevice instances representing the available media devices of the +/// specified type. +- (NSArray *)devicesWithMediaType:(AVMediaType)type; + +@end + +NS_ASSUME_NONNULL_END diff --git a/CaptureKit/Classes/Core/Provider/MediaDeviceProvider/NVMediaDeviceProvider.m b/CaptureKit/Classes/Core/Provider/MediaDeviceProvider/NVMediaDeviceProvider.m new file mode 100644 index 0000000..9705ee2 --- /dev/null +++ b/CaptureKit/Classes/Core/Provider/MediaDeviceProvider/NVMediaDeviceProvider.m @@ -0,0 +1,29 @@ +// +// CaptureKit +// Copyright © 2023 Space Code. All rights reserved. +// + +#import "NVMediaDeviceProvider.h" + +#import "NVIMediaProvider.h" + +@interface NVMediaDeviceProvider () + +@property(nonatomic, strong) AVCaptureDevice *captureDevice; + +@end + +@implementation NVMediaDeviceProvider + +- (id)initWithCaptureDevice:(AVCaptureDevice *)device { + if (self = [super init]) { + self.captureDevice = device; + } + return self; +} + +- (NSArray *)devicesWithMediaType:(AVMediaType)type { + return [AVCaptureDevice devicesWithMediaType:type]; +} + +@end diff --git a/CaptureKit/Classes/Core/Provider/MediaDeviceProvider/Protocols/NVIMediaProvider.h b/CaptureKit/Classes/Core/Provider/MediaDeviceProvider/Protocols/NVIMediaProvider.h new file mode 100644 index 0000000..2d6e0d4 --- /dev/null +++ b/CaptureKit/Classes/Core/Provider/MediaDeviceProvider/Protocols/NVIMediaProvider.h @@ -0,0 +1,31 @@ +// +// CaptureKit +// Copyright © 2023 Space Code. All rights reserved. +// + +#ifndef NVIMediaProvider_h +#define NVIMediaProvider_h + +#import + +/// The `NVIMediaProvider` protocol defines methods for retrieving media-related information and +/// devices. +/// +/// The conforming classes should implement the methods defined in this protocol to provide access +/// to media devices and related functionalities. +/// +/// @note This protocol assumes that the conforming classes will provide non-null values for the +/// return type and that the `type` parameter should be valid. +@protocol NVIMediaProvider + +/// Retrieves an array of media devices of the specified media type. +/// +/// @param type The media type for which you want to retrieve devices. Use constants like +/// `AVMediaTypeAudio` or `AVMediaTypeVideo` to specify the type. +/// @return An array of AVCaptureDevice instances representing the available media devices of the +/// specified type. +- (NSArray *)devicesWithMediaType:(AVMediaType)type; + +@end + +#endif /* NVIMediaProvider_h */ diff --git a/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.h b/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.h new file mode 100644 index 0000000..8160e61 --- /dev/null +++ b/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.h @@ -0,0 +1,37 @@ +// +// CaptureKit +// Copyright © 2023 Space Code. All rights reserved. +// + +#import +#import + +#import "NVIMediaProvider.h" + +NS_ASSUME_NONNULL_BEGIN + +/// NVAudioService is a class responsible for managing audio devices and their connections. +@interface NVAudioService : NSObject + +/// Initializes an instance of NVAudioService with a media device provider. +/// +/// @param mediaDeviceProvider An object conforming to the NVIMediaProvider protocol that provides +/// media-related functionality. +/// @return An initialized NVAudioService instance. +- (id)initWithMediaDeviceProvider:(id)mediaDeviceProvider; + +/// Retrieves the unique identifiers of audio devices associated with the provided devices. +/// +/// @param devices An array of devices for which you want to retrieve audio device identifiers. +/// @return An array of unique identifiers (NSString) of audio devices. +- (NSArray *)getAudioDevicesIDs:(NSArray *)devices; + +/// Checks if an audio device with the specified unique identifier is currently connected. +/// +/// @param uniqueID The unique identifier (NSString) of the audio device to check. +/// @return YES if the audio device is connected, NO otherwise. +- (BOOL)isAudioDeviceConnected:(NSString *)uniqueID; + +@end + +NS_ASSUME_NONNULL_END diff --git a/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.m b/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.m new file mode 100644 index 0000000..40f09a3 --- /dev/null +++ b/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.m @@ -0,0 +1,46 @@ +// +// CaptureKit +// Copyright © 2023 Space Code. All rights reserved. +// + +#import "NVAudioService.h" + +@interface NVAudioService () + +@property(nonatomic, strong) id mediaDeviceProvider; + +@end + +@implementation NVAudioService + +- (id)initWithMediaDeviceProvider:(id)mediaDeviceProvider { + if (self = [super init]) { + self.mediaDeviceProvider = mediaDeviceProvider; + } + return self; +} + +- (NSArray *)getAudioDevicesIDs:(NSArray *)devices { + if (devices == nil || devices.count == 0) { + return nil; + } + + NSInteger numberOfDevices = devices.count; + NSMutableArray *devicesIDs = [[NSMutableArray alloc] init]; + + for (int i = 0; i < numberOfDevices; ++i) { + devicesIDs[i] = devices[i].uniqueID; + } + + return devicesIDs; +} + +- (BOOL)isAudioDeviceConnected:(NSString *)uniqueID { + NSArray *audioDevices = + [self.mediaDeviceProvider devicesWithMediaType:AVMediaTypeAudio]; + NSArray *devicesIDs = [self getAudioDevicesIDs:audioDevices]; + + return [devicesIDs containsObject:uniqueID]; +} + +@end diff --git a/CaptureKitTests/CaptureKitTests.m b/CaptureKitTests/CaptureKitTests.m deleted file mode 100644 index 338666d..0000000 --- a/CaptureKitTests/CaptureKitTests.m +++ /dev/null @@ -1,14 +0,0 @@ -// -// CaptureKitTests -// Copyright © 2023 Space Code. All rights reserved. -// - -#import - -@interface CaptureKitTests : XCTestCase - -@end - -@implementation CaptureKitTests - -@end diff --git a/CaptureKitTests/NVAudioServiceTests.m b/CaptureKitTests/NVAudioServiceTests.m new file mode 100644 index 0000000..f02c08d --- /dev/null +++ b/CaptureKitTests/NVAudioServiceTests.m @@ -0,0 +1,91 @@ +// +// CaptureKitTests +// Copyright © 2023 Space Code. All rights reserved. +// + +#import +#import + +#import "NVAudioService.h" + +static NSString *const kDeviceID = @"device-id"; + +@interface NVAudioServiceTests : XCTestCase + +@property(nonatomic, readwrite, strong) id mediaProvider; +@property(nonatomic, readwrite, strong) NVAudioService *audioService; + +@end + +@implementation NVAudioServiceTests + +- (void)setUp { + [super setUp]; + _mediaProvider = OCMProtocolMock(@protocol(NVIMediaProvider)); + _audioService = [[NVAudioService alloc] initWithMediaDeviceProvider:_mediaProvider]; +} + +- (void)tearDown { + [_mediaProvider stopMocking]; + _audioService = nil; + [super tearDown]; +} + +- (void)testThatAudioServiceReturnsNilWhenAudioDeviceAreNil { + // when + NSArray *IDs = [_audioService getAudioDevicesIDs:nil]; + + // then + XCTAssertNil(IDs); +} + +- (void)testThatAudioServiceReturnsNilWhenAudioDeviceArrayIsEmpty { + // when + NSArray *IDs = [_audioService getAudioDevicesIDs:[[NSArray alloc] init]]; + + // then + XCTAssertNil(IDs); +} + +- (void)testThatAudioServiceReturnsAudioDeviceIDsWhenAudioDeviceArrayIsNotEmpty { + // given + id device = OCMClassMock([AVCaptureDevice class]); + NSArray *array = [[NSMutableArray alloc] initWithObjects:device, nil]; + + OCMStub([(AVCaptureDevice *)device uniqueID]).andReturn(kDeviceID); + + // when + NSArray *IDs = [_audioService getAudioDevicesIDs:array]; + + // then + XCTAssertEqual([IDs count], 1); + XCTAssertEqual([IDs firstObject], kDeviceID); +} + +- (void)testThatAudioDeviceIsNotConnectedWhenAudioDeviceDoesNotExist { + // given + OCMStub([self.mediaProvider devicesWithMediaType:[OCMArg any]]).andReturn(nil); + + // when + BOOL isConnected = [self.audioService isAudioDeviceConnected:kDeviceID]; + + // then + XCTAssertFalse(isConnected); +} + +- (void)testThatAudioDeviceIsConnectedWhenAudioDeviceExists { + // given + id device = OCMClassMock([AVCaptureDevice class]); + NSArray *array = [[NSMutableArray alloc] initWithObjects:device, nil]; + + OCMStub([self.mediaProvider devicesWithMediaType:[OCMArg any]]).andReturn(array); + OCMStub([(AVCaptureDevice *)device uniqueID]).andReturn(kDeviceID); + + // when + BOOL isConnected = [self.audioService isAudioDeviceConnected:kDeviceID]; + + // then + XCTAssertTrue(isConnected); +} + +@end diff --git a/CaptureKitTests/NVMediaDeviceProviderTests.m b/CaptureKitTests/NVMediaDeviceProviderTests.m new file mode 100644 index 0000000..1134ece --- /dev/null +++ b/CaptureKitTests/NVMediaDeviceProviderTests.m @@ -0,0 +1,46 @@ +// +// CaptureKitTests +// Copyright © 2023 Space Code. All rights reserved. +// + +#import +#import +#import + +#import "NVMediaDeviceProvider.h" + +@interface NVMediaDeviceProviderTests : XCTestCase + +@property(nonatomic, strong) id captureDevice; +@property(nonatomic, strong) NVMediaDeviceProvider *deviceProvider; + +@end + +@implementation NVMediaDeviceProviderTests + +- (void)setUp { + [super setUp]; + _captureDevice = OCMClassMock([AVCaptureDevice class]); + _deviceProvider = [[NVMediaDeviceProvider alloc] initWithCaptureDevice:_captureDevice]; +} + +- (void)tearDown { + _deviceProvider = nil; + [_captureDevice stopMocking]; + [super tearDown]; +} + +- (void)testThatMediaDeviceProviderProvidesDevicesWithGivenMediaType { + // given + id classMock = OCMClassMock([AVCaptureDevice class]); + NSArray *devices = [[NSArray alloc] initWithObjects:_captureDevice, nil]; + OCMStub(ClassMethod([classMock devicesWithMediaType:[OCMArg any]])).andReturn(devices); + + // when + NSArray *result = [_deviceProvider devicesWithMediaType:AVMediaTypeAudio]; + + // then + XCTAssertEqual(devices, result); +} + +@end diff --git a/ThirdParty/OCMock.xcframework/Info.plist b/ThirdParty/OCMock.xcframework/Info.plist new file mode 100644 index 0000000..e58df1a --- /dev/null +++ b/ThirdParty/OCMock.xcframework/Info.plist @@ -0,0 +1,141 @@ + + + + + AvailableLibraries + + + BinaryPath + OCMock.framework/OCMock + LibraryIdentifier + tvos-arm64_x86_64-simulator + LibraryPath + OCMock.framework + SupportedArchitectures + + arm64 + x86_64 + + SupportedPlatform + tvos + SupportedPlatformVariant + simulator + + + BinaryPath + OCMock.framework/OCMock + LibraryIdentifier + ios-arm64 + LibraryPath + OCMock.framework + SupportedArchitectures + + arm64 + + SupportedPlatform + ios + + + BinaryPath + OCMock.framework/OCMock + LibraryIdentifier + watchos-arm64_i386_x86_64-simulator + LibraryPath + OCMock.framework + SupportedArchitectures + + arm64 + i386 + x86_64 + + SupportedPlatform + watchos + SupportedPlatformVariant + simulator + + + BinaryPath + OCMock.framework/OCMock + LibraryIdentifier + watchos-arm64_arm64_32_armv7k + LibraryPath + OCMock.framework + SupportedArchitectures + + arm64 + arm64_32 + armv7k + + SupportedPlatform + watchos + + + BinaryPath + OCMock.framework/OCMock + LibraryIdentifier + ios-arm64_x86_64-simulator + LibraryPath + OCMock.framework + SupportedArchitectures + + arm64 + x86_64 + + SupportedPlatform + ios + SupportedPlatformVariant + simulator + + + BinaryPath + OCMock.framework/Versions/A/OCMock + LibraryIdentifier + ios-arm64_x86_64-maccatalyst + LibraryPath + OCMock.framework + SupportedArchitectures + + arm64 + x86_64 + + SupportedPlatform + ios + SupportedPlatformVariant + maccatalyst + + + BinaryPath + OCMock.framework/Versions/A/OCMock + LibraryIdentifier + macos-arm64_x86_64 + LibraryPath + OCMock.framework + SupportedArchitectures + + arm64 + x86_64 + + SupportedPlatform + macos + + + BinaryPath + OCMock.framework/OCMock + LibraryIdentifier + tvos-arm64 + LibraryPath + OCMock.framework + SupportedArchitectures + + arm64 + + SupportedPlatform + tvos + + + CFBundlePackageType + XFWK + XCFrameworkFormatVersion + 1.0 + + diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h new file mode 100644 index 0000000..b25eeef --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2009-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCObserverMockObject; + +@interface NSNotificationCenter (OCMAdditions) + +- (void)addMockObserver:(OCObserverMockObject *)notificationObserver + name:(NSString *)notificationName + object:(id)notificationSender; + +@end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMArg.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMArg.h new file mode 100644 index 0000000..5cbbd4f --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMArg.h @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2009-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMArg : NSObject + +// constraining arguments + ++ (id)any; ++ (SEL)anySelector; ++ (void *)anyPointer; ++ (id __autoreleasing *)anyObjectRef; ++ (id)isNil; ++ (id)isNotNil; ++ (id)isEqual:(id)value; ++ (id)isNotEqual:(id)value; ++ (id)isKindOfClass:(Class)cls; ++ (id)checkWithSelector:(SEL)selector onObject:(id)anObject; ++ (id)checkWithBlock:(BOOL (^)(id obj))block; + +// manipulating arguments + ++ (id *)setTo:(id)value; ++ (void *)setToValue:(NSValue *)value; ++ (id)invokeBlock; ++ (id)invokeBlockWithArgs:(id)first, ... NS_REQUIRES_NIL_TERMINATION; + ++ (id)defaultValue; + +// internal use only + ++ (id)resolveSpecialValues:(NSValue *)value; + +@end + +#define OCMOCK_ANY [OCMArg any] + +#define OCMOCK_VALUE(variable) \ + ({ \ + __typeof__(variable) __v = (variable); \ + [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; \ + }) diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMConstraint.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMConstraint.h new file mode 100644 index 0000000..d5c5f96 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMConstraint.h @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2007-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMConstraint : NSObject + ++ (instancetype)constraint; +- (BOOL)evaluate:(id)value; + +// if you are looking for any, isNil, etc, they have moved to OCMArg + +// try to use [OCMArg checkWith...] instead of the constraintWith... methods below + ++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; ++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue; + +@end + +@interface OCMAnyConstraint : OCMConstraint +@end + +@interface OCMIsNilConstraint : OCMConstraint +@end + +@interface OCMIsNotNilConstraint : OCMConstraint +@end + +@interface OCMIsNotEqualConstraint : OCMConstraint { + @public + id testValue; +} + +@end + +@interface OCMInvocationConstraint : OCMConstraint { + @public + NSInvocation *invocation; +} + +@end + +@interface OCMBlockConstraint : OCMConstraint { + BOOL (^block)(id); +} + +- (instancetype)initWithConstraintBlock:(BOOL (^)(id))block; + +@end + +#ifndef OCM_DISABLE_SHORT_SYNTAX +#define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] +#define CONSTRAINTV(aSelector, aValue) \ + [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] +#endif diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMFunctions.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMFunctions.h new file mode 100644 index 0000000..1119402 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMFunctions.h @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +#if defined(__cplusplus) +#define OCMOCK_EXTERN extern "C" +#else +#define OCMOCK_EXTERN extern +#endif + +OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); +OCMOCK_EXTERN BOOL OCMIsSubclassOfMockClass(Class cls); diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMLocation.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMLocation.h new file mode 100644 index 0000000..fd64f42 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMLocation.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import + +@interface OCMLocation : NSObject { + id testCase; + NSString *file; + NSUInteger line; +} + ++ (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; + +- (instancetype)initWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; + +- (id)testCase; +- (NSString *)file; +- (NSUInteger)line; + +@end + +OCMOCK_EXTERN OCMLocation *OCMMakeLocation(id testCase, const char *file, int line); diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMMacroState.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMMacroState.h new file mode 100644 index 0000000..8d92be2 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMMacroState.h @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; +@class OCMRecorder; +@class OCMStubRecorder; +@class OCMockObject; + +@interface OCMMacroState : NSObject { + OCMRecorder *recorder; + BOOL invocationDidThrow; +} + ++ (void)beginStubMacro; ++ (OCMStubRecorder *)endStubMacro; + ++ (void)beginExpectMacro; ++ (OCMStubRecorder *)endExpectMacro; + ++ (void)beginRejectMacro; ++ (OCMStubRecorder *)endRejectMacro; + ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation + withQuantifier:(OCMQuantifier *)quantifier; ++ (void)endVerifyMacro; + ++ (OCMMacroState *)globalState; + +- (void)setRecorder:(OCMRecorder *)aRecorder; +- (OCMRecorder *)recorder; + +- (void)switchToClassMethod; + +- (void)setInvocationDidThrow:(BOOL)flag; +- (BOOL)invocationDidThrow; + +@end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMQuantifier.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMQuantifier.h new file mode 100644 index 0000000..31d1847 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMQuantifier.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2016-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMQuantifier : NSObject { + NSUInteger expectedCount; +} + ++ (instancetype)never; ++ (instancetype)exactly:(NSUInteger)count; ++ (instancetype)atLeast:(NSUInteger)count; ++ (instancetype)atMost:(NSUInteger)count; + +- (BOOL)isValidCount:(NSUInteger)count; + +- (NSString *)description; + +@end + +#define OCMNever() ([OCMQuantifier never]) +#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) +#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) +#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) + +#ifndef OCM_DISABLE_SHORT_QSYNTAX +#define never() OCMNever() +#define times(n) OCMTimes(n) +#define atLeast(n) OCMAtLeast(n) +#define atMost(n) OCMAtMost(n) +#endif diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMRecorder.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMRecorder.h new file mode 100644 index 0000000..6b68343 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMRecorder.h @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMockObject; +@class OCMInvocationMatcher; + +@interface OCMRecorder : NSProxy { + OCMockObject *mockObject; + OCMInvocationMatcher *invocationMatcher; + BOOL didRecordInvocation; + BOOL shouldReturnMockFromInit; +} + +- (instancetype)init; +- (instancetype)initWithMockObject:(OCMockObject *)aMockObject; + +- (void)setMockObject:(OCMockObject *)aMockObject; +- (void)setShouldReturnMockFromInit:(BOOL)flag; + +- (OCMInvocationMatcher *)invocationMatcher; +- (BOOL)didRecordInvocation; + +- (id)classMethod; +- (id)ignoringNonObjectArgs; + +@end + +@interface OCMRecorder (Properties) + +#define ignoringNonObjectArgs() _ignoringNonObjectArgs() +@property(nonatomic, readonly) OCMRecorder * (^_ignoringNonObjectArgs)(void); + +@end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMStubRecorder.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMStubRecorder.h new file mode 100644 index 0000000..cd1772e --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMStubRecorder.h @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import +#import + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +@class XCTestExpectation; +#endif + +@interface OCMStubRecorder : OCMRecorder + +- (id)andReturn:(id)anObject; +- (id)andReturnValue:(NSValue *)aValue; +- (id)andThrow:(NSException *)anException; +- (id)andPost:(NSNotification *)aNotification; +- (id)andCall:(SEL)selector onObject:(id)anObject; +- (id)andDo:(void (^)(NSInvocation *invocation))block; +- (id)andForwardToRealObject; + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +- (id)andFulfill:(XCTestExpectation *)expectation; +#endif + +@end + +@interface OCMStubRecorder (Properties) + +#define andReturn(aValue) \ + _andReturn(({ \ + __typeof__(aValue) _val = (aValue); \ + NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ + if (OCMIsObjectType(@encode(__typeof(_val)))) { \ + objc_setAssociatedObject(_nsval, \ + "OCMAssociatedBoxedValue", \ + *(__unsafe_unretained id *)(void *)&_val, \ + OBJC_ASSOCIATION_RETAIN); \ + } \ + _nsval; \ + })) +@property(nonatomic, readonly) OCMStubRecorder * (^_andReturn)(NSValue *); + +#define andThrow(anException) _andThrow(anException) +@property(nonatomic, readonly) OCMStubRecorder * (^_andThrow)(NSException *); + +#define andPost(aNotification) _andPost(aNotification) +@property(nonatomic, readonly) OCMStubRecorder * (^_andPost)(NSNotification *); + +#define andCall(anObject, aSelector) _andCall(anObject, aSelector) +@property(nonatomic, readonly) OCMStubRecorder * (^_andCall)(id, SEL); + +#define andDo(aBlock) _andDo(aBlock) +@property(nonatomic, readonly) OCMStubRecorder * (^_andDo)(void (^)(NSInvocation *)); + +#define andForwardToRealObject() _andForwardToRealObject() +@property(nonatomic, readonly) OCMStubRecorder * (^_andForwardToRealObject)(void); + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +#define andFulfill(anExpectation) _andFulfill(anExpectation) +@property(nonatomic, readonly) OCMStubRecorder * (^_andFulfill)(XCTestExpectation *); +#endif + +@property(nonatomic, readonly) OCMStubRecorder * (^_ignoringNonObjectArgs)(void); + +#define andBreak() \ + _andDo(^(NSInvocation * _invocation) { \ + __builtin_debugtrap(); \ + }) + +#define andLog(_format, ...) \ + _andDo(^(NSInvocation * _invocation) { \ + NSLog(_format, ##__VA_ARGS__); \ + }) + +@end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMVerifier.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMVerifier.h new file mode 100644 index 0000000..217acdb --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMVerifier.h @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; + +@interface OCMVerifier : OCMRecorder + +@property(strong) OCMLocation *location; +@property(strong) OCMQuantifier *quantifier; + +- (id)withQuantifier:(OCMQuantifier *)quantifier; + +@end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMock.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMock.h new file mode 100644 index 0000000..b1b3e14 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMock.h @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMockMacros.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMockMacros.h new file mode 100644 index 0000000..6de97b2 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMockMacros.h @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#ifdef OCM_DISABLE_SHORT_SYNTAX +#define OCM_DISABLE_SHORT_QSYNTAX +#endif + +#define OCMClassMock(cls) [OCMockObject niceMockForClass:cls] + +#define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls] + +#define OCMProtocolMock(protocol) [OCMockObject niceMockForProtocol:protocol] + +#define OCMStrictProtocolMock(protocol) [OCMockObject mockForProtocol:protocol] + +#define OCMPartialMock(obj) [OCMockObject partialMockForObject:obj] + +#define OCMObserverMock() [OCMockObject observerMock] + +#define OCMStub(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginStubMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endStubMacro]; } recorder;); \ + }) + +#define OCMExpect(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginExpectMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endExpectMacro]; } recorder;); \ + }) + +#define OCMReject(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginRejectMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endRejectMacro]; } recorder;); \ + }) + +#define OCMClassMethod(invocation) \ + _OCMSilenceWarnings([[OCMMacroState globalState] switchToClassMethod]; invocation;); + +#ifndef OCM_DISABLE_SHORT_SYNTAX +#define ClassMethod(invocation) OCMClassMethod(invocation) +#endif + +#define OCMVerifyAll(mock) \ + [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define OCMVerifyAllWithDelay(mock, delay) \ + [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define _OCMVerify(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { [OCMMacroState endVerifyMacro]; }); \ + }) + +#define _OCMVerifyWithQuantifier(quantifier, invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) \ + withQuantifier:quantifier]; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { [OCMMacroState endVerifyMacro]; }); \ + }) + +// explanation for macros below here: +// https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros + +#define _OCMVerify_1(A) _OCMVerify(A) +#define _OCMVerify_2(A, B) _OCMVerifyWithQuantifier(A, B) +#define _OCMVerify_X(x, A, B, FUNC, ...) FUNC +#define OCMVerify(...) \ + _OCMVerify_X(, ##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) + +#define _OCMSilenceWarnings(macro) \ + ({_Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ + _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ + _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ + macro _Pragma("clang diagnostic pop")}) diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMockObject.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMockObject.h new file mode 100644 index 0000000..b7f2304 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMockObject.h @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; +@class OCMInvocationStub; +@class OCMStubRecorder; +@class OCMInvocationMatcher; +@class OCMInvocationExpectation; + +@interface OCMockObject : NSProxy { + BOOL isNice; + BOOL expectationOrderMatters; + NSMutableArray *stubs; + NSMutableArray *expectations; + NSMutableArray *exceptions; + NSMutableArray *invocations; +} + ++ (id)mockForClass:(Class)aClass; ++ (id)mockForProtocol:(Protocol *)aProtocol; ++ (id)partialMockForObject:(NSObject *)anObject; + ++ (id)niceMockForClass:(Class)aClass; ++ (id)niceMockForProtocol:(Protocol *)aProtocol; + ++ (id)observerMock __deprecated_msg("Please use XCTNSNotificationExpectation instead."); + +- (instancetype)init; + +- (void)setExpectationOrderMatters:(BOOL)flag; + +- (id)stub; +- (id)expect; +- (id)reject; + +- (id)verify; +- (id)verifyAtLocation:(OCMLocation *)location; + +- (void)verifyWithDelay:(NSTimeInterval)delay; +- (void)verifyWithDelay:(NSTimeInterval)delay atLocation:(OCMLocation *)location; + +- (void)stopMocking; + +// internal use only + +- (void)addStub:(OCMInvocationStub *)aStub; +- (void)addExpectation:(OCMInvocationExpectation *)anExpectation; +- (void)addInvocation:(NSInvocation *)anInvocation; + +- (BOOL)handleInvocation:(NSInvocation *)anInvocation; +- (void)handleUnRecordedInvocation:(NSInvocation *)anInvocation; +- (BOOL)handleSelector:(SEL)sel; + +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher + withQuantifier:(OCMQuantifier *)quantifier + atLocation:(OCMLocation *)location; +- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher + quantifier:(OCMQuantifier *)quantifier + invocationCount:(NSUInteger)count; + +@end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Info.plist b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Info.plist new file mode 100644 index 0000000000000000000000000000000000000000..10df5724ad8335137f17e704cb733d7f78cca95c GIT binary patch literal 931 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 + + + + files + + Headers/NSNotificationCenter+OCMAdditions.h + + vONiqh5sL6dS88Kx8JYNEZSgZs0= + + Headers/OCMArg.h + + 2TtJQtEo2sCB6zXIpOR5CpHd6ZI= + + Headers/OCMConstraint.h + + Xas8pGuJGxTT/F4ey/TyYW8RdsE= + + Headers/OCMFunctions.h + + 8vgivFuntcZU8V6MIPS/qI7+76c= + + Headers/OCMLocation.h + + /0CRbUvWS/08eIbkc7Qs0rVCIpc= + + Headers/OCMMacroState.h + + eG9h5aC1sciDnimn2qd8D3Whgs8= + + Headers/OCMQuantifier.h + + Iz/nUSovlPskrKgJYN3wtrzsQwI= + + Headers/OCMRecorder.h + + Nuc9k8M2llCQS3ElBXYmXmOgYSA= + + Headers/OCMStubRecorder.h + + UlinOlGX+5BrG/p3FpLJyfKrfBc= + + Headers/OCMVerifier.h + + XkRNOUntVvz91+zCRZHKop6Mpm4= + + Headers/OCMock.h + + On/6fINORTxTz9S5hDINgwB7Q+k= + + Headers/OCMockMacros.h + + I/Um7WTr4ycb9SAiuXqMQqZr56s= + + Headers/OCMockObject.h + + gs1jfQy3OVzcDFaoOf3h85dDCHg= + + Info.plist + + khj9sscz1vARhlRjRaESGMUgSao= + + Modules/module.modulemap + + D8QZr5r+V+F/EzuAFJHCo218QzY= + + + files2 + + Headers/NSNotificationCenter+OCMAdditions.h + + hash2 + + OpqlLXl1TYpgdESPdjTcl8ukOnx3PIF/CW2vaf8Hffg= + + + Headers/OCMArg.h + + hash2 + + KlkzlNlKwrlSANkeM5T8f5FOJdV/6ehZzv7wvyec5KA= + + + Headers/OCMConstraint.h + + hash2 + + 2U5VzXM/137kdDaimPrTw7LgWDfexU81LodocYo6kc0= + + + Headers/OCMFunctions.h + + hash2 + + RkAZXLHoOdzRAcb5Xj1jfbb4HG46uX2ebbvAQuL02tE= + + + Headers/OCMLocation.h + + hash2 + + ccpsG99Nw50eW0nZvLv/IozvOnpFCvXqTcFMQkNv1bU= + + + Headers/OCMMacroState.h + + hash2 + + CvW82Uxav33uzaXGAxUzM2ue5TYOB7xRmnoIZ/X/xgs= + + + Headers/OCMQuantifier.h + + hash2 + + AR64qzDpATQzBQbotenP205lhYh7IEtfrdb2tfkjvOk= + + + Headers/OCMRecorder.h + + hash2 + + 2yDq8ywLd4CnfinJmX1elhIUKtQRYv+bJDX5p+KPATo= + + + Headers/OCMStubRecorder.h + + hash2 + + YJjzSF6DMhEmPqm7LnSnWdiCqSwsepMeGN4i1SKoHz4= + + + Headers/OCMVerifier.h + + hash2 + + AX+jq2RcKI06XrCgrYSS5p4CGtyEdt0fNSLdsUkOmjk= + + + Headers/OCMock.h + + hash2 + + Vt6bfx1xsYy28YCOPDtY7NzbG6grfcluwOF5MZqjyd4= + + + Headers/OCMockMacros.h + + hash2 + + p45nXBg6Fyw2+Orzsv08dNq/tVPRv8ccEh8pkl2T/nk= + + + Headers/OCMockObject.h + + hash2 + + SWo2XBfpB3ZcUgcIZvzTYDXcjmquNSdDpEXNe0U1zeo= + + + Modules/module.modulemap + + hash2 + + pJYkV/qB275HCglrXGI/POf3dh+jBQ7qNq2ZpQojitk= + + + + rules + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Headers b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Headers new file mode 120000 index 0000000..a177d2a --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Headers @@ -0,0 +1 @@ +Versions/Current/Headers \ No newline at end of file diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Modules b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Modules new file mode 120000 index 0000000..5736f31 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Modules @@ -0,0 +1 @@ +Versions/Current/Modules \ No newline at end of file diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/OCMock b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/OCMock new file mode 120000 index 0000000..c388ea8 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/OCMock @@ -0,0 +1 @@ +Versions/Current/OCMock \ No newline at end of file diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Resources b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Resources new file mode 120000 index 0000000..953ee36 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Resources @@ -0,0 +1 @@ +Versions/Current/Resources \ No newline at end of file diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/NSNotificationCenter+OCMAdditions.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/NSNotificationCenter+OCMAdditions.h new file mode 100644 index 0000000..b25eeef --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/NSNotificationCenter+OCMAdditions.h @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2009-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCObserverMockObject; + +@interface NSNotificationCenter (OCMAdditions) + +- (void)addMockObserver:(OCObserverMockObject *)notificationObserver + name:(NSString *)notificationName + object:(id)notificationSender; + +@end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMArg.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMArg.h new file mode 100644 index 0000000..5cbbd4f --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMArg.h @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2009-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMArg : NSObject + +// constraining arguments + ++ (id)any; ++ (SEL)anySelector; ++ (void *)anyPointer; ++ (id __autoreleasing *)anyObjectRef; ++ (id)isNil; ++ (id)isNotNil; ++ (id)isEqual:(id)value; ++ (id)isNotEqual:(id)value; ++ (id)isKindOfClass:(Class)cls; ++ (id)checkWithSelector:(SEL)selector onObject:(id)anObject; ++ (id)checkWithBlock:(BOOL (^)(id obj))block; + +// manipulating arguments + ++ (id *)setTo:(id)value; ++ (void *)setToValue:(NSValue *)value; ++ (id)invokeBlock; ++ (id)invokeBlockWithArgs:(id)first, ... NS_REQUIRES_NIL_TERMINATION; + ++ (id)defaultValue; + +// internal use only + ++ (id)resolveSpecialValues:(NSValue *)value; + +@end + +#define OCMOCK_ANY [OCMArg any] + +#define OCMOCK_VALUE(variable) \ + ({ \ + __typeof__(variable) __v = (variable); \ + [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; \ + }) diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMConstraint.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMConstraint.h new file mode 100644 index 0000000..d5c5f96 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMConstraint.h @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2007-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMConstraint : NSObject + ++ (instancetype)constraint; +- (BOOL)evaluate:(id)value; + +// if you are looking for any, isNil, etc, they have moved to OCMArg + +// try to use [OCMArg checkWith...] instead of the constraintWith... methods below + ++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; ++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue; + +@end + +@interface OCMAnyConstraint : OCMConstraint +@end + +@interface OCMIsNilConstraint : OCMConstraint +@end + +@interface OCMIsNotNilConstraint : OCMConstraint +@end + +@interface OCMIsNotEqualConstraint : OCMConstraint { + @public + id testValue; +} + +@end + +@interface OCMInvocationConstraint : OCMConstraint { + @public + NSInvocation *invocation; +} + +@end + +@interface OCMBlockConstraint : OCMConstraint { + BOOL (^block)(id); +} + +- (instancetype)initWithConstraintBlock:(BOOL (^)(id))block; + +@end + +#ifndef OCM_DISABLE_SHORT_SYNTAX +#define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] +#define CONSTRAINTV(aSelector, aValue) \ + [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] +#endif diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMFunctions.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMFunctions.h new file mode 100644 index 0000000..1119402 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMFunctions.h @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +#if defined(__cplusplus) +#define OCMOCK_EXTERN extern "C" +#else +#define OCMOCK_EXTERN extern +#endif + +OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); +OCMOCK_EXTERN BOOL OCMIsSubclassOfMockClass(Class cls); diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMLocation.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMLocation.h new file mode 100644 index 0000000..fd64f42 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMLocation.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import + +@interface OCMLocation : NSObject { + id testCase; + NSString *file; + NSUInteger line; +} + ++ (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; + +- (instancetype)initWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; + +- (id)testCase; +- (NSString *)file; +- (NSUInteger)line; + +@end + +OCMOCK_EXTERN OCMLocation *OCMMakeLocation(id testCase, const char *file, int line); diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMMacroState.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMMacroState.h new file mode 100644 index 0000000..8d92be2 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMMacroState.h @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; +@class OCMRecorder; +@class OCMStubRecorder; +@class OCMockObject; + +@interface OCMMacroState : NSObject { + OCMRecorder *recorder; + BOOL invocationDidThrow; +} + ++ (void)beginStubMacro; ++ (OCMStubRecorder *)endStubMacro; + ++ (void)beginExpectMacro; ++ (OCMStubRecorder *)endExpectMacro; + ++ (void)beginRejectMacro; ++ (OCMStubRecorder *)endRejectMacro; + ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation + withQuantifier:(OCMQuantifier *)quantifier; ++ (void)endVerifyMacro; + ++ (OCMMacroState *)globalState; + +- (void)setRecorder:(OCMRecorder *)aRecorder; +- (OCMRecorder *)recorder; + +- (void)switchToClassMethod; + +- (void)setInvocationDidThrow:(BOOL)flag; +- (BOOL)invocationDidThrow; + +@end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMQuantifier.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMQuantifier.h new file mode 100644 index 0000000..31d1847 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMQuantifier.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2016-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMQuantifier : NSObject { + NSUInteger expectedCount; +} + ++ (instancetype)never; ++ (instancetype)exactly:(NSUInteger)count; ++ (instancetype)atLeast:(NSUInteger)count; ++ (instancetype)atMost:(NSUInteger)count; + +- (BOOL)isValidCount:(NSUInteger)count; + +- (NSString *)description; + +@end + +#define OCMNever() ([OCMQuantifier never]) +#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) +#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) +#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) + +#ifndef OCM_DISABLE_SHORT_QSYNTAX +#define never() OCMNever() +#define times(n) OCMTimes(n) +#define atLeast(n) OCMAtLeast(n) +#define atMost(n) OCMAtMost(n) +#endif diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMRecorder.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMRecorder.h new file mode 100644 index 0000000..6b68343 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMRecorder.h @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMockObject; +@class OCMInvocationMatcher; + +@interface OCMRecorder : NSProxy { + OCMockObject *mockObject; + OCMInvocationMatcher *invocationMatcher; + BOOL didRecordInvocation; + BOOL shouldReturnMockFromInit; +} + +- (instancetype)init; +- (instancetype)initWithMockObject:(OCMockObject *)aMockObject; + +- (void)setMockObject:(OCMockObject *)aMockObject; +- (void)setShouldReturnMockFromInit:(BOOL)flag; + +- (OCMInvocationMatcher *)invocationMatcher; +- (BOOL)didRecordInvocation; + +- (id)classMethod; +- (id)ignoringNonObjectArgs; + +@end + +@interface OCMRecorder (Properties) + +#define ignoringNonObjectArgs() _ignoringNonObjectArgs() +@property(nonatomic, readonly) OCMRecorder * (^_ignoringNonObjectArgs)(void); + +@end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMStubRecorder.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMStubRecorder.h new file mode 100644 index 0000000..cd1772e --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMStubRecorder.h @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import +#import + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +@class XCTestExpectation; +#endif + +@interface OCMStubRecorder : OCMRecorder + +- (id)andReturn:(id)anObject; +- (id)andReturnValue:(NSValue *)aValue; +- (id)andThrow:(NSException *)anException; +- (id)andPost:(NSNotification *)aNotification; +- (id)andCall:(SEL)selector onObject:(id)anObject; +- (id)andDo:(void (^)(NSInvocation *invocation))block; +- (id)andForwardToRealObject; + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +- (id)andFulfill:(XCTestExpectation *)expectation; +#endif + +@end + +@interface OCMStubRecorder (Properties) + +#define andReturn(aValue) \ + _andReturn(({ \ + __typeof__(aValue) _val = (aValue); \ + NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ + if (OCMIsObjectType(@encode(__typeof(_val)))) { \ + objc_setAssociatedObject(_nsval, \ + "OCMAssociatedBoxedValue", \ + *(__unsafe_unretained id *)(void *)&_val, \ + OBJC_ASSOCIATION_RETAIN); \ + } \ + _nsval; \ + })) +@property(nonatomic, readonly) OCMStubRecorder * (^_andReturn)(NSValue *); + +#define andThrow(anException) _andThrow(anException) +@property(nonatomic, readonly) OCMStubRecorder * (^_andThrow)(NSException *); + +#define andPost(aNotification) _andPost(aNotification) +@property(nonatomic, readonly) OCMStubRecorder * (^_andPost)(NSNotification *); + +#define andCall(anObject, aSelector) _andCall(anObject, aSelector) +@property(nonatomic, readonly) OCMStubRecorder * (^_andCall)(id, SEL); + +#define andDo(aBlock) _andDo(aBlock) +@property(nonatomic, readonly) OCMStubRecorder * (^_andDo)(void (^)(NSInvocation *)); + +#define andForwardToRealObject() _andForwardToRealObject() +@property(nonatomic, readonly) OCMStubRecorder * (^_andForwardToRealObject)(void); + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +#define andFulfill(anExpectation) _andFulfill(anExpectation) +@property(nonatomic, readonly) OCMStubRecorder * (^_andFulfill)(XCTestExpectation *); +#endif + +@property(nonatomic, readonly) OCMStubRecorder * (^_ignoringNonObjectArgs)(void); + +#define andBreak() \ + _andDo(^(NSInvocation * _invocation) { \ + __builtin_debugtrap(); \ + }) + +#define andLog(_format, ...) \ + _andDo(^(NSInvocation * _invocation) { \ + NSLog(_format, ##__VA_ARGS__); \ + }) + +@end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMVerifier.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMVerifier.h new file mode 100644 index 0000000..217acdb --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMVerifier.h @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; + +@interface OCMVerifier : OCMRecorder + +@property(strong) OCMLocation *location; +@property(strong) OCMQuantifier *quantifier; + +- (id)withQuantifier:(OCMQuantifier *)quantifier; + +@end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMock.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMock.h new file mode 100644 index 0000000..b1b3e14 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMock.h @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMockMacros.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMockMacros.h new file mode 100644 index 0000000..6de97b2 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMockMacros.h @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#ifdef OCM_DISABLE_SHORT_SYNTAX +#define OCM_DISABLE_SHORT_QSYNTAX +#endif + +#define OCMClassMock(cls) [OCMockObject niceMockForClass:cls] + +#define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls] + +#define OCMProtocolMock(protocol) [OCMockObject niceMockForProtocol:protocol] + +#define OCMStrictProtocolMock(protocol) [OCMockObject mockForProtocol:protocol] + +#define OCMPartialMock(obj) [OCMockObject partialMockForObject:obj] + +#define OCMObserverMock() [OCMockObject observerMock] + +#define OCMStub(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginStubMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endStubMacro]; } recorder;); \ + }) + +#define OCMExpect(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginExpectMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endExpectMacro]; } recorder;); \ + }) + +#define OCMReject(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginRejectMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endRejectMacro]; } recorder;); \ + }) + +#define OCMClassMethod(invocation) \ + _OCMSilenceWarnings([[OCMMacroState globalState] switchToClassMethod]; invocation;); + +#ifndef OCM_DISABLE_SHORT_SYNTAX +#define ClassMethod(invocation) OCMClassMethod(invocation) +#endif + +#define OCMVerifyAll(mock) \ + [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define OCMVerifyAllWithDelay(mock, delay) \ + [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define _OCMVerify(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { [OCMMacroState endVerifyMacro]; }); \ + }) + +#define _OCMVerifyWithQuantifier(quantifier, invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) \ + withQuantifier:quantifier]; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { [OCMMacroState endVerifyMacro]; }); \ + }) + +// explanation for macros below here: +// https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros + +#define _OCMVerify_1(A) _OCMVerify(A) +#define _OCMVerify_2(A, B) _OCMVerifyWithQuantifier(A, B) +#define _OCMVerify_X(x, A, B, FUNC, ...) FUNC +#define OCMVerify(...) \ + _OCMVerify_X(, ##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) + +#define _OCMSilenceWarnings(macro) \ + ({_Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ + _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ + _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ + macro _Pragma("clang diagnostic pop")}) diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMockObject.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMockObject.h new file mode 100644 index 0000000..b7f2304 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMockObject.h @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; +@class OCMInvocationStub; +@class OCMStubRecorder; +@class OCMInvocationMatcher; +@class OCMInvocationExpectation; + +@interface OCMockObject : NSProxy { + BOOL isNice; + BOOL expectationOrderMatters; + NSMutableArray *stubs; + NSMutableArray *expectations; + NSMutableArray *exceptions; + NSMutableArray *invocations; +} + ++ (id)mockForClass:(Class)aClass; ++ (id)mockForProtocol:(Protocol *)aProtocol; ++ (id)partialMockForObject:(NSObject *)anObject; + ++ (id)niceMockForClass:(Class)aClass; ++ (id)niceMockForProtocol:(Protocol *)aProtocol; + ++ (id)observerMock __deprecated_msg("Please use XCTNSNotificationExpectation instead."); + +- (instancetype)init; + +- (void)setExpectationOrderMatters:(BOOL)flag; + +- (id)stub; +- (id)expect; +- (id)reject; + +- (id)verify; +- (id)verifyAtLocation:(OCMLocation *)location; + +- (void)verifyWithDelay:(NSTimeInterval)delay; +- (void)verifyWithDelay:(NSTimeInterval)delay atLocation:(OCMLocation *)location; + +- (void)stopMocking; + +// internal use only + +- (void)addStub:(OCMInvocationStub *)aStub; +- (void)addExpectation:(OCMInvocationExpectation *)anExpectation; +- (void)addInvocation:(NSInvocation *)anInvocation; + +- (BOOL)handleInvocation:(NSInvocation *)anInvocation; +- (void)handleUnRecordedInvocation:(NSInvocation *)anInvocation; +- (BOOL)handleSelector:(SEL)sel; + +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher + withQuantifier:(OCMQuantifier *)quantifier + atLocation:(OCMLocation *)location; +- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher + quantifier:(OCMQuantifier *)quantifier + invocationCount:(NSUInteger)count; + +@end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Modules/module.modulemap b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Modules/module.modulemap new file mode 100644 index 0000000..052ea7f --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Modules/module.modulemap @@ -0,0 +1,7 @@ +framework module OCMock { + umbrella header "OCMock.h" export * + + module * { + export * + } +} diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/OCMock b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/OCMock new file mode 100755 index 0000000000000000000000000000000000000000..b1e2d88ebb8eee10ba48cccce5b990c6817722da GIT binary patch literal 443808 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 Y*e#y4y5tXs=XV7)bXTGqr2o@ITBcn!0*(%<$L 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 literal 0 HcmV?d00001 diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Resources/Info.plist b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Resources/Info.plist new file mode 100644 index 0000000..a71880d --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Resources/Info.plist @@ -0,0 +1,54 @@ + + + + + BuildMachineOSBuild + 22G120 + CFBundleDevelopmentRegion + en + CFBundleExecutable + OCMock + CFBundleIdentifier + org.ocmock.OCMock + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + OCMock + CFBundlePackageType + FMWK + CFBundleShortVersionString + 3.9.2 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 3.9.1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + + DTPlatformName + macosx + DTPlatformVersion + 14.0 + DTSDKBuild + 23A334 + DTSDKName + macosx14.0 + DTXcode + 1500 + DTXcodeBuild + 15A240d + LSMinimumSystemVersion + 10.15 + NSHumanReadableCopyright + Copyright © 2004-2023 Erik Doernenburg and contributors + UIDeviceFamily + + 2 + + + diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/_CodeSignature/CodeResources b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/_CodeSignature/CodeResources new file mode 100644 index 0000000..e091008 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/_CodeSignature/CodeResources @@ -0,0 +1,226 @@ + + + + + files + + Resources/Info.plist + + EfVyotcYsdKuoly21trbNj2ErGQ= + + + files2 + + Headers/NSNotificationCenter+OCMAdditions.h + + hash2 + + OpqlLXl1TYpgdESPdjTcl8ukOnx3PIF/CW2vaf8Hffg= + + + Headers/OCMArg.h + + hash2 + + KlkzlNlKwrlSANkeM5T8f5FOJdV/6ehZzv7wvyec5KA= + + + Headers/OCMConstraint.h + + hash2 + + 2U5VzXM/137kdDaimPrTw7LgWDfexU81LodocYo6kc0= + + + Headers/OCMFunctions.h + + hash2 + + RkAZXLHoOdzRAcb5Xj1jfbb4HG46uX2ebbvAQuL02tE= + + + Headers/OCMLocation.h + + hash2 + + ccpsG99Nw50eW0nZvLv/IozvOnpFCvXqTcFMQkNv1bU= + + + Headers/OCMMacroState.h + + hash2 + + CvW82Uxav33uzaXGAxUzM2ue5TYOB7xRmnoIZ/X/xgs= + + + Headers/OCMQuantifier.h + + hash2 + + AR64qzDpATQzBQbotenP205lhYh7IEtfrdb2tfkjvOk= + + + Headers/OCMRecorder.h + + hash2 + + 2yDq8ywLd4CnfinJmX1elhIUKtQRYv+bJDX5p+KPATo= + + + Headers/OCMStubRecorder.h + + hash2 + + YJjzSF6DMhEmPqm7LnSnWdiCqSwsepMeGN4i1SKoHz4= + + + Headers/OCMVerifier.h + + hash2 + + AX+jq2RcKI06XrCgrYSS5p4CGtyEdt0fNSLdsUkOmjk= + + + Headers/OCMock.h + + hash2 + + Vt6bfx1xsYy28YCOPDtY7NzbG6grfcluwOF5MZqjyd4= + + + Headers/OCMockMacros.h + + hash2 + + p45nXBg6Fyw2+Orzsv08dNq/tVPRv8ccEh8pkl2T/nk= + + + Headers/OCMockObject.h + + hash2 + + SWo2XBfpB3ZcUgcIZvzTYDXcjmquNSdDpEXNe0U1zeo= + + + Modules/module.modulemap + + hash2 + + pJYkV/qB275HCglrXGI/POf3dh+jBQ7qNq2ZpQojitk= + + + Resources/Info.plist + + hash2 + + kym37FgNIKY2omZ9UcPItLhI7lSyt6is4iXeY4iAegw= + + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/Current b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/Current new file mode 120000 index 0000000..8c7e5a6 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h new file mode 100644 index 0000000..b25eeef --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2009-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCObserverMockObject; + +@interface NSNotificationCenter (OCMAdditions) + +- (void)addMockObserver:(OCObserverMockObject *)notificationObserver + name:(NSString *)notificationName + object:(id)notificationSender; + +@end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMArg.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMArg.h new file mode 100644 index 0000000..5cbbd4f --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMArg.h @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2009-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMArg : NSObject + +// constraining arguments + ++ (id)any; ++ (SEL)anySelector; ++ (void *)anyPointer; ++ (id __autoreleasing *)anyObjectRef; ++ (id)isNil; ++ (id)isNotNil; ++ (id)isEqual:(id)value; ++ (id)isNotEqual:(id)value; ++ (id)isKindOfClass:(Class)cls; ++ (id)checkWithSelector:(SEL)selector onObject:(id)anObject; ++ (id)checkWithBlock:(BOOL (^)(id obj))block; + +// manipulating arguments + ++ (id *)setTo:(id)value; ++ (void *)setToValue:(NSValue *)value; ++ (id)invokeBlock; ++ (id)invokeBlockWithArgs:(id)first, ... NS_REQUIRES_NIL_TERMINATION; + ++ (id)defaultValue; + +// internal use only + ++ (id)resolveSpecialValues:(NSValue *)value; + +@end + +#define OCMOCK_ANY [OCMArg any] + +#define OCMOCK_VALUE(variable) \ + ({ \ + __typeof__(variable) __v = (variable); \ + [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; \ + }) diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h new file mode 100644 index 0000000..d5c5f96 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2007-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMConstraint : NSObject + ++ (instancetype)constraint; +- (BOOL)evaluate:(id)value; + +// if you are looking for any, isNil, etc, they have moved to OCMArg + +// try to use [OCMArg checkWith...] instead of the constraintWith... methods below + ++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; ++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue; + +@end + +@interface OCMAnyConstraint : OCMConstraint +@end + +@interface OCMIsNilConstraint : OCMConstraint +@end + +@interface OCMIsNotNilConstraint : OCMConstraint +@end + +@interface OCMIsNotEqualConstraint : OCMConstraint { + @public + id testValue; +} + +@end + +@interface OCMInvocationConstraint : OCMConstraint { + @public + NSInvocation *invocation; +} + +@end + +@interface OCMBlockConstraint : OCMConstraint { + BOOL (^block)(id); +} + +- (instancetype)initWithConstraintBlock:(BOOL (^)(id))block; + +@end + +#ifndef OCM_DISABLE_SHORT_SYNTAX +#define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] +#define CONSTRAINTV(aSelector, aValue) \ + [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] +#endif diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h new file mode 100644 index 0000000..1119402 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +#if defined(__cplusplus) +#define OCMOCK_EXTERN extern "C" +#else +#define OCMOCK_EXTERN extern +#endif + +OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); +OCMOCK_EXTERN BOOL OCMIsSubclassOfMockClass(Class cls); diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h new file mode 100644 index 0000000..fd64f42 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import + +@interface OCMLocation : NSObject { + id testCase; + NSString *file; + NSUInteger line; +} + ++ (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; + +- (instancetype)initWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; + +- (id)testCase; +- (NSString *)file; +- (NSUInteger)line; + +@end + +OCMOCK_EXTERN OCMLocation *OCMMakeLocation(id testCase, const char *file, int line); diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h new file mode 100644 index 0000000..8d92be2 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; +@class OCMRecorder; +@class OCMStubRecorder; +@class OCMockObject; + +@interface OCMMacroState : NSObject { + OCMRecorder *recorder; + BOOL invocationDidThrow; +} + ++ (void)beginStubMacro; ++ (OCMStubRecorder *)endStubMacro; + ++ (void)beginExpectMacro; ++ (OCMStubRecorder *)endExpectMacro; + ++ (void)beginRejectMacro; ++ (OCMStubRecorder *)endRejectMacro; + ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation + withQuantifier:(OCMQuantifier *)quantifier; ++ (void)endVerifyMacro; + ++ (OCMMacroState *)globalState; + +- (void)setRecorder:(OCMRecorder *)aRecorder; +- (OCMRecorder *)recorder; + +- (void)switchToClassMethod; + +- (void)setInvocationDidThrow:(BOOL)flag; +- (BOOL)invocationDidThrow; + +@end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h new file mode 100644 index 0000000..31d1847 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2016-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMQuantifier : NSObject { + NSUInteger expectedCount; +} + ++ (instancetype)never; ++ (instancetype)exactly:(NSUInteger)count; ++ (instancetype)atLeast:(NSUInteger)count; ++ (instancetype)atMost:(NSUInteger)count; + +- (BOOL)isValidCount:(NSUInteger)count; + +- (NSString *)description; + +@end + +#define OCMNever() ([OCMQuantifier never]) +#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) +#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) +#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) + +#ifndef OCM_DISABLE_SHORT_QSYNTAX +#define never() OCMNever() +#define times(n) OCMTimes(n) +#define atLeast(n) OCMAtLeast(n) +#define atMost(n) OCMAtMost(n) +#endif diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h new file mode 100644 index 0000000..6b68343 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMockObject; +@class OCMInvocationMatcher; + +@interface OCMRecorder : NSProxy { + OCMockObject *mockObject; + OCMInvocationMatcher *invocationMatcher; + BOOL didRecordInvocation; + BOOL shouldReturnMockFromInit; +} + +- (instancetype)init; +- (instancetype)initWithMockObject:(OCMockObject *)aMockObject; + +- (void)setMockObject:(OCMockObject *)aMockObject; +- (void)setShouldReturnMockFromInit:(BOOL)flag; + +- (OCMInvocationMatcher *)invocationMatcher; +- (BOOL)didRecordInvocation; + +- (id)classMethod; +- (id)ignoringNonObjectArgs; + +@end + +@interface OCMRecorder (Properties) + +#define ignoringNonObjectArgs() _ignoringNonObjectArgs() +@property(nonatomic, readonly) OCMRecorder * (^_ignoringNonObjectArgs)(void); + +@end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h new file mode 100644 index 0000000..cd1772e --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import +#import + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +@class XCTestExpectation; +#endif + +@interface OCMStubRecorder : OCMRecorder + +- (id)andReturn:(id)anObject; +- (id)andReturnValue:(NSValue *)aValue; +- (id)andThrow:(NSException *)anException; +- (id)andPost:(NSNotification *)aNotification; +- (id)andCall:(SEL)selector onObject:(id)anObject; +- (id)andDo:(void (^)(NSInvocation *invocation))block; +- (id)andForwardToRealObject; + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +- (id)andFulfill:(XCTestExpectation *)expectation; +#endif + +@end + +@interface OCMStubRecorder (Properties) + +#define andReturn(aValue) \ + _andReturn(({ \ + __typeof__(aValue) _val = (aValue); \ + NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ + if (OCMIsObjectType(@encode(__typeof(_val)))) { \ + objc_setAssociatedObject(_nsval, \ + "OCMAssociatedBoxedValue", \ + *(__unsafe_unretained id *)(void *)&_val, \ + OBJC_ASSOCIATION_RETAIN); \ + } \ + _nsval; \ + })) +@property(nonatomic, readonly) OCMStubRecorder * (^_andReturn)(NSValue *); + +#define andThrow(anException) _andThrow(anException) +@property(nonatomic, readonly) OCMStubRecorder * (^_andThrow)(NSException *); + +#define andPost(aNotification) _andPost(aNotification) +@property(nonatomic, readonly) OCMStubRecorder * (^_andPost)(NSNotification *); + +#define andCall(anObject, aSelector) _andCall(anObject, aSelector) +@property(nonatomic, readonly) OCMStubRecorder * (^_andCall)(id, SEL); + +#define andDo(aBlock) _andDo(aBlock) +@property(nonatomic, readonly) OCMStubRecorder * (^_andDo)(void (^)(NSInvocation *)); + +#define andForwardToRealObject() _andForwardToRealObject() +@property(nonatomic, readonly) OCMStubRecorder * (^_andForwardToRealObject)(void); + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +#define andFulfill(anExpectation) _andFulfill(anExpectation) +@property(nonatomic, readonly) OCMStubRecorder * (^_andFulfill)(XCTestExpectation *); +#endif + +@property(nonatomic, readonly) OCMStubRecorder * (^_ignoringNonObjectArgs)(void); + +#define andBreak() \ + _andDo(^(NSInvocation * _invocation) { \ + __builtin_debugtrap(); \ + }) + +#define andLog(_format, ...) \ + _andDo(^(NSInvocation * _invocation) { \ + NSLog(_format, ##__VA_ARGS__); \ + }) + +@end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMVerifier.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMVerifier.h new file mode 100644 index 0000000..217acdb --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMVerifier.h @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; + +@interface OCMVerifier : OCMRecorder + +@property(strong) OCMLocation *location; +@property(strong) OCMQuantifier *quantifier; + +- (id)withQuantifier:(OCMQuantifier *)quantifier; + +@end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMock.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMock.h new file mode 100644 index 0000000..b1b3e14 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMock.h @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h new file mode 100644 index 0000000..6de97b2 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#ifdef OCM_DISABLE_SHORT_SYNTAX +#define OCM_DISABLE_SHORT_QSYNTAX +#endif + +#define OCMClassMock(cls) [OCMockObject niceMockForClass:cls] + +#define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls] + +#define OCMProtocolMock(protocol) [OCMockObject niceMockForProtocol:protocol] + +#define OCMStrictProtocolMock(protocol) [OCMockObject mockForProtocol:protocol] + +#define OCMPartialMock(obj) [OCMockObject partialMockForObject:obj] + +#define OCMObserverMock() [OCMockObject observerMock] + +#define OCMStub(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginStubMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endStubMacro]; } recorder;); \ + }) + +#define OCMExpect(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginExpectMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endExpectMacro]; } recorder;); \ + }) + +#define OCMReject(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginRejectMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endRejectMacro]; } recorder;); \ + }) + +#define OCMClassMethod(invocation) \ + _OCMSilenceWarnings([[OCMMacroState globalState] switchToClassMethod]; invocation;); + +#ifndef OCM_DISABLE_SHORT_SYNTAX +#define ClassMethod(invocation) OCMClassMethod(invocation) +#endif + +#define OCMVerifyAll(mock) \ + [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define OCMVerifyAllWithDelay(mock, delay) \ + [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define _OCMVerify(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { [OCMMacroState endVerifyMacro]; }); \ + }) + +#define _OCMVerifyWithQuantifier(quantifier, invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) \ + withQuantifier:quantifier]; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { [OCMMacroState endVerifyMacro]; }); \ + }) + +// explanation for macros below here: +// https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros + +#define _OCMVerify_1(A) _OCMVerify(A) +#define _OCMVerify_2(A, B) _OCMVerifyWithQuantifier(A, B) +#define _OCMVerify_X(x, A, B, FUNC, ...) FUNC +#define OCMVerify(...) \ + _OCMVerify_X(, ##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) + +#define _OCMSilenceWarnings(macro) \ + ({_Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ + _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ + _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ + macro _Pragma("clang diagnostic pop")}) diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h new file mode 100644 index 0000000..b7f2304 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; +@class OCMInvocationStub; +@class OCMStubRecorder; +@class OCMInvocationMatcher; +@class OCMInvocationExpectation; + +@interface OCMockObject : NSProxy { + BOOL isNice; + BOOL expectationOrderMatters; + NSMutableArray *stubs; + NSMutableArray *expectations; + NSMutableArray *exceptions; + NSMutableArray *invocations; +} + ++ (id)mockForClass:(Class)aClass; ++ (id)mockForProtocol:(Protocol *)aProtocol; ++ (id)partialMockForObject:(NSObject *)anObject; + ++ (id)niceMockForClass:(Class)aClass; ++ (id)niceMockForProtocol:(Protocol *)aProtocol; + ++ (id)observerMock __deprecated_msg("Please use XCTNSNotificationExpectation instead."); + +- (instancetype)init; + +- (void)setExpectationOrderMatters:(BOOL)flag; + +- (id)stub; +- (id)expect; +- (id)reject; + +- (id)verify; +- (id)verifyAtLocation:(OCMLocation *)location; + +- (void)verifyWithDelay:(NSTimeInterval)delay; +- (void)verifyWithDelay:(NSTimeInterval)delay atLocation:(OCMLocation *)location; + +- (void)stopMocking; + +// internal use only + +- (void)addStub:(OCMInvocationStub *)aStub; +- (void)addExpectation:(OCMInvocationExpectation *)anExpectation; +- (void)addInvocation:(NSInvocation *)anInvocation; + +- (BOOL)handleInvocation:(NSInvocation *)anInvocation; +- (void)handleUnRecordedInvocation:(NSInvocation *)anInvocation; +- (BOOL)handleSelector:(SEL)sel; + +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher + withQuantifier:(OCMQuantifier *)quantifier + atLocation:(OCMLocation *)location; +- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher + quantifier:(OCMQuantifier *)quantifier + invocationCount:(NSUInteger)count; + +@end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Info.plist b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Info.plist new file mode 100644 index 0000000000000000000000000000000000000000..553916c49ed6b2d832302e47f8fdd1c44bbf2e89 GIT binary patch literal 911 zcmZ8eO;6N77@nC`KtZ?5Dgufk;1^2Mmalj+umvS#fzYz3AvE1~=uT*7ntl-XV&c)5 zcp>rPMZJ0E5BLi_dNW>3ym|2t__l0Cou+-?_j%su>C8LL&}VU?DBq+3OiHItcXjui zIosQJ?tEFQ^j9xj9Jn+%G<uZj9f&b^FfbT}!Girp$Niw$oyqt{Zt} zNkg^e#gw}~)#(BCMHoI7^ZI7Dm5YXWQHCiG{I!Ysn822ox@`q#|x05vbN05dg zNT|Ev+sU4Yg4mMEg`i{fR5xoP2$`Slwyc{)Yd(eDllpjvl@s7ZZ|JLe_Y>WOG;7?} z&Bu;#=}sqhMk>`AXF(dQ8y&GF4XzoF(!l1M)ONEm)BfJ_?;F&>Fd8VOhz?Sl^eaLiB zQK&e4IclO5au0ADDi@*yJO{7LHDeQ~BNTtQHzi?-pdK`j>Oeh5hv*1>LSN7?+>Iyj z9A3Z%ZsG&{0>8qC_#HmNpYd1x9sj^T2_apimsH3A86=ZLAzNgJa1xW3 literal 0 HcmV?d00001 diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Modules/module.modulemap b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Modules/module.modulemap new file mode 100644 index 0000000..052ea7f --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Modules/module.modulemap @@ -0,0 +1,7 @@ +framework module OCMock { + umbrella header "OCMock.h" export * + + module * { + export * + } +} diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/OCMock b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/OCMock new file mode 100755 index 0000000000000000000000000000000000000000..27c8c823d4a7de36ddcfefd37724f5f603ff77f6 GIT binary patch literal 395296 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�Cy9 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

?zO*xFaEC!+(#xL!^HfYOi}4dE&rT5UQk_rp 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 MTOe(L|3?=1AJwDV>;M1& literal 0 HcmV?d00001 diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/_CodeSignature/CodeResources b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/_CodeSignature/CodeResources new file mode 100644 index 0000000..7e67685 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/_CodeSignature/CodeResources @@ -0,0 +1,256 @@ + + + + + files + + Headers/NSNotificationCenter+OCMAdditions.h + + vONiqh5sL6dS88Kx8JYNEZSgZs0= + + Headers/OCMArg.h + + 2TtJQtEo2sCB6zXIpOR5CpHd6ZI= + + Headers/OCMConstraint.h + + Xas8pGuJGxTT/F4ey/TyYW8RdsE= + + Headers/OCMFunctions.h + + 8vgivFuntcZU8V6MIPS/qI7+76c= + + Headers/OCMLocation.h + + /0CRbUvWS/08eIbkc7Qs0rVCIpc= + + Headers/OCMMacroState.h + + eG9h5aC1sciDnimn2qd8D3Whgs8= + + Headers/OCMQuantifier.h + + Iz/nUSovlPskrKgJYN3wtrzsQwI= + + Headers/OCMRecorder.h + + Nuc9k8M2llCQS3ElBXYmXmOgYSA= + + Headers/OCMStubRecorder.h + + UlinOlGX+5BrG/p3FpLJyfKrfBc= + + Headers/OCMVerifier.h + + XkRNOUntVvz91+zCRZHKop6Mpm4= + + Headers/OCMock.h + + On/6fINORTxTz9S5hDINgwB7Q+k= + + Headers/OCMockMacros.h + + I/Um7WTr4ycb9SAiuXqMQqZr56s= + + Headers/OCMockObject.h + + gs1jfQy3OVzcDFaoOf3h85dDCHg= + + Info.plist + + GuDeeeA7YdNA2JQefpl6K5/f+bc= + + Modules/module.modulemap + + D8QZr5r+V+F/EzuAFJHCo218QzY= + + + files2 + + Headers/NSNotificationCenter+OCMAdditions.h + + hash2 + + OpqlLXl1TYpgdESPdjTcl8ukOnx3PIF/CW2vaf8Hffg= + + + Headers/OCMArg.h + + hash2 + + KlkzlNlKwrlSANkeM5T8f5FOJdV/6ehZzv7wvyec5KA= + + + Headers/OCMConstraint.h + + hash2 + + 2U5VzXM/137kdDaimPrTw7LgWDfexU81LodocYo6kc0= + + + Headers/OCMFunctions.h + + hash2 + + RkAZXLHoOdzRAcb5Xj1jfbb4HG46uX2ebbvAQuL02tE= + + + Headers/OCMLocation.h + + hash2 + + ccpsG99Nw50eW0nZvLv/IozvOnpFCvXqTcFMQkNv1bU= + + + Headers/OCMMacroState.h + + hash2 + + CvW82Uxav33uzaXGAxUzM2ue5TYOB7xRmnoIZ/X/xgs= + + + Headers/OCMQuantifier.h + + hash2 + + AR64qzDpATQzBQbotenP205lhYh7IEtfrdb2tfkjvOk= + + + Headers/OCMRecorder.h + + hash2 + + 2yDq8ywLd4CnfinJmX1elhIUKtQRYv+bJDX5p+KPATo= + + + Headers/OCMStubRecorder.h + + hash2 + + YJjzSF6DMhEmPqm7LnSnWdiCqSwsepMeGN4i1SKoHz4= + + + Headers/OCMVerifier.h + + hash2 + + AX+jq2RcKI06XrCgrYSS5p4CGtyEdt0fNSLdsUkOmjk= + + + Headers/OCMock.h + + hash2 + + Vt6bfx1xsYy28YCOPDtY7NzbG6grfcluwOF5MZqjyd4= + + + Headers/OCMockMacros.h + + hash2 + + p45nXBg6Fyw2+Orzsv08dNq/tVPRv8ccEh8pkl2T/nk= + + + Headers/OCMockObject.h + + hash2 + + SWo2XBfpB3ZcUgcIZvzTYDXcjmquNSdDpEXNe0U1zeo= + + + Modules/module.modulemap + + hash2 + + pJYkV/qB275HCglrXGI/POf3dh+jBQ7qNq2ZpQojitk= + + + + rules + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Headers b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Headers new file mode 120000 index 0000000..a177d2a --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Headers @@ -0,0 +1 @@ +Versions/Current/Headers \ No newline at end of file diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Modules b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Modules new file mode 120000 index 0000000..5736f31 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Modules @@ -0,0 +1 @@ +Versions/Current/Modules \ No newline at end of file diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/OCMock b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/OCMock new file mode 120000 index 0000000..c388ea8 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/OCMock @@ -0,0 +1 @@ +Versions/Current/OCMock \ No newline at end of file diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Resources b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Resources new file mode 120000 index 0000000..953ee36 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Resources @@ -0,0 +1 @@ +Versions/Current/Resources \ No newline at end of file diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/NSNotificationCenter+OCMAdditions.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/NSNotificationCenter+OCMAdditions.h new file mode 100644 index 0000000..b25eeef --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/NSNotificationCenter+OCMAdditions.h @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2009-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCObserverMockObject; + +@interface NSNotificationCenter (OCMAdditions) + +- (void)addMockObserver:(OCObserverMockObject *)notificationObserver + name:(NSString *)notificationName + object:(id)notificationSender; + +@end diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMArg.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMArg.h new file mode 100644 index 0000000..5cbbd4f --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMArg.h @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2009-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMArg : NSObject + +// constraining arguments + ++ (id)any; ++ (SEL)anySelector; ++ (void *)anyPointer; ++ (id __autoreleasing *)anyObjectRef; ++ (id)isNil; ++ (id)isNotNil; ++ (id)isEqual:(id)value; ++ (id)isNotEqual:(id)value; ++ (id)isKindOfClass:(Class)cls; ++ (id)checkWithSelector:(SEL)selector onObject:(id)anObject; ++ (id)checkWithBlock:(BOOL (^)(id obj))block; + +// manipulating arguments + ++ (id *)setTo:(id)value; ++ (void *)setToValue:(NSValue *)value; ++ (id)invokeBlock; ++ (id)invokeBlockWithArgs:(id)first, ... NS_REQUIRES_NIL_TERMINATION; + ++ (id)defaultValue; + +// internal use only + ++ (id)resolveSpecialValues:(NSValue *)value; + +@end + +#define OCMOCK_ANY [OCMArg any] + +#define OCMOCK_VALUE(variable) \ + ({ \ + __typeof__(variable) __v = (variable); \ + [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; \ + }) diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMConstraint.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMConstraint.h new file mode 100644 index 0000000..d5c5f96 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMConstraint.h @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2007-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMConstraint : NSObject + ++ (instancetype)constraint; +- (BOOL)evaluate:(id)value; + +// if you are looking for any, isNil, etc, they have moved to OCMArg + +// try to use [OCMArg checkWith...] instead of the constraintWith... methods below + ++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; ++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue; + +@end + +@interface OCMAnyConstraint : OCMConstraint +@end + +@interface OCMIsNilConstraint : OCMConstraint +@end + +@interface OCMIsNotNilConstraint : OCMConstraint +@end + +@interface OCMIsNotEqualConstraint : OCMConstraint { + @public + id testValue; +} + +@end + +@interface OCMInvocationConstraint : OCMConstraint { + @public + NSInvocation *invocation; +} + +@end + +@interface OCMBlockConstraint : OCMConstraint { + BOOL (^block)(id); +} + +- (instancetype)initWithConstraintBlock:(BOOL (^)(id))block; + +@end + +#ifndef OCM_DISABLE_SHORT_SYNTAX +#define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] +#define CONSTRAINTV(aSelector, aValue) \ + [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] +#endif diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMFunctions.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMFunctions.h new file mode 100644 index 0000000..1119402 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMFunctions.h @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +#if defined(__cplusplus) +#define OCMOCK_EXTERN extern "C" +#else +#define OCMOCK_EXTERN extern +#endif + +OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); +OCMOCK_EXTERN BOOL OCMIsSubclassOfMockClass(Class cls); diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMLocation.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMLocation.h new file mode 100644 index 0000000..fd64f42 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMLocation.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import + +@interface OCMLocation : NSObject { + id testCase; + NSString *file; + NSUInteger line; +} + ++ (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; + +- (instancetype)initWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; + +- (id)testCase; +- (NSString *)file; +- (NSUInteger)line; + +@end + +OCMOCK_EXTERN OCMLocation *OCMMakeLocation(id testCase, const char *file, int line); diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMMacroState.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMMacroState.h new file mode 100644 index 0000000..8d92be2 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMMacroState.h @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; +@class OCMRecorder; +@class OCMStubRecorder; +@class OCMockObject; + +@interface OCMMacroState : NSObject { + OCMRecorder *recorder; + BOOL invocationDidThrow; +} + ++ (void)beginStubMacro; ++ (OCMStubRecorder *)endStubMacro; + ++ (void)beginExpectMacro; ++ (OCMStubRecorder *)endExpectMacro; + ++ (void)beginRejectMacro; ++ (OCMStubRecorder *)endRejectMacro; + ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation + withQuantifier:(OCMQuantifier *)quantifier; ++ (void)endVerifyMacro; + ++ (OCMMacroState *)globalState; + +- (void)setRecorder:(OCMRecorder *)aRecorder; +- (OCMRecorder *)recorder; + +- (void)switchToClassMethod; + +- (void)setInvocationDidThrow:(BOOL)flag; +- (BOOL)invocationDidThrow; + +@end diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMQuantifier.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMQuantifier.h new file mode 100644 index 0000000..31d1847 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMQuantifier.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2016-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMQuantifier : NSObject { + NSUInteger expectedCount; +} + ++ (instancetype)never; ++ (instancetype)exactly:(NSUInteger)count; ++ (instancetype)atLeast:(NSUInteger)count; ++ (instancetype)atMost:(NSUInteger)count; + +- (BOOL)isValidCount:(NSUInteger)count; + +- (NSString *)description; + +@end + +#define OCMNever() ([OCMQuantifier never]) +#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) +#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) +#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) + +#ifndef OCM_DISABLE_SHORT_QSYNTAX +#define never() OCMNever() +#define times(n) OCMTimes(n) +#define atLeast(n) OCMAtLeast(n) +#define atMost(n) OCMAtMost(n) +#endif diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMRecorder.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMRecorder.h new file mode 100644 index 0000000..6b68343 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMRecorder.h @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMockObject; +@class OCMInvocationMatcher; + +@interface OCMRecorder : NSProxy { + OCMockObject *mockObject; + OCMInvocationMatcher *invocationMatcher; + BOOL didRecordInvocation; + BOOL shouldReturnMockFromInit; +} + +- (instancetype)init; +- (instancetype)initWithMockObject:(OCMockObject *)aMockObject; + +- (void)setMockObject:(OCMockObject *)aMockObject; +- (void)setShouldReturnMockFromInit:(BOOL)flag; + +- (OCMInvocationMatcher *)invocationMatcher; +- (BOOL)didRecordInvocation; + +- (id)classMethod; +- (id)ignoringNonObjectArgs; + +@end + +@interface OCMRecorder (Properties) + +#define ignoringNonObjectArgs() _ignoringNonObjectArgs() +@property(nonatomic, readonly) OCMRecorder * (^_ignoringNonObjectArgs)(void); + +@end diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMStubRecorder.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMStubRecorder.h new file mode 100644 index 0000000..cd1772e --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMStubRecorder.h @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import +#import + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +@class XCTestExpectation; +#endif + +@interface OCMStubRecorder : OCMRecorder + +- (id)andReturn:(id)anObject; +- (id)andReturnValue:(NSValue *)aValue; +- (id)andThrow:(NSException *)anException; +- (id)andPost:(NSNotification *)aNotification; +- (id)andCall:(SEL)selector onObject:(id)anObject; +- (id)andDo:(void (^)(NSInvocation *invocation))block; +- (id)andForwardToRealObject; + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +- (id)andFulfill:(XCTestExpectation *)expectation; +#endif + +@end + +@interface OCMStubRecorder (Properties) + +#define andReturn(aValue) \ + _andReturn(({ \ + __typeof__(aValue) _val = (aValue); \ + NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ + if (OCMIsObjectType(@encode(__typeof(_val)))) { \ + objc_setAssociatedObject(_nsval, \ + "OCMAssociatedBoxedValue", \ + *(__unsafe_unretained id *)(void *)&_val, \ + OBJC_ASSOCIATION_RETAIN); \ + } \ + _nsval; \ + })) +@property(nonatomic, readonly) OCMStubRecorder * (^_andReturn)(NSValue *); + +#define andThrow(anException) _andThrow(anException) +@property(nonatomic, readonly) OCMStubRecorder * (^_andThrow)(NSException *); + +#define andPost(aNotification) _andPost(aNotification) +@property(nonatomic, readonly) OCMStubRecorder * (^_andPost)(NSNotification *); + +#define andCall(anObject, aSelector) _andCall(anObject, aSelector) +@property(nonatomic, readonly) OCMStubRecorder * (^_andCall)(id, SEL); + +#define andDo(aBlock) _andDo(aBlock) +@property(nonatomic, readonly) OCMStubRecorder * (^_andDo)(void (^)(NSInvocation *)); + +#define andForwardToRealObject() _andForwardToRealObject() +@property(nonatomic, readonly) OCMStubRecorder * (^_andForwardToRealObject)(void); + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +#define andFulfill(anExpectation) _andFulfill(anExpectation) +@property(nonatomic, readonly) OCMStubRecorder * (^_andFulfill)(XCTestExpectation *); +#endif + +@property(nonatomic, readonly) OCMStubRecorder * (^_ignoringNonObjectArgs)(void); + +#define andBreak() \ + _andDo(^(NSInvocation * _invocation) { \ + __builtin_debugtrap(); \ + }) + +#define andLog(_format, ...) \ + _andDo(^(NSInvocation * _invocation) { \ + NSLog(_format, ##__VA_ARGS__); \ + }) + +@end diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMVerifier.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMVerifier.h new file mode 100644 index 0000000..217acdb --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMVerifier.h @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; + +@interface OCMVerifier : OCMRecorder + +@property(strong) OCMLocation *location; +@property(strong) OCMQuantifier *quantifier; + +- (id)withQuantifier:(OCMQuantifier *)quantifier; + +@end diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMock.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMock.h new file mode 100644 index 0000000..b1b3e14 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMock.h @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMockMacros.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMockMacros.h new file mode 100644 index 0000000..6de97b2 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMockMacros.h @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#ifdef OCM_DISABLE_SHORT_SYNTAX +#define OCM_DISABLE_SHORT_QSYNTAX +#endif + +#define OCMClassMock(cls) [OCMockObject niceMockForClass:cls] + +#define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls] + +#define OCMProtocolMock(protocol) [OCMockObject niceMockForProtocol:protocol] + +#define OCMStrictProtocolMock(protocol) [OCMockObject mockForProtocol:protocol] + +#define OCMPartialMock(obj) [OCMockObject partialMockForObject:obj] + +#define OCMObserverMock() [OCMockObject observerMock] + +#define OCMStub(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginStubMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endStubMacro]; } recorder;); \ + }) + +#define OCMExpect(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginExpectMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endExpectMacro]; } recorder;); \ + }) + +#define OCMReject(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginRejectMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endRejectMacro]; } recorder;); \ + }) + +#define OCMClassMethod(invocation) \ + _OCMSilenceWarnings([[OCMMacroState globalState] switchToClassMethod]; invocation;); + +#ifndef OCM_DISABLE_SHORT_SYNTAX +#define ClassMethod(invocation) OCMClassMethod(invocation) +#endif + +#define OCMVerifyAll(mock) \ + [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define OCMVerifyAllWithDelay(mock, delay) \ + [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define _OCMVerify(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { [OCMMacroState endVerifyMacro]; }); \ + }) + +#define _OCMVerifyWithQuantifier(quantifier, invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) \ + withQuantifier:quantifier]; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { [OCMMacroState endVerifyMacro]; }); \ + }) + +// explanation for macros below here: +// https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros + +#define _OCMVerify_1(A) _OCMVerify(A) +#define _OCMVerify_2(A, B) _OCMVerifyWithQuantifier(A, B) +#define _OCMVerify_X(x, A, B, FUNC, ...) FUNC +#define OCMVerify(...) \ + _OCMVerify_X(, ##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) + +#define _OCMSilenceWarnings(macro) \ + ({_Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ + _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ + _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ + macro _Pragma("clang diagnostic pop")}) diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMockObject.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMockObject.h new file mode 100644 index 0000000..b7f2304 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMockObject.h @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; +@class OCMInvocationStub; +@class OCMStubRecorder; +@class OCMInvocationMatcher; +@class OCMInvocationExpectation; + +@interface OCMockObject : NSProxy { + BOOL isNice; + BOOL expectationOrderMatters; + NSMutableArray *stubs; + NSMutableArray *expectations; + NSMutableArray *exceptions; + NSMutableArray *invocations; +} + ++ (id)mockForClass:(Class)aClass; ++ (id)mockForProtocol:(Protocol *)aProtocol; ++ (id)partialMockForObject:(NSObject *)anObject; + ++ (id)niceMockForClass:(Class)aClass; ++ (id)niceMockForProtocol:(Protocol *)aProtocol; + ++ (id)observerMock __deprecated_msg("Please use XCTNSNotificationExpectation instead."); + +- (instancetype)init; + +- (void)setExpectationOrderMatters:(BOOL)flag; + +- (id)stub; +- (id)expect; +- (id)reject; + +- (id)verify; +- (id)verifyAtLocation:(OCMLocation *)location; + +- (void)verifyWithDelay:(NSTimeInterval)delay; +- (void)verifyWithDelay:(NSTimeInterval)delay atLocation:(OCMLocation *)location; + +- (void)stopMocking; + +// internal use only + +- (void)addStub:(OCMInvocationStub *)aStub; +- (void)addExpectation:(OCMInvocationExpectation *)anExpectation; +- (void)addInvocation:(NSInvocation *)anInvocation; + +- (BOOL)handleInvocation:(NSInvocation *)anInvocation; +- (void)handleUnRecordedInvocation:(NSInvocation *)anInvocation; +- (BOOL)handleSelector:(SEL)sel; + +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher + withQuantifier:(OCMQuantifier *)quantifier + atLocation:(OCMLocation *)location; +- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher + quantifier:(OCMQuantifier *)quantifier + invocationCount:(NSUInteger)count; + +@end diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Modules/module.modulemap b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Modules/module.modulemap new file mode 100644 index 0000000..052ea7f --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Modules/module.modulemap @@ -0,0 +1,7 @@ +framework module OCMock { + umbrella header "OCMock.h" export * + + module * { + export * + } +} diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/OCMock b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/OCMock new file mode 100755 index 0000000000000000000000000000000000000000..d3be4563645f6001eb62326ac0a88d0b90f465d9 GIT binary patch literal 412224 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

-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

pex)d9B1<*%Wky_^Ot<6iE8V5{ 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

%!Q_Kh zRT>#yR94R0f=&(=P^X&N@TcJJ8G9fkp0wXg;gwlG){OtTB3sZ7Id>i1?)A&bOd8ktC#=`?LiBVfo3 zM1wiZK)}qPIwN#0tpoXTO9Zpy<}-7VcEKK0otE89A!JV@P&%D2n6OSY(+S-b38Z9l z2GcU>x&EZnn^iy#hT#E&HV0Lhktb4qZYj($jmaveDyOq$IA68zgPO&)^SQb`J9n_y zb{-?;jP?*zd%Fb!>ATsCEEvwp()IdMclb=p#bu_ioKOVHpdMYAQsypTP}roKIsz`O zWU+&4tSqJ`&Ha^KmxIZwO>>szROsMy=+wMxNv*Dm4jFdt(FV;F#%almcbCR|OU}H6 z$Y^;9;WYCi8fxa*aIgn+;9xQnPrv!9w*3(f_F&=;CgogK-RN;2B+3)uV%@(>CL-#n zndw=lbV8De{;)$()6B+^T+m_$+0@Y7-T%PrYm$;+7BdtT2RTKMDB4i2ExSdky-!A* zER&RLrnosS2UAcM7;X#oiYTwY!ZjmU?-r#*{qHsw5}hb^T>_62@Y#4deCHHr+P~eK z+bw5oua@w54!^Q^rKIEIro5rh^OX-@o z>*h7&%q?CR+pm7=HLZR>fAPrTiyNPR_0W5}?t1H#2Rau1IP1!~k{feYt~xOK-OYXe zeOy`Nu3Ju9-fs7h%1J$X&7Yde?Ym`d|1)Q=`FcPs@9c(l9dCPk!NM0$+b_3qP}Q*q zf3$jD$qf%*wrI)d#4FpzE#Gs)+O-o~mW*!o+qB1~{o#uDo}E4Hs+0cupVI#}wc_FG z&Sz{`H)!yZofoZpZvSb|5AC}xx^3IKjkRBln%&{nXWyMBD}nm%oNcY1&DWw-9J=*^=aIpOP*4qSJ{k^fw?@2rj^7qwaT=o!b&i|+hj zcju#uA86dZW9an%I(+@ft=@d#jUx@lD8&EXsGefrHkeqgQ2cg~;7Zfd>d>YJ;cT65!1YhS(i z%eo0abl7^=$A`6Refp>+o4aotH+$HoDGj@-TJ~7_P01&R-+lCg$A=#L)z~c?-(7Ug z<^|i^b*kAqWcpq^AN%_7#e+NkG^5{%7mwPj^q<$=)3BtZZ1kO%|88{4rSA^AMcj^m_KX$(*8MH54&~cUq9(QuziO?*IiV-*2`2uidEBmjX zbb1!vl*eUVMMc^qOf~A0PP9p~Z6_xa9Z;KI_I>FaGMJ*PpuJ%-c>GdH?JV z<%Q#qSTgCu=h{vhcG1$^eHMQ6#6j*-kgcTZi{b->4O zpSk|8tG3PBv3ADom#o-UdBTF@XRN(-{|8$R-SdLY!;b6MV%-7l9(k^|*&{rk$9e{C2z^Nt?|pH;b`;gtFz!yi63KIPj-U$6iE zuC>L{vR6;*baMI2KiqZa^yxe9&HwVAhfe?K*fm{#dGdp^8u#fkH1^`sA3y!^it^%B zr56?4wJPVwy_R15&}paSKQi{@u4jFlSoY`FKYC~GeS4O5y5#0Fx^MjWwS`yA+5aE! z4jXpzd1tM;`j^BF4`20b@j)kCI=o}grJI)jY;s7yXGuDu5Z1`N`%H)oo51GknC-v9H~DRG-+0xyLVj`-oR2?RCk)yE{Fy{*RBJ)BX6e zZTELuH?j4$Rv)kba?`IJpTB?kn?Egn=K05dZL|5}E1o;+j(J^Xop{7?Cv1IV=T}u9 zEvdfdh#UT%n_D#e?xT0MKdtY>-hkN0}?k!SMG-uy|=_trkqx82C! z=Do4+^)Qn0F-?qAyEpH{|8C + + + + files + + Headers/NSNotificationCenter+OCMAdditions.h + + vONiqh5sL6dS88Kx8JYNEZSgZs0= + + Headers/OCMArg.h + + 2TtJQtEo2sCB6zXIpOR5CpHd6ZI= + + Headers/OCMConstraint.h + + Xas8pGuJGxTT/F4ey/TyYW8RdsE= + + Headers/OCMFunctions.h + + 8vgivFuntcZU8V6MIPS/qI7+76c= + + Headers/OCMLocation.h + + /0CRbUvWS/08eIbkc7Qs0rVCIpc= + + Headers/OCMMacroState.h + + eG9h5aC1sciDnimn2qd8D3Whgs8= + + Headers/OCMQuantifier.h + + Iz/nUSovlPskrKgJYN3wtrzsQwI= + + Headers/OCMRecorder.h + + Nuc9k8M2llCQS3ElBXYmXmOgYSA= + + Headers/OCMStubRecorder.h + + UlinOlGX+5BrG/p3FpLJyfKrfBc= + + Headers/OCMVerifier.h + + XkRNOUntVvz91+zCRZHKop6Mpm4= + + Headers/OCMock.h + + On/6fINORTxTz9S5hDINgwB7Q+k= + + Headers/OCMockMacros.h + + I/Um7WTr4ycb9SAiuXqMQqZr56s= + + Headers/OCMockObject.h + + gs1jfQy3OVzcDFaoOf3h85dDCHg= + + Info.plist + + ypwSWa/twhdFOU1u7aTfsK/n/1k= + + Modules/module.modulemap + + D8QZr5r+V+F/EzuAFJHCo218QzY= + + + files2 + + Headers/NSNotificationCenter+OCMAdditions.h + + hash2 + + OpqlLXl1TYpgdESPdjTcl8ukOnx3PIF/CW2vaf8Hffg= + + + Headers/OCMArg.h + + hash2 + + KlkzlNlKwrlSANkeM5T8f5FOJdV/6ehZzv7wvyec5KA= + + + Headers/OCMConstraint.h + + hash2 + + 2U5VzXM/137kdDaimPrTw7LgWDfexU81LodocYo6kc0= + + + Headers/OCMFunctions.h + + hash2 + + RkAZXLHoOdzRAcb5Xj1jfbb4HG46uX2ebbvAQuL02tE= + + + Headers/OCMLocation.h + + hash2 + + ccpsG99Nw50eW0nZvLv/IozvOnpFCvXqTcFMQkNv1bU= + + + Headers/OCMMacroState.h + + hash2 + + CvW82Uxav33uzaXGAxUzM2ue5TYOB7xRmnoIZ/X/xgs= + + + Headers/OCMQuantifier.h + + hash2 + + AR64qzDpATQzBQbotenP205lhYh7IEtfrdb2tfkjvOk= + + + Headers/OCMRecorder.h + + hash2 + + 2yDq8ywLd4CnfinJmX1elhIUKtQRYv+bJDX5p+KPATo= + + + Headers/OCMStubRecorder.h + + hash2 + + YJjzSF6DMhEmPqm7LnSnWdiCqSwsepMeGN4i1SKoHz4= + + + Headers/OCMVerifier.h + + hash2 + + AX+jq2RcKI06XrCgrYSS5p4CGtyEdt0fNSLdsUkOmjk= + + + Headers/OCMock.h + + hash2 + + Vt6bfx1xsYy28YCOPDtY7NzbG6grfcluwOF5MZqjyd4= + + + Headers/OCMockMacros.h + + hash2 + + p45nXBg6Fyw2+Orzsv08dNq/tVPRv8ccEh8pkl2T/nk= + + + Headers/OCMockObject.h + + hash2 + + SWo2XBfpB3ZcUgcIZvzTYDXcjmquNSdDpEXNe0U1zeo= + + + Modules/module.modulemap + + hash2 + + pJYkV/qB275HCglrXGI/POf3dh+jBQ7qNq2ZpQojitk= + + + + rules + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h new file mode 100644 index 0000000..b25eeef --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2009-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCObserverMockObject; + +@interface NSNotificationCenter (OCMAdditions) + +- (void)addMockObserver:(OCObserverMockObject *)notificationObserver + name:(NSString *)notificationName + object:(id)notificationSender; + +@end diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMArg.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMArg.h new file mode 100644 index 0000000..5cbbd4f --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMArg.h @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2009-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMArg : NSObject + +// constraining arguments + ++ (id)any; ++ (SEL)anySelector; ++ (void *)anyPointer; ++ (id __autoreleasing *)anyObjectRef; ++ (id)isNil; ++ (id)isNotNil; ++ (id)isEqual:(id)value; ++ (id)isNotEqual:(id)value; ++ (id)isKindOfClass:(Class)cls; ++ (id)checkWithSelector:(SEL)selector onObject:(id)anObject; ++ (id)checkWithBlock:(BOOL (^)(id obj))block; + +// manipulating arguments + ++ (id *)setTo:(id)value; ++ (void *)setToValue:(NSValue *)value; ++ (id)invokeBlock; ++ (id)invokeBlockWithArgs:(id)first, ... NS_REQUIRES_NIL_TERMINATION; + ++ (id)defaultValue; + +// internal use only + ++ (id)resolveSpecialValues:(NSValue *)value; + +@end + +#define OCMOCK_ANY [OCMArg any] + +#define OCMOCK_VALUE(variable) \ + ({ \ + __typeof__(variable) __v = (variable); \ + [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; \ + }) diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMConstraint.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMConstraint.h new file mode 100644 index 0000000..d5c5f96 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMConstraint.h @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2007-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMConstraint : NSObject + ++ (instancetype)constraint; +- (BOOL)evaluate:(id)value; + +// if you are looking for any, isNil, etc, they have moved to OCMArg + +// try to use [OCMArg checkWith...] instead of the constraintWith... methods below + ++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; ++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue; + +@end + +@interface OCMAnyConstraint : OCMConstraint +@end + +@interface OCMIsNilConstraint : OCMConstraint +@end + +@interface OCMIsNotNilConstraint : OCMConstraint +@end + +@interface OCMIsNotEqualConstraint : OCMConstraint { + @public + id testValue; +} + +@end + +@interface OCMInvocationConstraint : OCMConstraint { + @public + NSInvocation *invocation; +} + +@end + +@interface OCMBlockConstraint : OCMConstraint { + BOOL (^block)(id); +} + +- (instancetype)initWithConstraintBlock:(BOOL (^)(id))block; + +@end + +#ifndef OCM_DISABLE_SHORT_SYNTAX +#define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] +#define CONSTRAINTV(aSelector, aValue) \ + [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] +#endif diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMFunctions.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMFunctions.h new file mode 100644 index 0000000..1119402 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMFunctions.h @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +#if defined(__cplusplus) +#define OCMOCK_EXTERN extern "C" +#else +#define OCMOCK_EXTERN extern +#endif + +OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); +OCMOCK_EXTERN BOOL OCMIsSubclassOfMockClass(Class cls); diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMLocation.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMLocation.h new file mode 100644 index 0000000..fd64f42 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMLocation.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import + +@interface OCMLocation : NSObject { + id testCase; + NSString *file; + NSUInteger line; +} + ++ (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; + +- (instancetype)initWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; + +- (id)testCase; +- (NSString *)file; +- (NSUInteger)line; + +@end + +OCMOCK_EXTERN OCMLocation *OCMMakeLocation(id testCase, const char *file, int line); diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMMacroState.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMMacroState.h new file mode 100644 index 0000000..8d92be2 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMMacroState.h @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; +@class OCMRecorder; +@class OCMStubRecorder; +@class OCMockObject; + +@interface OCMMacroState : NSObject { + OCMRecorder *recorder; + BOOL invocationDidThrow; +} + ++ (void)beginStubMacro; ++ (OCMStubRecorder *)endStubMacro; + ++ (void)beginExpectMacro; ++ (OCMStubRecorder *)endExpectMacro; + ++ (void)beginRejectMacro; ++ (OCMStubRecorder *)endRejectMacro; + ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation + withQuantifier:(OCMQuantifier *)quantifier; ++ (void)endVerifyMacro; + ++ (OCMMacroState *)globalState; + +- (void)setRecorder:(OCMRecorder *)aRecorder; +- (OCMRecorder *)recorder; + +- (void)switchToClassMethod; + +- (void)setInvocationDidThrow:(BOOL)flag; +- (BOOL)invocationDidThrow; + +@end diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMQuantifier.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMQuantifier.h new file mode 100644 index 0000000..31d1847 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMQuantifier.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2016-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMQuantifier : NSObject { + NSUInteger expectedCount; +} + ++ (instancetype)never; ++ (instancetype)exactly:(NSUInteger)count; ++ (instancetype)atLeast:(NSUInteger)count; ++ (instancetype)atMost:(NSUInteger)count; + +- (BOOL)isValidCount:(NSUInteger)count; + +- (NSString *)description; + +@end + +#define OCMNever() ([OCMQuantifier never]) +#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) +#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) +#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) + +#ifndef OCM_DISABLE_SHORT_QSYNTAX +#define never() OCMNever() +#define times(n) OCMTimes(n) +#define atLeast(n) OCMAtLeast(n) +#define atMost(n) OCMAtMost(n) +#endif diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMRecorder.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMRecorder.h new file mode 100644 index 0000000..6b68343 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMRecorder.h @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMockObject; +@class OCMInvocationMatcher; + +@interface OCMRecorder : NSProxy { + OCMockObject *mockObject; + OCMInvocationMatcher *invocationMatcher; + BOOL didRecordInvocation; + BOOL shouldReturnMockFromInit; +} + +- (instancetype)init; +- (instancetype)initWithMockObject:(OCMockObject *)aMockObject; + +- (void)setMockObject:(OCMockObject *)aMockObject; +- (void)setShouldReturnMockFromInit:(BOOL)flag; + +- (OCMInvocationMatcher *)invocationMatcher; +- (BOOL)didRecordInvocation; + +- (id)classMethod; +- (id)ignoringNonObjectArgs; + +@end + +@interface OCMRecorder (Properties) + +#define ignoringNonObjectArgs() _ignoringNonObjectArgs() +@property(nonatomic, readonly) OCMRecorder * (^_ignoringNonObjectArgs)(void); + +@end diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMStubRecorder.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMStubRecorder.h new file mode 100644 index 0000000..cd1772e --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMStubRecorder.h @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import +#import + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +@class XCTestExpectation; +#endif + +@interface OCMStubRecorder : OCMRecorder + +- (id)andReturn:(id)anObject; +- (id)andReturnValue:(NSValue *)aValue; +- (id)andThrow:(NSException *)anException; +- (id)andPost:(NSNotification *)aNotification; +- (id)andCall:(SEL)selector onObject:(id)anObject; +- (id)andDo:(void (^)(NSInvocation *invocation))block; +- (id)andForwardToRealObject; + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +- (id)andFulfill:(XCTestExpectation *)expectation; +#endif + +@end + +@interface OCMStubRecorder (Properties) + +#define andReturn(aValue) \ + _andReturn(({ \ + __typeof__(aValue) _val = (aValue); \ + NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ + if (OCMIsObjectType(@encode(__typeof(_val)))) { \ + objc_setAssociatedObject(_nsval, \ + "OCMAssociatedBoxedValue", \ + *(__unsafe_unretained id *)(void *)&_val, \ + OBJC_ASSOCIATION_RETAIN); \ + } \ + _nsval; \ + })) +@property(nonatomic, readonly) OCMStubRecorder * (^_andReturn)(NSValue *); + +#define andThrow(anException) _andThrow(anException) +@property(nonatomic, readonly) OCMStubRecorder * (^_andThrow)(NSException *); + +#define andPost(aNotification) _andPost(aNotification) +@property(nonatomic, readonly) OCMStubRecorder * (^_andPost)(NSNotification *); + +#define andCall(anObject, aSelector) _andCall(anObject, aSelector) +@property(nonatomic, readonly) OCMStubRecorder * (^_andCall)(id, SEL); + +#define andDo(aBlock) _andDo(aBlock) +@property(nonatomic, readonly) OCMStubRecorder * (^_andDo)(void (^)(NSInvocation *)); + +#define andForwardToRealObject() _andForwardToRealObject() +@property(nonatomic, readonly) OCMStubRecorder * (^_andForwardToRealObject)(void); + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +#define andFulfill(anExpectation) _andFulfill(anExpectation) +@property(nonatomic, readonly) OCMStubRecorder * (^_andFulfill)(XCTestExpectation *); +#endif + +@property(nonatomic, readonly) OCMStubRecorder * (^_ignoringNonObjectArgs)(void); + +#define andBreak() \ + _andDo(^(NSInvocation * _invocation) { \ + __builtin_debugtrap(); \ + }) + +#define andLog(_format, ...) \ + _andDo(^(NSInvocation * _invocation) { \ + NSLog(_format, ##__VA_ARGS__); \ + }) + +@end diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMock.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMock.h new file mode 100644 index 0000000..b1b3e14 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMock.h @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMockMacros.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMockMacros.h new file mode 100644 index 0000000..6de97b2 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMockMacros.h @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#ifdef OCM_DISABLE_SHORT_SYNTAX +#define OCM_DISABLE_SHORT_QSYNTAX +#endif + +#define OCMClassMock(cls) [OCMockObject niceMockForClass:cls] + +#define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls] + +#define OCMProtocolMock(protocol) [OCMockObject niceMockForProtocol:protocol] + +#define OCMStrictProtocolMock(protocol) [OCMockObject mockForProtocol:protocol] + +#define OCMPartialMock(obj) [OCMockObject partialMockForObject:obj] + +#define OCMObserverMock() [OCMockObject observerMock] + +#define OCMStub(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginStubMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endStubMacro]; } recorder;); \ + }) + +#define OCMExpect(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginExpectMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endExpectMacro]; } recorder;); \ + }) + +#define OCMReject(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginRejectMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endRejectMacro]; } recorder;); \ + }) + +#define OCMClassMethod(invocation) \ + _OCMSilenceWarnings([[OCMMacroState globalState] switchToClassMethod]; invocation;); + +#ifndef OCM_DISABLE_SHORT_SYNTAX +#define ClassMethod(invocation) OCMClassMethod(invocation) +#endif + +#define OCMVerifyAll(mock) \ + [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define OCMVerifyAllWithDelay(mock, delay) \ + [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define _OCMVerify(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { [OCMMacroState endVerifyMacro]; }); \ + }) + +#define _OCMVerifyWithQuantifier(quantifier, invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) \ + withQuantifier:quantifier]; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { [OCMMacroState endVerifyMacro]; }); \ + }) + +// explanation for macros below here: +// https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros + +#define _OCMVerify_1(A) _OCMVerify(A) +#define _OCMVerify_2(A, B) _OCMVerifyWithQuantifier(A, B) +#define _OCMVerify_X(x, A, B, FUNC, ...) FUNC +#define OCMVerify(...) \ + _OCMVerify_X(, ##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) + +#define _OCMSilenceWarnings(macro) \ + ({_Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ + _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ + _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ + macro _Pragma("clang diagnostic pop")}) diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMockObject.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMockObject.h new file mode 100644 index 0000000..b7f2304 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMockObject.h @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; +@class OCMInvocationStub; +@class OCMStubRecorder; +@class OCMInvocationMatcher; +@class OCMInvocationExpectation; + +@interface OCMockObject : NSProxy { + BOOL isNice; + BOOL expectationOrderMatters; + NSMutableArray *stubs; + NSMutableArray *expectations; + NSMutableArray *exceptions; + NSMutableArray *invocations; +} + ++ (id)mockForClass:(Class)aClass; ++ (id)mockForProtocol:(Protocol *)aProtocol; ++ (id)partialMockForObject:(NSObject *)anObject; + ++ (id)niceMockForClass:(Class)aClass; ++ (id)niceMockForProtocol:(Protocol *)aProtocol; + ++ (id)observerMock __deprecated_msg("Please use XCTNSNotificationExpectation instead."); + +- (instancetype)init; + +- (void)setExpectationOrderMatters:(BOOL)flag; + +- (id)stub; +- (id)expect; +- (id)reject; + +- (id)verify; +- (id)verifyAtLocation:(OCMLocation *)location; + +- (void)verifyWithDelay:(NSTimeInterval)delay; +- (void)verifyWithDelay:(NSTimeInterval)delay atLocation:(OCMLocation *)location; + +- (void)stopMocking; + +// internal use only + +- (void)addStub:(OCMInvocationStub *)aStub; +- (void)addExpectation:(OCMInvocationExpectation *)anExpectation; +- (void)addInvocation:(NSInvocation *)anInvocation; + +- (BOOL)handleInvocation:(NSInvocation *)anInvocation; +- (void)handleUnRecordedInvocation:(NSInvocation *)anInvocation; +- (BOOL)handleSelector:(SEL)sel; + +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher + withQuantifier:(OCMQuantifier *)quantifier + atLocation:(OCMLocation *)location; +- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher + quantifier:(OCMQuantifier *)quantifier + invocationCount:(NSUInteger)count; + +@end diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Info.plist b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Info.plist new file mode 100644 index 0000000000000000000000000000000000000000..5c1602746b949ae0c4de144ee314ea589dee4be7 GIT binary patch literal 875 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 z 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

p=BV;Di^JWkZ*Sio+*j%C$bFFaD> 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 CVIva& literal 0 HcmV?d00001 diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/_CodeSignature/CodeResources b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/_CodeSignature/CodeResources new file mode 100644 index 0000000..64abb31 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/_CodeSignature/CodeResources @@ -0,0 +1,297 @@ + + + + + files + + Headers/NSNotificationCenter+OCMAdditions.h + + vONiqh5sL6dS88Kx8JYNEZSgZs0= + + Headers/OCMArg.h + + 2TtJQtEo2sCB6zXIpOR5CpHd6ZI= + + Headers/OCMConstraint.h + + Xas8pGuJGxTT/F4ey/TyYW8RdsE= + + Headers/OCMFunctions.h + + 8vgivFuntcZU8V6MIPS/qI7+76c= + + Headers/OCMLocation.h + + /0CRbUvWS/08eIbkc7Qs0rVCIpc= + + Headers/OCMMacroState.h + + eG9h5aC1sciDnimn2qd8D3Whgs8= + + Headers/OCMQuantifier.h + + Iz/nUSovlPskrKgJYN3wtrzsQwI= + + Headers/OCMRecorder.h + + Nuc9k8M2llCQS3ElBXYmXmOgYSA= + + Headers/OCMStubRecorder.h + + UlinOlGX+5BrG/p3FpLJyfKrfBc= + + Headers/OCMock.h + + On/6fINORTxTz9S5hDINgwB7Q+k= + + Headers/OCMockMacros.h + + I/Um7WTr4ycb9SAiuXqMQqZr56s= + + Headers/OCMockObject.h + + gs1jfQy3OVzcDFaoOf3h85dDCHg= + + Info.plist + + eYsacQNrGmXbyV2m226MyGvCnnc= + + Modules/module.modulemap + + D8QZr5r+V+F/EzuAFJHCo218QzY= + + + files2 + + Headers/NSNotificationCenter+OCMAdditions.h + + hash + + vONiqh5sL6dS88Kx8JYNEZSgZs0= + + hash2 + + OpqlLXl1TYpgdESPdjTcl8ukOnx3PIF/CW2vaf8Hffg= + + + Headers/OCMArg.h + + hash + + 2TtJQtEo2sCB6zXIpOR5CpHd6ZI= + + hash2 + + KlkzlNlKwrlSANkeM5T8f5FOJdV/6ehZzv7wvyec5KA= + + + Headers/OCMConstraint.h + + hash + + Xas8pGuJGxTT/F4ey/TyYW8RdsE= + + hash2 + + 2U5VzXM/137kdDaimPrTw7LgWDfexU81LodocYo6kc0= + + + Headers/OCMFunctions.h + + hash + + 8vgivFuntcZU8V6MIPS/qI7+76c= + + hash2 + + RkAZXLHoOdzRAcb5Xj1jfbb4HG46uX2ebbvAQuL02tE= + + + Headers/OCMLocation.h + + hash + + /0CRbUvWS/08eIbkc7Qs0rVCIpc= + + hash2 + + ccpsG99Nw50eW0nZvLv/IozvOnpFCvXqTcFMQkNv1bU= + + + Headers/OCMMacroState.h + + hash + + eG9h5aC1sciDnimn2qd8D3Whgs8= + + hash2 + + CvW82Uxav33uzaXGAxUzM2ue5TYOB7xRmnoIZ/X/xgs= + + + Headers/OCMQuantifier.h + + hash + + Iz/nUSovlPskrKgJYN3wtrzsQwI= + + hash2 + + AR64qzDpATQzBQbotenP205lhYh7IEtfrdb2tfkjvOk= + + + Headers/OCMRecorder.h + + hash + + Nuc9k8M2llCQS3ElBXYmXmOgYSA= + + hash2 + + 2yDq8ywLd4CnfinJmX1elhIUKtQRYv+bJDX5p+KPATo= + + + Headers/OCMStubRecorder.h + + hash + + UlinOlGX+5BrG/p3FpLJyfKrfBc= + + hash2 + + YJjzSF6DMhEmPqm7LnSnWdiCqSwsepMeGN4i1SKoHz4= + + + Headers/OCMock.h + + hash + + On/6fINORTxTz9S5hDINgwB7Q+k= + + hash2 + + Vt6bfx1xsYy28YCOPDtY7NzbG6grfcluwOF5MZqjyd4= + + + Headers/OCMockMacros.h + + hash + + I/Um7WTr4ycb9SAiuXqMQqZr56s= + + hash2 + + p45nXBg6Fyw2+Orzsv08dNq/tVPRv8ccEh8pkl2T/nk= + + + Headers/OCMockObject.h + + hash + + gs1jfQy3OVzcDFaoOf3h85dDCHg= + + hash2 + + SWo2XBfpB3ZcUgcIZvzTYDXcjmquNSdDpEXNe0U1zeo= + + + Modules/module.modulemap + + hash + + D8QZr5r+V+F/EzuAFJHCo218QzY= + + hash2 + + pJYkV/qB275HCglrXGI/POf3dh+jBQ7qNq2ZpQojitk= + + + + rules + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + From d28d8c4bbc4fd4823a8994040d13a3c4cecce5e3 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Mon, 9 Oct 2023 13:16:01 +0300 Subject: [PATCH 05/31] Implement `NVCaptureConfiguration` --- .../Core/Models/NVCaptureConfiguration.h | 31 +++ .../Core/Models/NVCaptureConfiguration.m | 45 ++++ .../Classes/Core/Models/NVCaptureQuality.h | 18 ++ .../CaptureService/NVCaptureService.h | 41 ++++ .../CaptureService/NVCaptureService.m | 193 ++++++++++++++++++ .../CaptureService/NVCaptureServiceDelegate.h | 30 +++ 6 files changed, 358 insertions(+) create mode 100644 CaptureKit/Classes/Core/Models/NVCaptureConfiguration.h create mode 100644 CaptureKit/Classes/Core/Models/NVCaptureConfiguration.m create mode 100644 CaptureKit/Classes/Core/Models/NVCaptureQuality.h create mode 100644 CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.h create mode 100644 CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.m create mode 100644 CaptureKit/Classes/Core/Services/CaptureService/NVCaptureServiceDelegate.h diff --git a/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.h b/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.h new file mode 100644 index 0000000..50157f0 --- /dev/null +++ b/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.h @@ -0,0 +1,31 @@ +// +// NVCaptureConfiguration.h +// CaptureKit +// +// Created by Никита Васильев on 09.10.2023. +// Copyright © 2023 space-code. All rights reserved. +// + +#import +#import "NVCaptureQuality.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface NVCaptureConfiguration : NSObject +- (instancetype)init NS_UNAVAILABLE; + +- (nullable instancetype)initWithFPS:(NSUInteger)fps + isCursorVisible:(BOOL)isCursorVisible + isCaptureMouseClick:(BOOL)isCaptureMouseClick + captureQuality:(NVCaptureQuality)captureQuality; + +@property(nonatomic, readonly, assign) NSUInteger fps; +@property(nonatomic, readonly, assign) BOOL capturesCursor; +@property(nonatomic, readonly, assign) BOOL capturesMouseClicks; +@property(nonatomic, readonly, assign) NVCaptureQuality captureQuality; + ++ (NVCaptureConfiguration *)default; + +@end + +NS_ASSUME_NONNULL_END diff --git a/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.m b/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.m new file mode 100644 index 0000000..0e0c279 --- /dev/null +++ b/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.m @@ -0,0 +1,45 @@ +// +// NVCaptureConfiguration.m +// CaptureKit +// +// Created by Никита Васильев on 09.10.2023. +// Copyright © 2023 space-code. All rights reserved. +// + +#import "NVCaptureConfiguration.h" +#import + +NS_ASSUME_NONNULL_BEGIN + +@implementation NVCaptureConfiguration + +#pragma mark - Initialization + +- (nullable instancetype)initWithFPS:(NSUInteger)fps + isCursorVisible:(BOOL)isCursorVisible + isCaptureMouseClick:(BOOL)isCaptureMouseClick + captureQuality:(NVCaptureQuality)captureQuality { + self = [super init]; + + if (self) { + _fps = fps; + _capturesCursor = isCursorVisible; + _capturesMouseClicks = isCaptureMouseClick; + _captureQuality = captureQuality; + } + + return self; +} + +#pragma mark - Class Methods + ++ (NVCaptureConfiguration *)default { + return [[NVCaptureConfiguration alloc] initWithFPS:60 + isCursorVisible:YES + isCaptureMouseClick:NO + captureQuality:High]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/CaptureKit/Classes/Core/Models/NVCaptureQuality.h b/CaptureKit/Classes/Core/Models/NVCaptureQuality.h new file mode 100644 index 0000000..18d3409 --- /dev/null +++ b/CaptureKit/Classes/Core/Models/NVCaptureQuality.h @@ -0,0 +1,18 @@ +// +// NVCaptureQuality.h +// CaptureKit +// +// Created by Никита Васильев on 09.10.2023. +// Copyright © 2023 space-code. All rights reserved. +// + +#ifndef NVCaptureQuality_h +#define NVCaptureQuality_h + +typedef NS_ENUM(NSUInteger, NVCaptureQuality) { + High, + Medium, + Low, +}; + +#endif /* NVCaptureQuality_h */ diff --git a/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.h b/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.h new file mode 100644 index 0000000..727c842 --- /dev/null +++ b/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.h @@ -0,0 +1,41 @@ +// +// NVCaptureService.h +// CaptureKit +// +// Created by Никита Васильев on 09.10.2023. +// Copyright © 2023 space-code. All rights reserved. +// + +#import +#import + +#import "NVCaptureConfiguration.h" +#import "NVCaptureServiceDelegate.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface NVCaptureService : NSObject + +@property(nonatomic, weak) id delegate; + +@property(nonatomic, strong, readonly) AVCaptureSession *captureSession; +@property(nonatomic, strong, readonly) AVCaptureMovieFileOutput *fileOutput; + +- (void)startRecordingWithAudioDeviceID:(NSString *)uniqueID + rect:(CGRect)rect + directDisplayID:(CGDirectDisplayID)displayID + outputFileURL:(NSURL *)outputFileURL; + +- (void)startRecordingWithConfiguration:(NVCaptureConfiguration *)configuration + deviceID:(NSString *)uniqueID + rect:(CGRect)rect + directDisplayID:(CGDirectDisplayID)displayID + outputFileURL:(NSURL *)outputFileURL; + +- (void)stop; +- (void)pause; +- (void)resume; + +@end + +NS_ASSUME_NONNULL_END diff --git a/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.m b/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.m new file mode 100644 index 0000000..fca07cc --- /dev/null +++ b/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.m @@ -0,0 +1,193 @@ +// +// NVCaptureService.m +// CaptureKit +// +// Created by Никита Васильев on 09.10.2023. +// Copyright © 2023 space-code. All rights reserved. +// + +#import "NVCaptureService.h" + +@interface NVCaptureService () + +@property(nonatomic, strong) NVCaptureConfiguration *configuration; + +@end + +@implementation NVCaptureService + +#pragma mark - Initialization + +- (instancetype)init { + if (self = [super init]) { + _configuration = [NVCaptureConfiguration default]; + } + return self; +} + +#pragma mark - Public + +- (void)startRecordingWithAudioDeviceID:(NSString *)uniqueID + rect:(CGRect)rect + directDisplayID:(CGDirectDisplayID)displayID + outputFileURL:(NSURL *)outputFileURL { + [self startRecordingWithConfiguration:[NVCaptureConfiguration default] + deviceID:uniqueID + rect:rect + directDisplayID:displayID + outputFileURL:outputFileURL]; +} + +- (void)startRecordingWithConfiguration:(NVCaptureConfiguration *)configuration + deviceID:(NSString *)uniqueID + rect:(CGRect)rect + directDisplayID:(CGDirectDisplayID)displayID + outputFileURL:(NSURL *)outputFileURL { + [self setupWithRect:rect directDisplayID:displayID]; + [self setCaptureDeviceWithDeviceID:uniqueID rect:rect]; + [self startCapturingToOutputFileURL:outputFileURL]; +} + +- (void)stop { + if ([_fileOutput isRecording]) { + [_fileOutput stopRecording]; + [_captureSession stopRunning]; + _captureSession = nil; + } +} + +- (void)pause { + if ([_fileOutput isRecording]) { + [_fileOutput pauseRecording]; + } +} + +- (void)resume { + if ([_fileOutput isRecording]) { + [_fileOutput resumeRecording]; + } +} + +#pragma mark - Private + +- (void)setupWithRect:(CGRect)rect directDisplayID:(CGDirectDisplayID)displayID { + _captureSession = [[AVCaptureSession alloc] init]; + + [self setSessionPresetWithQuality:_configuration.captureQuality]; + + CGDirectDisplayID currentID = displayID; + + CGDirectDisplayID id; + CGDisplayCount count; + CGDisplayErr err = CGGetDisplaysWithPoint(rect.origin, 1, &id, &count); + + if (err == kCGErrorSuccess) { + currentID = id; + } + + [self setCaptureScreenInputWithDisplayID:currentID rect:rect]; +} + +- (void)setCaptureScreenInputWithDisplayID:(CGDirectDisplayID)displayID rect:(CGRect)rect { + AVCaptureScreenInput *input = [[AVCaptureScreenInput alloc] initWithDisplayID:displayID]; + + CMTime minimumFrameDuration = CMTimeMake(1, (int32_t)_configuration.fps); + [input setMinFrameDuration:minimumFrameDuration]; + + CGRect displayBounds = CGDisplayBounds(displayID); + + input.cropRect = CGRectMake( + rect.origin.x - displayBounds.origin.x, + displayBounds.size.height - displayBounds.origin.y - rect.origin.y - rect.size.height, + rect.size.width, + rect.size.height); + + input.capturesCursor = _configuration.capturesCursor; + input.capturesMouseClicks = _configuration.capturesMouseClicks; + + if (!input) { + _captureSession = nil; + } else if ([_captureSession canAddInput:input]) { + [_captureSession addInput:input]; + } +} + +- (void)setCaptureDeviceWithDeviceID:(NSString *)uniqueID rect:(CGRect)rect { + if (uniqueID != nil) { + AVCaptureDevice *audioDevice = [AVCaptureDevice deviceWithUniqueID:uniqueID]; + AVCaptureDeviceInput *audioInput = [AVCaptureDeviceInput deviceInputWithDevice:audioDevice + error:nil]; + if ([_captureSession canAddInput:audioInput]) { + [_captureSession addInput:audioInput]; + } + } +} + +- (void)setSessionPresetWithQuality:(NVCaptureQuality)quality { + switch (quality) { + case High: + _captureSession.sessionPreset = AVCaptureSessionPresetHigh; + break; + case Medium: + _captureSession.sessionPreset = AVCaptureSessionPresetMedium; + break; + case Low: + _captureSession.sessionPreset = AVCaptureSessionPresetLow; + break; + } +} + +- (void)startCapturingToOutputFileURL:(NSURL *)outputFileURL { + _fileOutput = [[AVCaptureMovieFileOutput alloc] init]; + if ([_captureSession canAddOutput:_fileOutput]) [_captureSession addOutput:_fileOutput]; + + [_captureSession startRunning]; + if ([[NSFileManager defaultManager] fileExistsAtPath:[outputFileURL path]]) { + NSError *err; + + if (![[NSFileManager defaultManager] removeItemAtPath:[outputFileURL path] error:&err]) { + NSLog(@"Error deleting existing movie %@", [err localizedDescription]); + } + } + + [_fileOutput startRecordingToOutputFileURL:outputFileURL recordingDelegate:self]; +} + +#pragma mark - AVCaptureFileOutputRecordingDelegate + +- (void)captureOutput:(AVCaptureFileOutput *)output + didStartRecordingToOutputFileAtURL:(NSURL *)fileURL + fromConnections:(NSArray *)connections { + [_delegate captureService:output + didStartRecordingToOutputFileAtURL:fileURL + fromConnections:connections]; +} + +- (void)captureOutput:(AVCaptureFileOutput *)output + didResumeRecordingToOutputFileAtURL:(NSURL *)fileURL + fromConnections:(NSArray *)connections { + [_delegate captureService:output + didResumeRecordingToOutputFileAtURL:fileURL + fromConnections:connections]; +} + +- (void)captureOutput:(AVCaptureFileOutput *)output + didPauseRecordingToOutputFileAtURL:(NSURL *)fileURL + fromConnections:(NSArray *)connections { + [_delegate captureService:output + didPauseRecordingToOutputFileAtURL:fileURL + fromConnections:connections]; +} + +- (void)captureOutput:(AVCaptureFileOutput *)captureOutput + didFinishRecordingToOutputFileAtURL:(NSURL *)outputFileURL + fromConnections:(NSArray *)connections + error:(NSError *)error { + [_delegate captureService:captureOutput + didFinishRecordingToOutputFileAtURL:outputFileURL + fromConnections:connections + error:error]; + // _fileOutput = nil; +} + +@end diff --git a/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureServiceDelegate.h b/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureServiceDelegate.h new file mode 100644 index 0000000..58eaeb3 --- /dev/null +++ b/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureServiceDelegate.h @@ -0,0 +1,30 @@ +// +// NVCaptureServiceDelegate.h +// CaptureKit +// +// Created by Никита Васильев on 09.10.2023. +// Copyright © 2023 space-code. All rights reserved. +// + +#ifndef NVCaptureServiceDelegate_h +#define NVCaptureServiceDelegate_h + +@protocol NVCaptureServiceDelegate + +- (void)captureService:(AVCaptureFileOutput *)output + didFinishRecordingToOutputFileAtURL:(NSURL *)outputFileURL + fromConnections:(NSArray *)connections + error:(NSError *)error; +- (void)captureService:(AVCaptureFileOutput *)output + didStartRecordingToOutputFileAtURL:(NSURL *)fileURL + fromConnections:(NSArray *)connections; +- (void)captureService:(AVCaptureFileOutput *)output + didResumeRecordingToOutputFileAtURL:(NSURL *)fileURL + fromConnections:(NSArray *)connections; +- (void)captureService:(AVCaptureFileOutput *)output + didPauseRecordingToOutputFileAtURL:(NSURL *)fileURL + fromConnections:(NSArray *)connections; + +@end + +#endif /* NVCaptureServiceDelegate_h */ From bb294558f0a47e866f49424cedb61f5005bfa4b7 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Tue, 10 Oct 2023 12:18:56 +0300 Subject: [PATCH 06/31] Update `NVCaptureConfiguration` --- .../Core/Models/NVCaptureConfiguration.m | 14 ++++++--- .../CaptureService/NVCaptureService.h | 25 ++++++++++++++++ .../CaptureService/NVCaptureServiceDelegate.h | 29 +++++++++++++++++++ 3 files changed, 64 insertions(+), 4 deletions(-) diff --git a/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.m b/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.m index 0e0c279..96c6464 100644 --- a/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.m +++ b/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.m @@ -9,12 +9,14 @@ #import "NVCaptureConfiguration.h" #import -NS_ASSUME_NONNULL_BEGIN - @implementation NVCaptureConfiguration #pragma mark - Initialization +- (instancetype)init { + return nil; +} + - (nullable instancetype)initWithFPS:(NSUInteger)fps isCursorVisible:(BOOL)isCursorVisible isCaptureMouseClick:(BOOL)isCaptureMouseClick @@ -40,6 +42,10 @@ + (NVCaptureConfiguration *)default { captureQuality:High]; } -@end +#pragma mark - NSCopying -NS_ASSUME_NONNULL_END +- (id)copyWithZone:(NSZone *)zone { + return self; +} + +@end diff --git a/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.h b/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.h index 727c842..a6a2cfa 100644 --- a/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.h +++ b/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.h @@ -14,26 +14,51 @@ NS_ASSUME_NONNULL_BEGIN +/// A class responsible for managing video capture and recording using AVCaptureSession. @interface NVCaptureService : NSObject +/// The delegate will receive notifications about recording events and errors. @property(nonatomic, weak) id delegate; +/// A read-only property that provides access to the AVCaptureSession used for video capture. @property(nonatomic, strong, readonly) AVCaptureSession *captureSession; +/// A read-only property that provides access to the AVCaptureMovieFileOutput used for recording +/// video. @property(nonatomic, strong, readonly) AVCaptureMovieFileOutput *fileOutput; +/// Starts video recording with specified configuration. +/// +/// - Parameters: +/// - uniqueID: The unique identifier of the audio device to be used for recording. +/// - rect: The CGRect specifying the capture area. +/// - displayID: The CGDirectDisplayID of the display to be captured. +/// - outputFileURL: The NSURL specifying the output file URL where the recording will be saved. - (void)startRecordingWithAudioDeviceID:(NSString *)uniqueID rect:(CGRect)rect directDisplayID:(CGDirectDisplayID)displayID outputFileURL:(NSURL *)outputFileURL; +/// Starts video recording with a configuration object and specified parameters. +/// +/// - Parameters: +/// - configuration: An NVCaptureConfiguration object that specifies capture settings. +/// - uniqueID: The unique identifier of the audio device to be used for recording. +/// - rect: The CGRect specifying the capture area. +/// - displayID: The CGDirectDisplayID of the display to be captured. +/// - outputFileURL: The NSURL specifying the output file URL where the recording will be saved. - (void)startRecordingWithConfiguration:(NVCaptureConfiguration *)configuration deviceID:(NSString *)uniqueID rect:(CGRect)rect directDisplayID:(CGDirectDisplayID)displayID outputFileURL:(NSURL *)outputFileURL; +/// Stops the current video recording session. - (void)stop; + +/// Pauses the current video recording session. - (void)pause; + +/// Resumes a paused video recording session. - (void)resume; @end diff --git a/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureServiceDelegate.h b/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureServiceDelegate.h index 58eaeb3..1f2ac77 100644 --- a/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureServiceDelegate.h +++ b/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureServiceDelegate.h @@ -9,18 +9,47 @@ #ifndef NVCaptureServiceDelegate_h #define NVCaptureServiceDelegate_h +/// A protocol for delegates of a capture service to receive recording-related events. @protocol NVCaptureServiceDelegate +/// Notifies the delegate that recording to a specific output file has finished. +/// +/// - Parameters: +/// - output: The AVCaptureFileOutput instance responsible for the recording. +/// - outputFileURL: The URL where the recording was saved. +/// - connections: An array of AVCaptureConnection objects associated with the recording. +/// - error: An optional error that occurred during recording (or nil if there was no error). - (void)captureService:(AVCaptureFileOutput *)output didFinishRecordingToOutputFileAtURL:(NSURL *)outputFileURL fromConnections:(NSArray *)connections error:(NSError *)error; + +/// Notifies the delegate that recording to a specific output file has started. +/// +/// - Parameters: +/// - output: The AVCaptureFileOutput instance responsible for the recording. +/// - fileURL: The URL where the recording was saved. +/// - connections: An array of AVCaptureConnection objects associated with the recording. - (void)captureService:(AVCaptureFileOutput *)output didStartRecordingToOutputFileAtURL:(NSURL *)fileURL fromConnections:(NSArray *)connections; + +/// Notifies the delegate that recording to a specific output file has resumed after being paused. +/// +/// - Parameters: +/// - output: The AVCaptureFileOutput instance responsible for the recording. +/// - fileURL: The URL where the recording was saved. +/// - connections: An array of AVCaptureConnection objects associated with the recording. - (void)captureService:(AVCaptureFileOutput *)output didResumeRecordingToOutputFileAtURL:(NSURL *)fileURL fromConnections:(NSArray *)connections; + +/// Notifies the delegate that recording to a specific output file has been paused. +/// +/// - Parameters: +/// - output: The AVCaptureFileOutput instance responsible for the recording. +/// - fileURL: The URL where the recording was saved. +/// - connections: An array of AVCaptureConnection objects associated with the recording. - (void)captureService:(AVCaptureFileOutput *)output didPauseRecordingToOutputFileAtURL:(NSURL *)fileURL fromConnections:(NSArray *)connections; From fae7a96c173f5ad7fd52e93de4627aec48a1911c Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Tue, 10 Oct 2023 12:27:40 +0300 Subject: [PATCH 07/31] Implement `NVCaptureConfiguration` tests --- .../Core/Models/NVCaptureConfiguration.h | 4 +- .../Core/Models/NVCaptureConfiguration.m | 12 +++--- CaptureKitTests/NVCaptureConfigurationTests.m | 40 +++++++++++++++++++ 3 files changed, 48 insertions(+), 8 deletions(-) create mode 100644 CaptureKitTests/NVCaptureConfigurationTests.m diff --git a/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.h b/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.h index 50157f0..064376e 100644 --- a/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.h +++ b/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.h @@ -15,8 +15,8 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)init NS_UNAVAILABLE; - (nullable instancetype)initWithFPS:(NSUInteger)fps - isCursorVisible:(BOOL)isCursorVisible - isCaptureMouseClick:(BOOL)isCaptureMouseClick + capturesCursor:(BOOL)capturesCursor + capturesMouseClicks:(BOOL)capturesMouseClicks captureQuality:(NVCaptureQuality)captureQuality; @property(nonatomic, readonly, assign) NSUInteger fps; diff --git a/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.m b/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.m index 96c6464..f6c6f12 100644 --- a/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.m +++ b/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.m @@ -18,15 +18,15 @@ - (instancetype)init { } - (nullable instancetype)initWithFPS:(NSUInteger)fps - isCursorVisible:(BOOL)isCursorVisible - isCaptureMouseClick:(BOOL)isCaptureMouseClick + capturesCursor:(BOOL)capturesCursor + capturesMouseClicks:(BOOL)capturesMouseClicks captureQuality:(NVCaptureQuality)captureQuality { self = [super init]; if (self) { _fps = fps; - _capturesCursor = isCursorVisible; - _capturesMouseClicks = isCaptureMouseClick; + _capturesCursor = capturesCursor; + _capturesMouseClicks = capturesMouseClicks; _captureQuality = captureQuality; } @@ -37,8 +37,8 @@ - (nullable instancetype)initWithFPS:(NSUInteger)fps + (NVCaptureConfiguration *)default { return [[NVCaptureConfiguration alloc] initWithFPS:60 - isCursorVisible:YES - isCaptureMouseClick:NO + capturesCursor:YES + capturesMouseClicks:NO captureQuality:High]; } diff --git a/CaptureKitTests/NVCaptureConfigurationTests.m b/CaptureKitTests/NVCaptureConfigurationTests.m new file mode 100644 index 0000000..e634aa1 --- /dev/null +++ b/CaptureKitTests/NVCaptureConfigurationTests.m @@ -0,0 +1,40 @@ +// +// NVCaptureConfigurationTests.m +// CaptureKitTests +// +// Created by Никита Васильев on 10.10.2023. +// Copyright © 2023 space-code. All rights reserved. +// + +#import +#import "NVCaptureConfiguration.h" + +@interface NVCaptureConfigurationTests : XCTestCase + +@end + +@implementation NVCaptureConfigurationTests + +- (void)testThatConfigurationSetsUpDefaultValues { + // when + NVCaptureConfiguration *configration = [NVCaptureConfiguration default]; + + // then + XCTAssertEqual(configration.fps, 60); + XCTAssertTrue(configration.capturesCursor); + XCTAssertFalse(configration.capturesMouseClicks); + XCTAssertEqual(configration.captureQuality, High); +} + +- (void)testThatConfigurationReturnsTheSameInstanceWhenCopying { + // given + NVCaptureConfiguration *configration = [NVCaptureConfiguration default]; + + // when + NVCaptureConfiguration *copiedConfiguration = [configration copy]; + + // then + XCTAssertEqual(configration, copiedConfiguration); +} + +@end From dc8c5e7ae84cda4be995d1a2e998eecb346ccf5b Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Tue, 10 Oct 2023 12:29:30 +0300 Subject: [PATCH 08/31] Update `OCMock` --- .../NSNotificationCenter+OCMAdditions.h | 7 +- .../OCMock.framework/Headers/OCMArg.h | 7 +- .../OCMock.framework/Headers/OCMConstraint.h | 23 ++- .../OCMock.framework/Headers/OCMFunctions.h | 2 + .../OCMock.framework/Headers/OCMLocation.h | 9 +- .../OCMock.framework/Headers/OCMMacroState.h | 11 +- .../OCMock.framework/Headers/OCMQuantifier.h | 22 +- .../OCMock.framework/Headers/OCMRecorder.h | 12 +- .../Headers/OCMStubRecorder.h | 54 +++-- .../OCMock.framework/Headers/OCMock.h | 18 +- .../OCMock.framework/Headers/OCMockMacros.h | 188 +++++++++++------- .../OCMock.framework/Headers/OCMockObject.h | 24 +-- .../OCMock.framework/Modules/module.modulemap | 7 +- .../NSNotificationCenter+OCMAdditions.h | 7 +- .../Versions/A/Headers/OCMArg.h | 7 +- .../Versions/A/Headers/OCMConstraint.h | 23 ++- .../Versions/A/Headers/OCMFunctions.h | 2 + .../Versions/A/Headers/OCMLocation.h | 9 +- .../Versions/A/Headers/OCMMacroState.h | 11 +- .../Versions/A/Headers/OCMQuantifier.h | 22 +- .../Versions/A/Headers/OCMRecorder.h | 12 +- .../Versions/A/Headers/OCMStubRecorder.h | 54 +++-- .../Versions/A/Headers/OCMock.h | 18 +- .../Versions/A/Headers/OCMockMacros.h | 188 +++++++++++------- .../Versions/A/Headers/OCMockObject.h | 24 +-- .../Versions/A/Modules/module.modulemap | 7 +- .../NSNotificationCenter+OCMAdditions.h | 7 +- .../OCMock.framework/Headers/OCMArg.h | 7 +- .../OCMock.framework/Headers/OCMConstraint.h | 23 ++- .../OCMock.framework/Headers/OCMFunctions.h | 2 + .../OCMock.framework/Headers/OCMLocation.h | 9 +- .../OCMock.framework/Headers/OCMMacroState.h | 11 +- .../OCMock.framework/Headers/OCMQuantifier.h | 22 +- .../OCMock.framework/Headers/OCMRecorder.h | 12 +- .../Headers/OCMStubRecorder.h | 54 +++-- .../OCMock.framework/Headers/OCMock.h | 18 +- .../OCMock.framework/Headers/OCMockMacros.h | 188 +++++++++++------- .../OCMock.framework/Headers/OCMockObject.h | 24 +-- .../OCMock.framework/Modules/module.modulemap | 7 +- .../NSNotificationCenter+OCMAdditions.h | 7 +- .../Versions/A/Headers/OCMArg.h | 7 +- .../Versions/A/Headers/OCMConstraint.h | 23 ++- .../Versions/A/Headers/OCMFunctions.h | 2 + .../Versions/A/Headers/OCMLocation.h | 9 +- .../Versions/A/Headers/OCMMacroState.h | 11 +- .../Versions/A/Headers/OCMQuantifier.h | 22 +- .../Versions/A/Headers/OCMRecorder.h | 12 +- .../Versions/A/Headers/OCMStubRecorder.h | 54 +++-- .../Versions/A/Headers/OCMock.h | 18 +- .../Versions/A/Headers/OCMockMacros.h | 188 +++++++++++------- .../Versions/A/Headers/OCMockObject.h | 24 +-- .../Versions/A/Modules/module.modulemap | 7 +- .../NSNotificationCenter+OCMAdditions.h | 7 +- .../OCMock.framework/Headers/OCMArg.h | 7 +- .../OCMock.framework/Headers/OCMConstraint.h | 23 ++- .../OCMock.framework/Headers/OCMFunctions.h | 2 + .../OCMock.framework/Headers/OCMLocation.h | 9 +- .../OCMock.framework/Headers/OCMMacroState.h | 11 +- .../OCMock.framework/Headers/OCMQuantifier.h | 22 +- .../OCMock.framework/Headers/OCMRecorder.h | 12 +- .../Headers/OCMStubRecorder.h | 54 +++-- .../OCMock.framework/Headers/OCMock.h | 18 +- .../OCMock.framework/Headers/OCMockMacros.h | 188 +++++++++++------- .../OCMock.framework/Headers/OCMockObject.h | 24 +-- .../OCMock.framework/Modules/module.modulemap | 7 +- .../NSNotificationCenter+OCMAdditions.h | 7 +- .../OCMock.framework/Headers/OCMArg.h | 7 +- .../OCMock.framework/Headers/OCMConstraint.h | 23 ++- .../OCMock.framework/Headers/OCMFunctions.h | 2 + .../OCMock.framework/Headers/OCMLocation.h | 9 +- .../OCMock.framework/Headers/OCMMacroState.h | 11 +- .../OCMock.framework/Headers/OCMQuantifier.h | 22 +- .../OCMock.framework/Headers/OCMRecorder.h | 12 +- .../Headers/OCMStubRecorder.h | 54 +++-- .../OCMock.framework/Headers/OCMock.h | 18 +- .../OCMock.framework/Headers/OCMockMacros.h | 188 +++++++++++------- .../OCMock.framework/Headers/OCMockObject.h | 24 +-- .../OCMock.framework/Modules/module.modulemap | 7 +- .../NSNotificationCenter+OCMAdditions.h | 7 +- .../OCMock.framework/Headers/OCMArg.h | 7 +- .../OCMock.framework/Headers/OCMConstraint.h | 23 ++- .../OCMock.framework/Headers/OCMFunctions.h | 2 + .../OCMock.framework/Headers/OCMLocation.h | 9 +- .../OCMock.framework/Headers/OCMMacroState.h | 11 +- .../OCMock.framework/Headers/OCMQuantifier.h | 22 +- .../OCMock.framework/Headers/OCMRecorder.h | 12 +- .../Headers/OCMStubRecorder.h | 54 +++-- .../OCMock.framework/Headers/OCMock.h | 18 +- .../OCMock.framework/Headers/OCMockMacros.h | 188 +++++++++++------- .../OCMock.framework/Headers/OCMockObject.h | 24 +-- .../OCMock.framework/Modules/module.modulemap | 7 +- .../NSNotificationCenter+OCMAdditions.h | 7 +- .../OCMock.framework/Headers/OCMArg.h | 7 +- .../OCMock.framework/Headers/OCMConstraint.h | 23 ++- .../OCMock.framework/Headers/OCMFunctions.h | 2 + .../OCMock.framework/Headers/OCMLocation.h | 9 +- .../OCMock.framework/Headers/OCMMacroState.h | 11 +- .../OCMock.framework/Headers/OCMQuantifier.h | 22 +- .../OCMock.framework/Headers/OCMRecorder.h | 12 +- .../Headers/OCMStubRecorder.h | 54 +++-- .../OCMock.framework/Headers/OCMock.h | 18 +- .../OCMock.framework/Headers/OCMockMacros.h | 188 +++++++++++------- .../OCMock.framework/Headers/OCMockObject.h | 24 +-- .../OCMock.framework/Modules/module.modulemap | 7 +- 104 files changed, 1712 insertions(+), 1360 deletions(-) diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h index b25eeef..8f6d56f 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h @@ -18,10 +18,9 @@ @class OCObserverMockObject; -@interface NSNotificationCenter (OCMAdditions) -- (void)addMockObserver:(OCObserverMockObject *)notificationObserver - name:(NSString *)notificationName - object:(id)notificationSender; +@interface NSNotificationCenter(OCMAdditions) + +- (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; @end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMArg.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMArg.h index 5cbbd4f..2716707 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMArg.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMArg.h @@ -49,8 +49,5 @@ #define OCMOCK_ANY [OCMArg any] -#define OCMOCK_VALUE(variable) \ - ({ \ - __typeof__(variable) __v = (variable); \ - [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; \ - }) +#define OCMOCK_VALUE(variable) \ + ({ __typeof__(variable) __v = (variable); [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; }) diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMConstraint.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMConstraint.h index d5c5f96..39714db 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMConstraint.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMConstraint.h @@ -28,6 +28,7 @@ + (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; + (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue; + @end @interface OCMAnyConstraint : OCMConstraint @@ -39,22 +40,25 @@ @interface OCMIsNotNilConstraint : OCMConstraint @end -@interface OCMIsNotEqualConstraint : OCMConstraint { - @public - id testValue; +@interface OCMIsNotEqualConstraint : OCMConstraint +{ +@public + id testValue; } @end -@interface OCMInvocationConstraint : OCMConstraint { - @public - NSInvocation *invocation; +@interface OCMInvocationConstraint : OCMConstraint +{ +@public + NSInvocation *invocation; } @end -@interface OCMBlockConstraint : OCMConstraint { - BOOL (^block)(id); +@interface OCMBlockConstraint : OCMConstraint +{ + BOOL (^block)(id); } - (instancetype)initWithConstraintBlock:(BOOL (^)(id))block; @@ -63,6 +67,5 @@ #ifndef OCM_DISABLE_SHORT_SYNTAX #define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] -#define CONSTRAINTV(aSelector, aValue) \ - [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] +#define CONSTRAINTV(aSelector, aValue) [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] #endif diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMFunctions.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMFunctions.h index 1119402..15131ae 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMFunctions.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMFunctions.h @@ -16,11 +16,13 @@ #import + #if defined(__cplusplus) #define OCMOCK_EXTERN extern "C" #else #define OCMOCK_EXTERN extern #endif + OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); OCMOCK_EXTERN BOOL OCMIsSubclassOfMockClass(Class cls); diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMLocation.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMLocation.h index fd64f42..b14a8eb 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMLocation.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMLocation.h @@ -17,10 +17,11 @@ #import #import -@interface OCMLocation : NSObject { - id testCase; - NSString *file; - NSUInteger line; +@interface OCMLocation : NSObject +{ + id testCase; + NSString *file; + NSUInteger line; } + (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMMacroState.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMMacroState.h index 8d92be2..5b32fab 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMMacroState.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMMacroState.h @@ -22,9 +22,11 @@ @class OCMStubRecorder; @class OCMockObject; -@interface OCMMacroState : NSObject { - OCMRecorder *recorder; - BOOL invocationDidThrow; + +@interface OCMMacroState : NSObject +{ + OCMRecorder *recorder; + BOOL invocationDidThrow; } + (void)beginStubMacro; @@ -37,8 +39,7 @@ + (OCMStubRecorder *)endRejectMacro; + (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; -+ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation - withQuantifier:(OCMQuantifier *)quantifier; ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation withQuantifier:(OCMQuantifier *)quantifier; + (void)endVerifyMacro; + (OCMMacroState *)globalState; diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMQuantifier.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMQuantifier.h index 31d1847..c013bde 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMQuantifier.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMQuantifier.h @@ -16,8 +16,9 @@ #import -@interface OCMQuantifier : NSObject { - NSUInteger expectedCount; +@interface OCMQuantifier : NSObject +{ + NSUInteger expectedCount; } + (instancetype)never; @@ -31,14 +32,15 @@ @end -#define OCMNever() ([OCMQuantifier never]) -#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) -#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) -#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) + +#define OCMNever() ([OCMQuantifier never]) +#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) +#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) +#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) #ifndef OCM_DISABLE_SHORT_QSYNTAX -#define never() OCMNever() -#define times(n) OCMTimes(n) -#define atLeast(n) OCMAtLeast(n) -#define atMost(n) OCMAtMost(n) +#define never() OCMNever() +#define times(n) OCMTimes(n) +#define atLeast(n) OCMAtLeast(n) +#define atMost(n) OCMAtMost(n) #endif diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMRecorder.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMRecorder.h index 6b68343..5106445 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMRecorder.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMRecorder.h @@ -19,11 +19,13 @@ @class OCMockObject; @class OCMInvocationMatcher; -@interface OCMRecorder : NSProxy { - OCMockObject *mockObject; - OCMInvocationMatcher *invocationMatcher; - BOOL didRecordInvocation; - BOOL shouldReturnMockFromInit; + +@interface OCMRecorder : NSProxy +{ + OCMockObject *mockObject; + OCMInvocationMatcher *invocationMatcher; + BOOL didRecordInvocation; + BOOL shouldReturnMockFromInit; } - (instancetype)init; diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMStubRecorder.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMStubRecorder.h index cd1772e..a00c64b 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMStubRecorder.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMStubRecorder.h @@ -16,6 +16,7 @@ #import #import + #import #if !defined(OCM_DISABLE_XCTEST_FEATURES) @@ -38,52 +39,49 @@ @end + @interface OCMStubRecorder (Properties) -#define andReturn(aValue) \ - _andReturn(({ \ - __typeof__(aValue) _val = (aValue); \ - NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ - if (OCMIsObjectType(@encode(__typeof(_val)))) { \ - objc_setAssociatedObject(_nsval, \ - "OCMAssociatedBoxedValue", \ - *(__unsafe_unretained id *)(void *)&_val, \ - OBJC_ASSOCIATION_RETAIN); \ - } \ - _nsval; \ - })) -@property(nonatomic, readonly) OCMStubRecorder * (^_andReturn)(NSValue *); +#define andReturn(aValue) _andReturn(({ \ + __typeof__(aValue) _val = (aValue); \ + NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ + if (OCMIsObjectType(@encode(__typeof(_val)))) { \ + objc_setAssociatedObject(_nsval, "OCMAssociatedBoxedValue", *(__unsafe_unretained id *) (void *) &_val, OBJC_ASSOCIATION_RETAIN); \ + } \ + _nsval; \ +})) +@property (nonatomic, readonly) OCMStubRecorder *(^ _andReturn)(NSValue *); #define andThrow(anException) _andThrow(anException) -@property(nonatomic, readonly) OCMStubRecorder * (^_andThrow)(NSException *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andThrow)(NSException *); #define andPost(aNotification) _andPost(aNotification) -@property(nonatomic, readonly) OCMStubRecorder * (^_andPost)(NSNotification *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andPost)(NSNotification *); #define andCall(anObject, aSelector) _andCall(anObject, aSelector) -@property(nonatomic, readonly) OCMStubRecorder * (^_andCall)(id, SEL); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andCall)(id, SEL); #define andDo(aBlock) _andDo(aBlock) -@property(nonatomic, readonly) OCMStubRecorder * (^_andDo)(void (^)(NSInvocation *)); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andDo)(void (^)(NSInvocation *)); #define andForwardToRealObject() _andForwardToRealObject() -@property(nonatomic, readonly) OCMStubRecorder * (^_andForwardToRealObject)(void); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andForwardToRealObject)(void); #if !defined(OCM_DISABLE_XCTEST_FEATURES) #define andFulfill(anExpectation) _andFulfill(anExpectation) -@property(nonatomic, readonly) OCMStubRecorder * (^_andFulfill)(XCTestExpectation *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andFulfill)(XCTestExpectation *); #endif -@property(nonatomic, readonly) OCMStubRecorder * (^_ignoringNonObjectArgs)(void); +@property (nonatomic, readonly) OCMStubRecorder *(^ _ignoringNonObjectArgs)(void); -#define andBreak() \ - _andDo(^(NSInvocation * _invocation) { \ - __builtin_debugtrap(); \ - }) +#define andBreak() _andDo(^(NSInvocation *_invocation) \ +{ \ + __builtin_debugtrap(); \ +}) \ -#define andLog(_format, ...) \ - _andDo(^(NSInvocation * _invocation) { \ - NSLog(_format, ##__VA_ARGS__); \ - }) +#define andLog(_format, ...) _andDo(^(NSInvocation *_invocation) \ +{ \ + NSLog(_format, ##__VA_ARGS__); \ +}) \ @end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMock.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMock.h index b1b3e14..f636572 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMock.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMock.h @@ -14,15 +14,15 @@ * under the License. */ -#import -#import +#import +#import +#import +#import +#import #import -#import +#import #import -#import #import -#import -#import -#import -#import -#import +#import +#import +#import diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMockMacros.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMockMacros.h index 6de97b2..2253557 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMockMacros.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMockMacros.h @@ -14,10 +14,13 @@ * under the License. */ + + #ifdef OCM_DISABLE_SHORT_SYNTAX #define OCM_DISABLE_SHORT_QSYNTAX #endif + #define OCMClassMock(cls) [OCMockObject niceMockForClass:cls] #define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls] @@ -30,86 +33,125 @@ #define OCMObserverMock() [OCMockObject observerMock] -#define OCMStub(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginStubMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endStubMacro]; } recorder;); \ - }) - -#define OCMExpect(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginExpectMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endExpectMacro]; } recorder;); \ - }) - -#define OCMReject(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginRejectMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endRejectMacro]; } recorder;); \ - }) + +#define OCMStub(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginStubMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endStubMacro]; \ + } \ + recorder; \ + ); \ +}) + +#define OCMExpect(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginExpectMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endExpectMacro]; \ + } \ + recorder; \ + ); \ +}) + +#define OCMReject(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginRejectMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endRejectMacro]; \ + } \ + recorder; \ + ); \ +}) + + #define OCMClassMethod(invocation) \ - _OCMSilenceWarnings([[OCMMacroState globalState] switchToClassMethod]; invocation;); + _OCMSilenceWarnings( \ + [[OCMMacroState globalState] switchToClassMethod]; \ + invocation; \ + ); + #ifndef OCM_DISABLE_SHORT_SYNTAX #define ClassMethod(invocation) OCMClassMethod(invocation) #endif -#define OCMVerifyAll(mock) \ - [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] -#define OCMVerifyAllWithDelay(mock, delay) \ - [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] +#define OCMVerifyAll(mock) [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define OCMVerifyAllWithDelay(mock, delay) [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] -#define _OCMVerify(invocation) \ - ({ \ - _OCMSilenceWarnings( \ +#define _OCMVerify(invocation) \ +({ \ + _OCMSilenceWarnings( \ [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { [OCMMacroState endVerifyMacro]; }); \ - }) - -#define _OCMVerifyWithQuantifier(quantifier, invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) \ - withQuantifier:quantifier]; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { [OCMMacroState endVerifyMacro]; }); \ - }) - -// explanation for macros below here: -// https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros - -#define _OCMVerify_1(A) _OCMVerify(A) -#define _OCMVerify_2(A, B) _OCMVerifyWithQuantifier(A, B) -#define _OCMVerify_X(x, A, B, FUNC, ...) FUNC -#define OCMVerify(...) \ - _OCMVerify_X(, ##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) - -#define _OCMSilenceWarnings(macro) \ - ({_Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ - _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ - _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ - macro _Pragma("clang diagnostic pop")}) + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + [OCMMacroState endVerifyMacro]; \ + } \ + ); \ +}) + +#define _OCMVerifyWithQuantifier(quantifier, invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) withQuantifier:quantifier]; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + [OCMMacroState endVerifyMacro]; \ + } \ + ); \ +}) + +// explanation for macros below here: https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros + +#define _OCMVerify_1(A) _OCMVerify(A) +#define _OCMVerify_2(A,B) _OCMVerifyWithQuantifier(A, B) +#define _OCMVerify_X(x,A,B,FUNC, ...) FUNC +#define OCMVerify(...) _OCMVerify_X(,##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) + + +#define _OCMSilenceWarnings(macro) \ +({ \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ + _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ + _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ + macro \ + _Pragma("clang diagnostic pop") \ +}) diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMockObject.h b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMockObject.h index b7f2304..f573971 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMockObject.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Headers/OCMockObject.h @@ -23,13 +23,15 @@ @class OCMInvocationMatcher; @class OCMInvocationExpectation; -@interface OCMockObject : NSProxy { - BOOL isNice; - BOOL expectationOrderMatters; - NSMutableArray *stubs; - NSMutableArray *expectations; - NSMutableArray *exceptions; - NSMutableArray *invocations; + +@interface OCMockObject : NSProxy +{ + BOOL isNice; + BOOL expectationOrderMatters; + NSMutableArray *stubs; + NSMutableArray *expectations; + NSMutableArray *exceptions; + NSMutableArray *invocations; } + (id)mockForClass:(Class)aClass; @@ -69,11 +71,7 @@ - (void)verifyInvocation:(OCMInvocationMatcher *)matcher; - (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location; -- (void)verifyInvocation:(OCMInvocationMatcher *)matcher - withQuantifier:(OCMQuantifier *)quantifier - atLocation:(OCMLocation *)location; -- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher - quantifier:(OCMQuantifier *)quantifier - invocationCount:(NSUInteger)count; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher withQuantifier:(OCMQuantifier *)quantifier atLocation:(OCMLocation *)location; +- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher quantifier:(OCMQuantifier *)quantifier invocationCount:(NSUInteger)count; @end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Modules/module.modulemap b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Modules/module.modulemap index 052ea7f..fab3ca5 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Modules/module.modulemap +++ b/ThirdParty/OCMock.xcframework/ios-arm64/OCMock.framework/Modules/module.modulemap @@ -1,7 +1,6 @@ framework module OCMock { - umbrella header "OCMock.h" export * + umbrella header "OCMock.h" + export * - module * { - export * - } + module * { export * } } diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/NSNotificationCenter+OCMAdditions.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/NSNotificationCenter+OCMAdditions.h index b25eeef..8f6d56f 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/NSNotificationCenter+OCMAdditions.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/NSNotificationCenter+OCMAdditions.h @@ -18,10 +18,9 @@ @class OCObserverMockObject; -@interface NSNotificationCenter (OCMAdditions) -- (void)addMockObserver:(OCObserverMockObject *)notificationObserver - name:(NSString *)notificationName - object:(id)notificationSender; +@interface NSNotificationCenter(OCMAdditions) + +- (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; @end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMArg.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMArg.h index 5cbbd4f..2716707 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMArg.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMArg.h @@ -49,8 +49,5 @@ #define OCMOCK_ANY [OCMArg any] -#define OCMOCK_VALUE(variable) \ - ({ \ - __typeof__(variable) __v = (variable); \ - [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; \ - }) +#define OCMOCK_VALUE(variable) \ + ({ __typeof__(variable) __v = (variable); [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; }) diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMConstraint.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMConstraint.h index d5c5f96..39714db 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMConstraint.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMConstraint.h @@ -28,6 +28,7 @@ + (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; + (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue; + @end @interface OCMAnyConstraint : OCMConstraint @@ -39,22 +40,25 @@ @interface OCMIsNotNilConstraint : OCMConstraint @end -@interface OCMIsNotEqualConstraint : OCMConstraint { - @public - id testValue; +@interface OCMIsNotEqualConstraint : OCMConstraint +{ +@public + id testValue; } @end -@interface OCMInvocationConstraint : OCMConstraint { - @public - NSInvocation *invocation; +@interface OCMInvocationConstraint : OCMConstraint +{ +@public + NSInvocation *invocation; } @end -@interface OCMBlockConstraint : OCMConstraint { - BOOL (^block)(id); +@interface OCMBlockConstraint : OCMConstraint +{ + BOOL (^block)(id); } - (instancetype)initWithConstraintBlock:(BOOL (^)(id))block; @@ -63,6 +67,5 @@ #ifndef OCM_DISABLE_SHORT_SYNTAX #define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] -#define CONSTRAINTV(aSelector, aValue) \ - [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] +#define CONSTRAINTV(aSelector, aValue) [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] #endif diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMFunctions.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMFunctions.h index 1119402..15131ae 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMFunctions.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMFunctions.h @@ -16,11 +16,13 @@ #import + #if defined(__cplusplus) #define OCMOCK_EXTERN extern "C" #else #define OCMOCK_EXTERN extern #endif + OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); OCMOCK_EXTERN BOOL OCMIsSubclassOfMockClass(Class cls); diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMLocation.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMLocation.h index fd64f42..b14a8eb 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMLocation.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMLocation.h @@ -17,10 +17,11 @@ #import #import -@interface OCMLocation : NSObject { - id testCase; - NSString *file; - NSUInteger line; +@interface OCMLocation : NSObject +{ + id testCase; + NSString *file; + NSUInteger line; } + (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMMacroState.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMMacroState.h index 8d92be2..5b32fab 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMMacroState.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMMacroState.h @@ -22,9 +22,11 @@ @class OCMStubRecorder; @class OCMockObject; -@interface OCMMacroState : NSObject { - OCMRecorder *recorder; - BOOL invocationDidThrow; + +@interface OCMMacroState : NSObject +{ + OCMRecorder *recorder; + BOOL invocationDidThrow; } + (void)beginStubMacro; @@ -37,8 +39,7 @@ + (OCMStubRecorder *)endRejectMacro; + (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; -+ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation - withQuantifier:(OCMQuantifier *)quantifier; ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation withQuantifier:(OCMQuantifier *)quantifier; + (void)endVerifyMacro; + (OCMMacroState *)globalState; diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMQuantifier.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMQuantifier.h index 31d1847..c013bde 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMQuantifier.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMQuantifier.h @@ -16,8 +16,9 @@ #import -@interface OCMQuantifier : NSObject { - NSUInteger expectedCount; +@interface OCMQuantifier : NSObject +{ + NSUInteger expectedCount; } + (instancetype)never; @@ -31,14 +32,15 @@ @end -#define OCMNever() ([OCMQuantifier never]) -#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) -#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) -#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) + +#define OCMNever() ([OCMQuantifier never]) +#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) +#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) +#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) #ifndef OCM_DISABLE_SHORT_QSYNTAX -#define never() OCMNever() -#define times(n) OCMTimes(n) -#define atLeast(n) OCMAtLeast(n) -#define atMost(n) OCMAtMost(n) +#define never() OCMNever() +#define times(n) OCMTimes(n) +#define atLeast(n) OCMAtLeast(n) +#define atMost(n) OCMAtMost(n) #endif diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMRecorder.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMRecorder.h index 6b68343..5106445 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMRecorder.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMRecorder.h @@ -19,11 +19,13 @@ @class OCMockObject; @class OCMInvocationMatcher; -@interface OCMRecorder : NSProxy { - OCMockObject *mockObject; - OCMInvocationMatcher *invocationMatcher; - BOOL didRecordInvocation; - BOOL shouldReturnMockFromInit; + +@interface OCMRecorder : NSProxy +{ + OCMockObject *mockObject; + OCMInvocationMatcher *invocationMatcher; + BOOL didRecordInvocation; + BOOL shouldReturnMockFromInit; } - (instancetype)init; diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMStubRecorder.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMStubRecorder.h index cd1772e..a00c64b 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMStubRecorder.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMStubRecorder.h @@ -16,6 +16,7 @@ #import #import + #import #if !defined(OCM_DISABLE_XCTEST_FEATURES) @@ -38,52 +39,49 @@ @end + @interface OCMStubRecorder (Properties) -#define andReturn(aValue) \ - _andReturn(({ \ - __typeof__(aValue) _val = (aValue); \ - NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ - if (OCMIsObjectType(@encode(__typeof(_val)))) { \ - objc_setAssociatedObject(_nsval, \ - "OCMAssociatedBoxedValue", \ - *(__unsafe_unretained id *)(void *)&_val, \ - OBJC_ASSOCIATION_RETAIN); \ - } \ - _nsval; \ - })) -@property(nonatomic, readonly) OCMStubRecorder * (^_andReturn)(NSValue *); +#define andReturn(aValue) _andReturn(({ \ + __typeof__(aValue) _val = (aValue); \ + NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ + if (OCMIsObjectType(@encode(__typeof(_val)))) { \ + objc_setAssociatedObject(_nsval, "OCMAssociatedBoxedValue", *(__unsafe_unretained id *) (void *) &_val, OBJC_ASSOCIATION_RETAIN); \ + } \ + _nsval; \ +})) +@property (nonatomic, readonly) OCMStubRecorder *(^ _andReturn)(NSValue *); #define andThrow(anException) _andThrow(anException) -@property(nonatomic, readonly) OCMStubRecorder * (^_andThrow)(NSException *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andThrow)(NSException *); #define andPost(aNotification) _andPost(aNotification) -@property(nonatomic, readonly) OCMStubRecorder * (^_andPost)(NSNotification *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andPost)(NSNotification *); #define andCall(anObject, aSelector) _andCall(anObject, aSelector) -@property(nonatomic, readonly) OCMStubRecorder * (^_andCall)(id, SEL); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andCall)(id, SEL); #define andDo(aBlock) _andDo(aBlock) -@property(nonatomic, readonly) OCMStubRecorder * (^_andDo)(void (^)(NSInvocation *)); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andDo)(void (^)(NSInvocation *)); #define andForwardToRealObject() _andForwardToRealObject() -@property(nonatomic, readonly) OCMStubRecorder * (^_andForwardToRealObject)(void); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andForwardToRealObject)(void); #if !defined(OCM_DISABLE_XCTEST_FEATURES) #define andFulfill(anExpectation) _andFulfill(anExpectation) -@property(nonatomic, readonly) OCMStubRecorder * (^_andFulfill)(XCTestExpectation *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andFulfill)(XCTestExpectation *); #endif -@property(nonatomic, readonly) OCMStubRecorder * (^_ignoringNonObjectArgs)(void); +@property (nonatomic, readonly) OCMStubRecorder *(^ _ignoringNonObjectArgs)(void); -#define andBreak() \ - _andDo(^(NSInvocation * _invocation) { \ - __builtin_debugtrap(); \ - }) +#define andBreak() _andDo(^(NSInvocation *_invocation) \ +{ \ + __builtin_debugtrap(); \ +}) \ -#define andLog(_format, ...) \ - _andDo(^(NSInvocation * _invocation) { \ - NSLog(_format, ##__VA_ARGS__); \ - }) +#define andLog(_format, ...) _andDo(^(NSInvocation *_invocation) \ +{ \ + NSLog(_format, ##__VA_ARGS__); \ +}) \ @end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMock.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMock.h index b1b3e14..f636572 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMock.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMock.h @@ -14,15 +14,15 @@ * under the License. */ -#import -#import +#import +#import +#import +#import +#import #import -#import +#import #import -#import #import -#import -#import -#import -#import -#import +#import +#import +#import diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMockMacros.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMockMacros.h index 6de97b2..2253557 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMockMacros.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMockMacros.h @@ -14,10 +14,13 @@ * under the License. */ + + #ifdef OCM_DISABLE_SHORT_SYNTAX #define OCM_DISABLE_SHORT_QSYNTAX #endif + #define OCMClassMock(cls) [OCMockObject niceMockForClass:cls] #define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls] @@ -30,86 +33,125 @@ #define OCMObserverMock() [OCMockObject observerMock] -#define OCMStub(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginStubMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endStubMacro]; } recorder;); \ - }) - -#define OCMExpect(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginExpectMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endExpectMacro]; } recorder;); \ - }) - -#define OCMReject(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginRejectMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endRejectMacro]; } recorder;); \ - }) + +#define OCMStub(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginStubMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endStubMacro]; \ + } \ + recorder; \ + ); \ +}) + +#define OCMExpect(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginExpectMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endExpectMacro]; \ + } \ + recorder; \ + ); \ +}) + +#define OCMReject(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginRejectMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endRejectMacro]; \ + } \ + recorder; \ + ); \ +}) + + #define OCMClassMethod(invocation) \ - _OCMSilenceWarnings([[OCMMacroState globalState] switchToClassMethod]; invocation;); + _OCMSilenceWarnings( \ + [[OCMMacroState globalState] switchToClassMethod]; \ + invocation; \ + ); + #ifndef OCM_DISABLE_SHORT_SYNTAX #define ClassMethod(invocation) OCMClassMethod(invocation) #endif -#define OCMVerifyAll(mock) \ - [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] -#define OCMVerifyAllWithDelay(mock, delay) \ - [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] +#define OCMVerifyAll(mock) [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define OCMVerifyAllWithDelay(mock, delay) [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] -#define _OCMVerify(invocation) \ - ({ \ - _OCMSilenceWarnings( \ +#define _OCMVerify(invocation) \ +({ \ + _OCMSilenceWarnings( \ [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { [OCMMacroState endVerifyMacro]; }); \ - }) - -#define _OCMVerifyWithQuantifier(quantifier, invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) \ - withQuantifier:quantifier]; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { [OCMMacroState endVerifyMacro]; }); \ - }) - -// explanation for macros below here: -// https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros - -#define _OCMVerify_1(A) _OCMVerify(A) -#define _OCMVerify_2(A, B) _OCMVerifyWithQuantifier(A, B) -#define _OCMVerify_X(x, A, B, FUNC, ...) FUNC -#define OCMVerify(...) \ - _OCMVerify_X(, ##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) - -#define _OCMSilenceWarnings(macro) \ - ({_Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ - _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ - _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ - macro _Pragma("clang diagnostic pop")}) + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + [OCMMacroState endVerifyMacro]; \ + } \ + ); \ +}) + +#define _OCMVerifyWithQuantifier(quantifier, invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) withQuantifier:quantifier]; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + [OCMMacroState endVerifyMacro]; \ + } \ + ); \ +}) + +// explanation for macros below here: https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros + +#define _OCMVerify_1(A) _OCMVerify(A) +#define _OCMVerify_2(A,B) _OCMVerifyWithQuantifier(A, B) +#define _OCMVerify_X(x,A,B,FUNC, ...) FUNC +#define OCMVerify(...) _OCMVerify_X(,##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) + + +#define _OCMSilenceWarnings(macro) \ +({ \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ + _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ + _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ + macro \ + _Pragma("clang diagnostic pop") \ +}) diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMockObject.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMockObject.h index b7f2304..f573971 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMockObject.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Headers/OCMockObject.h @@ -23,13 +23,15 @@ @class OCMInvocationMatcher; @class OCMInvocationExpectation; -@interface OCMockObject : NSProxy { - BOOL isNice; - BOOL expectationOrderMatters; - NSMutableArray *stubs; - NSMutableArray *expectations; - NSMutableArray *exceptions; - NSMutableArray *invocations; + +@interface OCMockObject : NSProxy +{ + BOOL isNice; + BOOL expectationOrderMatters; + NSMutableArray *stubs; + NSMutableArray *expectations; + NSMutableArray *exceptions; + NSMutableArray *invocations; } + (id)mockForClass:(Class)aClass; @@ -69,11 +71,7 @@ - (void)verifyInvocation:(OCMInvocationMatcher *)matcher; - (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location; -- (void)verifyInvocation:(OCMInvocationMatcher *)matcher - withQuantifier:(OCMQuantifier *)quantifier - atLocation:(OCMLocation *)location; -- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher - quantifier:(OCMQuantifier *)quantifier - invocationCount:(NSUInteger)count; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher withQuantifier:(OCMQuantifier *)quantifier atLocation:(OCMLocation *)location; +- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher quantifier:(OCMQuantifier *)quantifier invocationCount:(NSUInteger)count; @end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Modules/module.modulemap b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Modules/module.modulemap index 052ea7f..fab3ca5 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Modules/module.modulemap +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-maccatalyst/OCMock.framework/Versions/A/Modules/module.modulemap @@ -1,7 +1,6 @@ framework module OCMock { - umbrella header "OCMock.h" export * + umbrella header "OCMock.h" + export * - module * { - export * - } + module * { export * } } diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h index b25eeef..8f6d56f 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h @@ -18,10 +18,9 @@ @class OCObserverMockObject; -@interface NSNotificationCenter (OCMAdditions) -- (void)addMockObserver:(OCObserverMockObject *)notificationObserver - name:(NSString *)notificationName - object:(id)notificationSender; +@interface NSNotificationCenter(OCMAdditions) + +- (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; @end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMArg.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMArg.h index 5cbbd4f..2716707 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMArg.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMArg.h @@ -49,8 +49,5 @@ #define OCMOCK_ANY [OCMArg any] -#define OCMOCK_VALUE(variable) \ - ({ \ - __typeof__(variable) __v = (variable); \ - [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; \ - }) +#define OCMOCK_VALUE(variable) \ + ({ __typeof__(variable) __v = (variable); [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; }) diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h index d5c5f96..39714db 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h @@ -28,6 +28,7 @@ + (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; + (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue; + @end @interface OCMAnyConstraint : OCMConstraint @@ -39,22 +40,25 @@ @interface OCMIsNotNilConstraint : OCMConstraint @end -@interface OCMIsNotEqualConstraint : OCMConstraint { - @public - id testValue; +@interface OCMIsNotEqualConstraint : OCMConstraint +{ +@public + id testValue; } @end -@interface OCMInvocationConstraint : OCMConstraint { - @public - NSInvocation *invocation; +@interface OCMInvocationConstraint : OCMConstraint +{ +@public + NSInvocation *invocation; } @end -@interface OCMBlockConstraint : OCMConstraint { - BOOL (^block)(id); +@interface OCMBlockConstraint : OCMConstraint +{ + BOOL (^block)(id); } - (instancetype)initWithConstraintBlock:(BOOL (^)(id))block; @@ -63,6 +67,5 @@ #ifndef OCM_DISABLE_SHORT_SYNTAX #define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] -#define CONSTRAINTV(aSelector, aValue) \ - [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] +#define CONSTRAINTV(aSelector, aValue) [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] #endif diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h index 1119402..15131ae 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h @@ -16,11 +16,13 @@ #import + #if defined(__cplusplus) #define OCMOCK_EXTERN extern "C" #else #define OCMOCK_EXTERN extern #endif + OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); OCMOCK_EXTERN BOOL OCMIsSubclassOfMockClass(Class cls); diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h index fd64f42..b14a8eb 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h @@ -17,10 +17,11 @@ #import #import -@interface OCMLocation : NSObject { - id testCase; - NSString *file; - NSUInteger line; +@interface OCMLocation : NSObject +{ + id testCase; + NSString *file; + NSUInteger line; } + (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h index 8d92be2..5b32fab 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h @@ -22,9 +22,11 @@ @class OCMStubRecorder; @class OCMockObject; -@interface OCMMacroState : NSObject { - OCMRecorder *recorder; - BOOL invocationDidThrow; + +@interface OCMMacroState : NSObject +{ + OCMRecorder *recorder; + BOOL invocationDidThrow; } + (void)beginStubMacro; @@ -37,8 +39,7 @@ + (OCMStubRecorder *)endRejectMacro; + (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; -+ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation - withQuantifier:(OCMQuantifier *)quantifier; ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation withQuantifier:(OCMQuantifier *)quantifier; + (void)endVerifyMacro; + (OCMMacroState *)globalState; diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h index 31d1847..c013bde 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h @@ -16,8 +16,9 @@ #import -@interface OCMQuantifier : NSObject { - NSUInteger expectedCount; +@interface OCMQuantifier : NSObject +{ + NSUInteger expectedCount; } + (instancetype)never; @@ -31,14 +32,15 @@ @end -#define OCMNever() ([OCMQuantifier never]) -#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) -#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) -#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) + +#define OCMNever() ([OCMQuantifier never]) +#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) +#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) +#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) #ifndef OCM_DISABLE_SHORT_QSYNTAX -#define never() OCMNever() -#define times(n) OCMTimes(n) -#define atLeast(n) OCMAtLeast(n) -#define atMost(n) OCMAtMost(n) +#define never() OCMNever() +#define times(n) OCMTimes(n) +#define atLeast(n) OCMAtLeast(n) +#define atMost(n) OCMAtMost(n) #endif diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h index 6b68343..5106445 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h @@ -19,11 +19,13 @@ @class OCMockObject; @class OCMInvocationMatcher; -@interface OCMRecorder : NSProxy { - OCMockObject *mockObject; - OCMInvocationMatcher *invocationMatcher; - BOOL didRecordInvocation; - BOOL shouldReturnMockFromInit; + +@interface OCMRecorder : NSProxy +{ + OCMockObject *mockObject; + OCMInvocationMatcher *invocationMatcher; + BOOL didRecordInvocation; + BOOL shouldReturnMockFromInit; } - (instancetype)init; diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h index cd1772e..a00c64b 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h @@ -16,6 +16,7 @@ #import #import + #import #if !defined(OCM_DISABLE_XCTEST_FEATURES) @@ -38,52 +39,49 @@ @end + @interface OCMStubRecorder (Properties) -#define andReturn(aValue) \ - _andReturn(({ \ - __typeof__(aValue) _val = (aValue); \ - NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ - if (OCMIsObjectType(@encode(__typeof(_val)))) { \ - objc_setAssociatedObject(_nsval, \ - "OCMAssociatedBoxedValue", \ - *(__unsafe_unretained id *)(void *)&_val, \ - OBJC_ASSOCIATION_RETAIN); \ - } \ - _nsval; \ - })) -@property(nonatomic, readonly) OCMStubRecorder * (^_andReturn)(NSValue *); +#define andReturn(aValue) _andReturn(({ \ + __typeof__(aValue) _val = (aValue); \ + NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ + if (OCMIsObjectType(@encode(__typeof(_val)))) { \ + objc_setAssociatedObject(_nsval, "OCMAssociatedBoxedValue", *(__unsafe_unretained id *) (void *) &_val, OBJC_ASSOCIATION_RETAIN); \ + } \ + _nsval; \ +})) +@property (nonatomic, readonly) OCMStubRecorder *(^ _andReturn)(NSValue *); #define andThrow(anException) _andThrow(anException) -@property(nonatomic, readonly) OCMStubRecorder * (^_andThrow)(NSException *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andThrow)(NSException *); #define andPost(aNotification) _andPost(aNotification) -@property(nonatomic, readonly) OCMStubRecorder * (^_andPost)(NSNotification *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andPost)(NSNotification *); #define andCall(anObject, aSelector) _andCall(anObject, aSelector) -@property(nonatomic, readonly) OCMStubRecorder * (^_andCall)(id, SEL); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andCall)(id, SEL); #define andDo(aBlock) _andDo(aBlock) -@property(nonatomic, readonly) OCMStubRecorder * (^_andDo)(void (^)(NSInvocation *)); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andDo)(void (^)(NSInvocation *)); #define andForwardToRealObject() _andForwardToRealObject() -@property(nonatomic, readonly) OCMStubRecorder * (^_andForwardToRealObject)(void); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andForwardToRealObject)(void); #if !defined(OCM_DISABLE_XCTEST_FEATURES) #define andFulfill(anExpectation) _andFulfill(anExpectation) -@property(nonatomic, readonly) OCMStubRecorder * (^_andFulfill)(XCTestExpectation *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andFulfill)(XCTestExpectation *); #endif -@property(nonatomic, readonly) OCMStubRecorder * (^_ignoringNonObjectArgs)(void); +@property (nonatomic, readonly) OCMStubRecorder *(^ _ignoringNonObjectArgs)(void); -#define andBreak() \ - _andDo(^(NSInvocation * _invocation) { \ - __builtin_debugtrap(); \ - }) +#define andBreak() _andDo(^(NSInvocation *_invocation) \ +{ \ + __builtin_debugtrap(); \ +}) \ -#define andLog(_format, ...) \ - _andDo(^(NSInvocation * _invocation) { \ - NSLog(_format, ##__VA_ARGS__); \ - }) +#define andLog(_format, ...) _andDo(^(NSInvocation *_invocation) \ +{ \ + NSLog(_format, ##__VA_ARGS__); \ +}) \ @end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMock.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMock.h index b1b3e14..f636572 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMock.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMock.h @@ -14,15 +14,15 @@ * under the License. */ -#import -#import +#import +#import +#import +#import +#import #import -#import +#import #import -#import #import -#import -#import -#import -#import -#import +#import +#import +#import diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h index 6de97b2..2253557 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h @@ -14,10 +14,13 @@ * under the License. */ + + #ifdef OCM_DISABLE_SHORT_SYNTAX #define OCM_DISABLE_SHORT_QSYNTAX #endif + #define OCMClassMock(cls) [OCMockObject niceMockForClass:cls] #define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls] @@ -30,86 +33,125 @@ #define OCMObserverMock() [OCMockObject observerMock] -#define OCMStub(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginStubMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endStubMacro]; } recorder;); \ - }) - -#define OCMExpect(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginExpectMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endExpectMacro]; } recorder;); \ - }) - -#define OCMReject(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginRejectMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endRejectMacro]; } recorder;); \ - }) + +#define OCMStub(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginStubMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endStubMacro]; \ + } \ + recorder; \ + ); \ +}) + +#define OCMExpect(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginExpectMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endExpectMacro]; \ + } \ + recorder; \ + ); \ +}) + +#define OCMReject(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginRejectMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endRejectMacro]; \ + } \ + recorder; \ + ); \ +}) + + #define OCMClassMethod(invocation) \ - _OCMSilenceWarnings([[OCMMacroState globalState] switchToClassMethod]; invocation;); + _OCMSilenceWarnings( \ + [[OCMMacroState globalState] switchToClassMethod]; \ + invocation; \ + ); + #ifndef OCM_DISABLE_SHORT_SYNTAX #define ClassMethod(invocation) OCMClassMethod(invocation) #endif -#define OCMVerifyAll(mock) \ - [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] -#define OCMVerifyAllWithDelay(mock, delay) \ - [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] +#define OCMVerifyAll(mock) [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define OCMVerifyAllWithDelay(mock, delay) [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] -#define _OCMVerify(invocation) \ - ({ \ - _OCMSilenceWarnings( \ +#define _OCMVerify(invocation) \ +({ \ + _OCMSilenceWarnings( \ [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { [OCMMacroState endVerifyMacro]; }); \ - }) - -#define _OCMVerifyWithQuantifier(quantifier, invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) \ - withQuantifier:quantifier]; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { [OCMMacroState endVerifyMacro]; }); \ - }) - -// explanation for macros below here: -// https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros - -#define _OCMVerify_1(A) _OCMVerify(A) -#define _OCMVerify_2(A, B) _OCMVerifyWithQuantifier(A, B) -#define _OCMVerify_X(x, A, B, FUNC, ...) FUNC -#define OCMVerify(...) \ - _OCMVerify_X(, ##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) - -#define _OCMSilenceWarnings(macro) \ - ({_Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ - _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ - _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ - macro _Pragma("clang diagnostic pop")}) + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + [OCMMacroState endVerifyMacro]; \ + } \ + ); \ +}) + +#define _OCMVerifyWithQuantifier(quantifier, invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) withQuantifier:quantifier]; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + [OCMMacroState endVerifyMacro]; \ + } \ + ); \ +}) + +// explanation for macros below here: https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros + +#define _OCMVerify_1(A) _OCMVerify(A) +#define _OCMVerify_2(A,B) _OCMVerifyWithQuantifier(A, B) +#define _OCMVerify_X(x,A,B,FUNC, ...) FUNC +#define OCMVerify(...) _OCMVerify_X(,##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) + + +#define _OCMSilenceWarnings(macro) \ +({ \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ + _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ + _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ + macro \ + _Pragma("clang diagnostic pop") \ +}) diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h index b7f2304..f573971 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h @@ -23,13 +23,15 @@ @class OCMInvocationMatcher; @class OCMInvocationExpectation; -@interface OCMockObject : NSProxy { - BOOL isNice; - BOOL expectationOrderMatters; - NSMutableArray *stubs; - NSMutableArray *expectations; - NSMutableArray *exceptions; - NSMutableArray *invocations; + +@interface OCMockObject : NSProxy +{ + BOOL isNice; + BOOL expectationOrderMatters; + NSMutableArray *stubs; + NSMutableArray *expectations; + NSMutableArray *exceptions; + NSMutableArray *invocations; } + (id)mockForClass:(Class)aClass; @@ -69,11 +71,7 @@ - (void)verifyInvocation:(OCMInvocationMatcher *)matcher; - (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location; -- (void)verifyInvocation:(OCMInvocationMatcher *)matcher - withQuantifier:(OCMQuantifier *)quantifier - atLocation:(OCMLocation *)location; -- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher - quantifier:(OCMQuantifier *)quantifier - invocationCount:(NSUInteger)count; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher withQuantifier:(OCMQuantifier *)quantifier atLocation:(OCMLocation *)location; +- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher quantifier:(OCMQuantifier *)quantifier invocationCount:(NSUInteger)count; @end diff --git a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Modules/module.modulemap b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Modules/module.modulemap index 052ea7f..fab3ca5 100644 --- a/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Modules/module.modulemap +++ b/ThirdParty/OCMock.xcframework/ios-arm64_x86_64-simulator/OCMock.framework/Modules/module.modulemap @@ -1,7 +1,6 @@ framework module OCMock { - umbrella header "OCMock.h" export * + umbrella header "OCMock.h" + export * - module * { - export * - } + module * { export * } } diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/NSNotificationCenter+OCMAdditions.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/NSNotificationCenter+OCMAdditions.h index b25eeef..8f6d56f 100644 --- a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/NSNotificationCenter+OCMAdditions.h +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/NSNotificationCenter+OCMAdditions.h @@ -18,10 +18,9 @@ @class OCObserverMockObject; -@interface NSNotificationCenter (OCMAdditions) -- (void)addMockObserver:(OCObserverMockObject *)notificationObserver - name:(NSString *)notificationName - object:(id)notificationSender; +@interface NSNotificationCenter(OCMAdditions) + +- (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; @end diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMArg.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMArg.h index 5cbbd4f..2716707 100644 --- a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMArg.h +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMArg.h @@ -49,8 +49,5 @@ #define OCMOCK_ANY [OCMArg any] -#define OCMOCK_VALUE(variable) \ - ({ \ - __typeof__(variable) __v = (variable); \ - [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; \ - }) +#define OCMOCK_VALUE(variable) \ + ({ __typeof__(variable) __v = (variable); [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; }) diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMConstraint.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMConstraint.h index d5c5f96..39714db 100644 --- a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMConstraint.h +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMConstraint.h @@ -28,6 +28,7 @@ + (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; + (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue; + @end @interface OCMAnyConstraint : OCMConstraint @@ -39,22 +40,25 @@ @interface OCMIsNotNilConstraint : OCMConstraint @end -@interface OCMIsNotEqualConstraint : OCMConstraint { - @public - id testValue; +@interface OCMIsNotEqualConstraint : OCMConstraint +{ +@public + id testValue; } @end -@interface OCMInvocationConstraint : OCMConstraint { - @public - NSInvocation *invocation; +@interface OCMInvocationConstraint : OCMConstraint +{ +@public + NSInvocation *invocation; } @end -@interface OCMBlockConstraint : OCMConstraint { - BOOL (^block)(id); +@interface OCMBlockConstraint : OCMConstraint +{ + BOOL (^block)(id); } - (instancetype)initWithConstraintBlock:(BOOL (^)(id))block; @@ -63,6 +67,5 @@ #ifndef OCM_DISABLE_SHORT_SYNTAX #define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] -#define CONSTRAINTV(aSelector, aValue) \ - [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] +#define CONSTRAINTV(aSelector, aValue) [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] #endif diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMFunctions.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMFunctions.h index 1119402..15131ae 100644 --- a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMFunctions.h +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMFunctions.h @@ -16,11 +16,13 @@ #import + #if defined(__cplusplus) #define OCMOCK_EXTERN extern "C" #else #define OCMOCK_EXTERN extern #endif + OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); OCMOCK_EXTERN BOOL OCMIsSubclassOfMockClass(Class cls); diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMLocation.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMLocation.h index fd64f42..b14a8eb 100644 --- a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMLocation.h +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMLocation.h @@ -17,10 +17,11 @@ #import #import -@interface OCMLocation : NSObject { - id testCase; - NSString *file; - NSUInteger line; +@interface OCMLocation : NSObject +{ + id testCase; + NSString *file; + NSUInteger line; } + (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMMacroState.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMMacroState.h index 8d92be2..5b32fab 100644 --- a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMMacroState.h +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMMacroState.h @@ -22,9 +22,11 @@ @class OCMStubRecorder; @class OCMockObject; -@interface OCMMacroState : NSObject { - OCMRecorder *recorder; - BOOL invocationDidThrow; + +@interface OCMMacroState : NSObject +{ + OCMRecorder *recorder; + BOOL invocationDidThrow; } + (void)beginStubMacro; @@ -37,8 +39,7 @@ + (OCMStubRecorder *)endRejectMacro; + (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; -+ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation - withQuantifier:(OCMQuantifier *)quantifier; ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation withQuantifier:(OCMQuantifier *)quantifier; + (void)endVerifyMacro; + (OCMMacroState *)globalState; diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMQuantifier.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMQuantifier.h index 31d1847..c013bde 100644 --- a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMQuantifier.h +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMQuantifier.h @@ -16,8 +16,9 @@ #import -@interface OCMQuantifier : NSObject { - NSUInteger expectedCount; +@interface OCMQuantifier : NSObject +{ + NSUInteger expectedCount; } + (instancetype)never; @@ -31,14 +32,15 @@ @end -#define OCMNever() ([OCMQuantifier never]) -#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) -#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) -#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) + +#define OCMNever() ([OCMQuantifier never]) +#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) +#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) +#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) #ifndef OCM_DISABLE_SHORT_QSYNTAX -#define never() OCMNever() -#define times(n) OCMTimes(n) -#define atLeast(n) OCMAtLeast(n) -#define atMost(n) OCMAtMost(n) +#define never() OCMNever() +#define times(n) OCMTimes(n) +#define atLeast(n) OCMAtLeast(n) +#define atMost(n) OCMAtMost(n) #endif diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMRecorder.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMRecorder.h index 6b68343..5106445 100644 --- a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMRecorder.h +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMRecorder.h @@ -19,11 +19,13 @@ @class OCMockObject; @class OCMInvocationMatcher; -@interface OCMRecorder : NSProxy { - OCMockObject *mockObject; - OCMInvocationMatcher *invocationMatcher; - BOOL didRecordInvocation; - BOOL shouldReturnMockFromInit; + +@interface OCMRecorder : NSProxy +{ + OCMockObject *mockObject; + OCMInvocationMatcher *invocationMatcher; + BOOL didRecordInvocation; + BOOL shouldReturnMockFromInit; } - (instancetype)init; diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMStubRecorder.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMStubRecorder.h index cd1772e..a00c64b 100644 --- a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMStubRecorder.h +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMStubRecorder.h @@ -16,6 +16,7 @@ #import #import + #import #if !defined(OCM_DISABLE_XCTEST_FEATURES) @@ -38,52 +39,49 @@ @end + @interface OCMStubRecorder (Properties) -#define andReturn(aValue) \ - _andReturn(({ \ - __typeof__(aValue) _val = (aValue); \ - NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ - if (OCMIsObjectType(@encode(__typeof(_val)))) { \ - objc_setAssociatedObject(_nsval, \ - "OCMAssociatedBoxedValue", \ - *(__unsafe_unretained id *)(void *)&_val, \ - OBJC_ASSOCIATION_RETAIN); \ - } \ - _nsval; \ - })) -@property(nonatomic, readonly) OCMStubRecorder * (^_andReturn)(NSValue *); +#define andReturn(aValue) _andReturn(({ \ + __typeof__(aValue) _val = (aValue); \ + NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ + if (OCMIsObjectType(@encode(__typeof(_val)))) { \ + objc_setAssociatedObject(_nsval, "OCMAssociatedBoxedValue", *(__unsafe_unretained id *) (void *) &_val, OBJC_ASSOCIATION_RETAIN); \ + } \ + _nsval; \ +})) +@property (nonatomic, readonly) OCMStubRecorder *(^ _andReturn)(NSValue *); #define andThrow(anException) _andThrow(anException) -@property(nonatomic, readonly) OCMStubRecorder * (^_andThrow)(NSException *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andThrow)(NSException *); #define andPost(aNotification) _andPost(aNotification) -@property(nonatomic, readonly) OCMStubRecorder * (^_andPost)(NSNotification *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andPost)(NSNotification *); #define andCall(anObject, aSelector) _andCall(anObject, aSelector) -@property(nonatomic, readonly) OCMStubRecorder * (^_andCall)(id, SEL); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andCall)(id, SEL); #define andDo(aBlock) _andDo(aBlock) -@property(nonatomic, readonly) OCMStubRecorder * (^_andDo)(void (^)(NSInvocation *)); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andDo)(void (^)(NSInvocation *)); #define andForwardToRealObject() _andForwardToRealObject() -@property(nonatomic, readonly) OCMStubRecorder * (^_andForwardToRealObject)(void); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andForwardToRealObject)(void); #if !defined(OCM_DISABLE_XCTEST_FEATURES) #define andFulfill(anExpectation) _andFulfill(anExpectation) -@property(nonatomic, readonly) OCMStubRecorder * (^_andFulfill)(XCTestExpectation *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andFulfill)(XCTestExpectation *); #endif -@property(nonatomic, readonly) OCMStubRecorder * (^_ignoringNonObjectArgs)(void); +@property (nonatomic, readonly) OCMStubRecorder *(^ _ignoringNonObjectArgs)(void); -#define andBreak() \ - _andDo(^(NSInvocation * _invocation) { \ - __builtin_debugtrap(); \ - }) +#define andBreak() _andDo(^(NSInvocation *_invocation) \ +{ \ + __builtin_debugtrap(); \ +}) \ -#define andLog(_format, ...) \ - _andDo(^(NSInvocation * _invocation) { \ - NSLog(_format, ##__VA_ARGS__); \ - }) +#define andLog(_format, ...) _andDo(^(NSInvocation *_invocation) \ +{ \ + NSLog(_format, ##__VA_ARGS__); \ +}) \ @end diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMock.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMock.h index b1b3e14..f636572 100644 --- a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMock.h +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMock.h @@ -14,15 +14,15 @@ * under the License. */ -#import -#import +#import +#import +#import +#import +#import #import -#import +#import #import -#import #import -#import -#import -#import -#import -#import +#import +#import +#import diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMockMacros.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMockMacros.h index 6de97b2..2253557 100644 --- a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMockMacros.h +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMockMacros.h @@ -14,10 +14,13 @@ * under the License. */ + + #ifdef OCM_DISABLE_SHORT_SYNTAX #define OCM_DISABLE_SHORT_QSYNTAX #endif + #define OCMClassMock(cls) [OCMockObject niceMockForClass:cls] #define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls] @@ -30,86 +33,125 @@ #define OCMObserverMock() [OCMockObject observerMock] -#define OCMStub(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginStubMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endStubMacro]; } recorder;); \ - }) - -#define OCMExpect(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginExpectMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endExpectMacro]; } recorder;); \ - }) - -#define OCMReject(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginRejectMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endRejectMacro]; } recorder;); \ - }) + +#define OCMStub(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginStubMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endStubMacro]; \ + } \ + recorder; \ + ); \ +}) + +#define OCMExpect(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginExpectMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endExpectMacro]; \ + } \ + recorder; \ + ); \ +}) + +#define OCMReject(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginRejectMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endRejectMacro]; \ + } \ + recorder; \ + ); \ +}) + + #define OCMClassMethod(invocation) \ - _OCMSilenceWarnings([[OCMMacroState globalState] switchToClassMethod]; invocation;); + _OCMSilenceWarnings( \ + [[OCMMacroState globalState] switchToClassMethod]; \ + invocation; \ + ); + #ifndef OCM_DISABLE_SHORT_SYNTAX #define ClassMethod(invocation) OCMClassMethod(invocation) #endif -#define OCMVerifyAll(mock) \ - [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] -#define OCMVerifyAllWithDelay(mock, delay) \ - [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] +#define OCMVerifyAll(mock) [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define OCMVerifyAllWithDelay(mock, delay) [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] -#define _OCMVerify(invocation) \ - ({ \ - _OCMSilenceWarnings( \ +#define _OCMVerify(invocation) \ +({ \ + _OCMSilenceWarnings( \ [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { [OCMMacroState endVerifyMacro]; }); \ - }) - -#define _OCMVerifyWithQuantifier(quantifier, invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) \ - withQuantifier:quantifier]; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { [OCMMacroState endVerifyMacro]; }); \ - }) - -// explanation for macros below here: -// https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros - -#define _OCMVerify_1(A) _OCMVerify(A) -#define _OCMVerify_2(A, B) _OCMVerifyWithQuantifier(A, B) -#define _OCMVerify_X(x, A, B, FUNC, ...) FUNC -#define OCMVerify(...) \ - _OCMVerify_X(, ##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) - -#define _OCMSilenceWarnings(macro) \ - ({_Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ - _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ - _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ - macro _Pragma("clang diagnostic pop")}) + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + [OCMMacroState endVerifyMacro]; \ + } \ + ); \ +}) + +#define _OCMVerifyWithQuantifier(quantifier, invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) withQuantifier:quantifier]; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + [OCMMacroState endVerifyMacro]; \ + } \ + ); \ +}) + +// explanation for macros below here: https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros + +#define _OCMVerify_1(A) _OCMVerify(A) +#define _OCMVerify_2(A,B) _OCMVerifyWithQuantifier(A, B) +#define _OCMVerify_X(x,A,B,FUNC, ...) FUNC +#define OCMVerify(...) _OCMVerify_X(,##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) + + +#define _OCMSilenceWarnings(macro) \ +({ \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ + _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ + _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ + macro \ + _Pragma("clang diagnostic pop") \ +}) diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMockObject.h b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMockObject.h index b7f2304..f573971 100644 --- a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMockObject.h +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Headers/OCMockObject.h @@ -23,13 +23,15 @@ @class OCMInvocationMatcher; @class OCMInvocationExpectation; -@interface OCMockObject : NSProxy { - BOOL isNice; - BOOL expectationOrderMatters; - NSMutableArray *stubs; - NSMutableArray *expectations; - NSMutableArray *exceptions; - NSMutableArray *invocations; + +@interface OCMockObject : NSProxy +{ + BOOL isNice; + BOOL expectationOrderMatters; + NSMutableArray *stubs; + NSMutableArray *expectations; + NSMutableArray *exceptions; + NSMutableArray *invocations; } + (id)mockForClass:(Class)aClass; @@ -69,11 +71,7 @@ - (void)verifyInvocation:(OCMInvocationMatcher *)matcher; - (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location; -- (void)verifyInvocation:(OCMInvocationMatcher *)matcher - withQuantifier:(OCMQuantifier *)quantifier - atLocation:(OCMLocation *)location; -- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher - quantifier:(OCMQuantifier *)quantifier - invocationCount:(NSUInteger)count; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher withQuantifier:(OCMQuantifier *)quantifier atLocation:(OCMLocation *)location; +- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher quantifier:(OCMQuantifier *)quantifier invocationCount:(NSUInteger)count; @end diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Modules/module.modulemap b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Modules/module.modulemap index 052ea7f..fab3ca5 100644 --- a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Modules/module.modulemap +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/Modules/module.modulemap @@ -1,7 +1,6 @@ framework module OCMock { - umbrella header "OCMock.h" export * + umbrella header "OCMock.h" + export * - module * { - export * - } + module * { export * } } diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h index b25eeef..8f6d56f 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h @@ -18,10 +18,9 @@ @class OCObserverMockObject; -@interface NSNotificationCenter (OCMAdditions) -- (void)addMockObserver:(OCObserverMockObject *)notificationObserver - name:(NSString *)notificationName - object:(id)notificationSender; +@interface NSNotificationCenter(OCMAdditions) + +- (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; @end diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMArg.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMArg.h index 5cbbd4f..2716707 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMArg.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMArg.h @@ -49,8 +49,5 @@ #define OCMOCK_ANY [OCMArg any] -#define OCMOCK_VALUE(variable) \ - ({ \ - __typeof__(variable) __v = (variable); \ - [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; \ - }) +#define OCMOCK_VALUE(variable) \ + ({ __typeof__(variable) __v = (variable); [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; }) diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMConstraint.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMConstraint.h index d5c5f96..39714db 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMConstraint.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMConstraint.h @@ -28,6 +28,7 @@ + (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; + (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue; + @end @interface OCMAnyConstraint : OCMConstraint @@ -39,22 +40,25 @@ @interface OCMIsNotNilConstraint : OCMConstraint @end -@interface OCMIsNotEqualConstraint : OCMConstraint { - @public - id testValue; +@interface OCMIsNotEqualConstraint : OCMConstraint +{ +@public + id testValue; } @end -@interface OCMInvocationConstraint : OCMConstraint { - @public - NSInvocation *invocation; +@interface OCMInvocationConstraint : OCMConstraint +{ +@public + NSInvocation *invocation; } @end -@interface OCMBlockConstraint : OCMConstraint { - BOOL (^block)(id); +@interface OCMBlockConstraint : OCMConstraint +{ + BOOL (^block)(id); } - (instancetype)initWithConstraintBlock:(BOOL (^)(id))block; @@ -63,6 +67,5 @@ #ifndef OCM_DISABLE_SHORT_SYNTAX #define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] -#define CONSTRAINTV(aSelector, aValue) \ - [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] +#define CONSTRAINTV(aSelector, aValue) [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] #endif diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMFunctions.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMFunctions.h index 1119402..15131ae 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMFunctions.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMFunctions.h @@ -16,11 +16,13 @@ #import + #if defined(__cplusplus) #define OCMOCK_EXTERN extern "C" #else #define OCMOCK_EXTERN extern #endif + OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); OCMOCK_EXTERN BOOL OCMIsSubclassOfMockClass(Class cls); diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMLocation.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMLocation.h index fd64f42..b14a8eb 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMLocation.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMLocation.h @@ -17,10 +17,11 @@ #import #import -@interface OCMLocation : NSObject { - id testCase; - NSString *file; - NSUInteger line; +@interface OCMLocation : NSObject +{ + id testCase; + NSString *file; + NSUInteger line; } + (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMMacroState.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMMacroState.h index 8d92be2..5b32fab 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMMacroState.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMMacroState.h @@ -22,9 +22,11 @@ @class OCMStubRecorder; @class OCMockObject; -@interface OCMMacroState : NSObject { - OCMRecorder *recorder; - BOOL invocationDidThrow; + +@interface OCMMacroState : NSObject +{ + OCMRecorder *recorder; + BOOL invocationDidThrow; } + (void)beginStubMacro; @@ -37,8 +39,7 @@ + (OCMStubRecorder *)endRejectMacro; + (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; -+ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation - withQuantifier:(OCMQuantifier *)quantifier; ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation withQuantifier:(OCMQuantifier *)quantifier; + (void)endVerifyMacro; + (OCMMacroState *)globalState; diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMQuantifier.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMQuantifier.h index 31d1847..c013bde 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMQuantifier.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMQuantifier.h @@ -16,8 +16,9 @@ #import -@interface OCMQuantifier : NSObject { - NSUInteger expectedCount; +@interface OCMQuantifier : NSObject +{ + NSUInteger expectedCount; } + (instancetype)never; @@ -31,14 +32,15 @@ @end -#define OCMNever() ([OCMQuantifier never]) -#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) -#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) -#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) + +#define OCMNever() ([OCMQuantifier never]) +#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) +#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) +#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) #ifndef OCM_DISABLE_SHORT_QSYNTAX -#define never() OCMNever() -#define times(n) OCMTimes(n) -#define atLeast(n) OCMAtLeast(n) -#define atMost(n) OCMAtMost(n) +#define never() OCMNever() +#define times(n) OCMTimes(n) +#define atLeast(n) OCMAtLeast(n) +#define atMost(n) OCMAtMost(n) #endif diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMRecorder.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMRecorder.h index 6b68343..5106445 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMRecorder.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMRecorder.h @@ -19,11 +19,13 @@ @class OCMockObject; @class OCMInvocationMatcher; -@interface OCMRecorder : NSProxy { - OCMockObject *mockObject; - OCMInvocationMatcher *invocationMatcher; - BOOL didRecordInvocation; - BOOL shouldReturnMockFromInit; + +@interface OCMRecorder : NSProxy +{ + OCMockObject *mockObject; + OCMInvocationMatcher *invocationMatcher; + BOOL didRecordInvocation; + BOOL shouldReturnMockFromInit; } - (instancetype)init; diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMStubRecorder.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMStubRecorder.h index cd1772e..a00c64b 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMStubRecorder.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMStubRecorder.h @@ -16,6 +16,7 @@ #import #import + #import #if !defined(OCM_DISABLE_XCTEST_FEATURES) @@ -38,52 +39,49 @@ @end + @interface OCMStubRecorder (Properties) -#define andReturn(aValue) \ - _andReturn(({ \ - __typeof__(aValue) _val = (aValue); \ - NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ - if (OCMIsObjectType(@encode(__typeof(_val)))) { \ - objc_setAssociatedObject(_nsval, \ - "OCMAssociatedBoxedValue", \ - *(__unsafe_unretained id *)(void *)&_val, \ - OBJC_ASSOCIATION_RETAIN); \ - } \ - _nsval; \ - })) -@property(nonatomic, readonly) OCMStubRecorder * (^_andReturn)(NSValue *); +#define andReturn(aValue) _andReturn(({ \ + __typeof__(aValue) _val = (aValue); \ + NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ + if (OCMIsObjectType(@encode(__typeof(_val)))) { \ + objc_setAssociatedObject(_nsval, "OCMAssociatedBoxedValue", *(__unsafe_unretained id *) (void *) &_val, OBJC_ASSOCIATION_RETAIN); \ + } \ + _nsval; \ +})) +@property (nonatomic, readonly) OCMStubRecorder *(^ _andReturn)(NSValue *); #define andThrow(anException) _andThrow(anException) -@property(nonatomic, readonly) OCMStubRecorder * (^_andThrow)(NSException *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andThrow)(NSException *); #define andPost(aNotification) _andPost(aNotification) -@property(nonatomic, readonly) OCMStubRecorder * (^_andPost)(NSNotification *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andPost)(NSNotification *); #define andCall(anObject, aSelector) _andCall(anObject, aSelector) -@property(nonatomic, readonly) OCMStubRecorder * (^_andCall)(id, SEL); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andCall)(id, SEL); #define andDo(aBlock) _andDo(aBlock) -@property(nonatomic, readonly) OCMStubRecorder * (^_andDo)(void (^)(NSInvocation *)); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andDo)(void (^)(NSInvocation *)); #define andForwardToRealObject() _andForwardToRealObject() -@property(nonatomic, readonly) OCMStubRecorder * (^_andForwardToRealObject)(void); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andForwardToRealObject)(void); #if !defined(OCM_DISABLE_XCTEST_FEATURES) #define andFulfill(anExpectation) _andFulfill(anExpectation) -@property(nonatomic, readonly) OCMStubRecorder * (^_andFulfill)(XCTestExpectation *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andFulfill)(XCTestExpectation *); #endif -@property(nonatomic, readonly) OCMStubRecorder * (^_ignoringNonObjectArgs)(void); +@property (nonatomic, readonly) OCMStubRecorder *(^ _ignoringNonObjectArgs)(void); -#define andBreak() \ - _andDo(^(NSInvocation * _invocation) { \ - __builtin_debugtrap(); \ - }) +#define andBreak() _andDo(^(NSInvocation *_invocation) \ +{ \ + __builtin_debugtrap(); \ +}) \ -#define andLog(_format, ...) \ - _andDo(^(NSInvocation * _invocation) { \ - NSLog(_format, ##__VA_ARGS__); \ - }) +#define andLog(_format, ...) _andDo(^(NSInvocation *_invocation) \ +{ \ + NSLog(_format, ##__VA_ARGS__); \ +}) \ @end diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMock.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMock.h index b1b3e14..f636572 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMock.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMock.h @@ -14,15 +14,15 @@ * under the License. */ -#import -#import +#import +#import +#import +#import +#import #import -#import +#import #import -#import #import -#import -#import -#import -#import -#import +#import +#import +#import diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMockMacros.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMockMacros.h index 6de97b2..2253557 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMockMacros.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMockMacros.h @@ -14,10 +14,13 @@ * under the License. */ + + #ifdef OCM_DISABLE_SHORT_SYNTAX #define OCM_DISABLE_SHORT_QSYNTAX #endif + #define OCMClassMock(cls) [OCMockObject niceMockForClass:cls] #define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls] @@ -30,86 +33,125 @@ #define OCMObserverMock() [OCMockObject observerMock] -#define OCMStub(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginStubMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endStubMacro]; } recorder;); \ - }) - -#define OCMExpect(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginExpectMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endExpectMacro]; } recorder;); \ - }) - -#define OCMReject(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginRejectMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endRejectMacro]; } recorder;); \ - }) + +#define OCMStub(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginStubMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endStubMacro]; \ + } \ + recorder; \ + ); \ +}) + +#define OCMExpect(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginExpectMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endExpectMacro]; \ + } \ + recorder; \ + ); \ +}) + +#define OCMReject(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginRejectMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endRejectMacro]; \ + } \ + recorder; \ + ); \ +}) + + #define OCMClassMethod(invocation) \ - _OCMSilenceWarnings([[OCMMacroState globalState] switchToClassMethod]; invocation;); + _OCMSilenceWarnings( \ + [[OCMMacroState globalState] switchToClassMethod]; \ + invocation; \ + ); + #ifndef OCM_DISABLE_SHORT_SYNTAX #define ClassMethod(invocation) OCMClassMethod(invocation) #endif -#define OCMVerifyAll(mock) \ - [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] -#define OCMVerifyAllWithDelay(mock, delay) \ - [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] +#define OCMVerifyAll(mock) [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define OCMVerifyAllWithDelay(mock, delay) [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] -#define _OCMVerify(invocation) \ - ({ \ - _OCMSilenceWarnings( \ +#define _OCMVerify(invocation) \ +({ \ + _OCMSilenceWarnings( \ [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { [OCMMacroState endVerifyMacro]; }); \ - }) - -#define _OCMVerifyWithQuantifier(quantifier, invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) \ - withQuantifier:quantifier]; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { [OCMMacroState endVerifyMacro]; }); \ - }) - -// explanation for macros below here: -// https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros - -#define _OCMVerify_1(A) _OCMVerify(A) -#define _OCMVerify_2(A, B) _OCMVerifyWithQuantifier(A, B) -#define _OCMVerify_X(x, A, B, FUNC, ...) FUNC -#define OCMVerify(...) \ - _OCMVerify_X(, ##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) - -#define _OCMSilenceWarnings(macro) \ - ({_Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ - _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ - _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ - macro _Pragma("clang diagnostic pop")}) + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + [OCMMacroState endVerifyMacro]; \ + } \ + ); \ +}) + +#define _OCMVerifyWithQuantifier(quantifier, invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) withQuantifier:quantifier]; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + [OCMMacroState endVerifyMacro]; \ + } \ + ); \ +}) + +// explanation for macros below here: https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros + +#define _OCMVerify_1(A) _OCMVerify(A) +#define _OCMVerify_2(A,B) _OCMVerifyWithQuantifier(A, B) +#define _OCMVerify_X(x,A,B,FUNC, ...) FUNC +#define OCMVerify(...) _OCMVerify_X(,##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) + + +#define _OCMSilenceWarnings(macro) \ +({ \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ + _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ + _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ + macro \ + _Pragma("clang diagnostic pop") \ +}) diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMockObject.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMockObject.h index b7f2304..f573971 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMockObject.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMockObject.h @@ -23,13 +23,15 @@ @class OCMInvocationMatcher; @class OCMInvocationExpectation; -@interface OCMockObject : NSProxy { - BOOL isNice; - BOOL expectationOrderMatters; - NSMutableArray *stubs; - NSMutableArray *expectations; - NSMutableArray *exceptions; - NSMutableArray *invocations; + +@interface OCMockObject : NSProxy +{ + BOOL isNice; + BOOL expectationOrderMatters; + NSMutableArray *stubs; + NSMutableArray *expectations; + NSMutableArray *exceptions; + NSMutableArray *invocations; } + (id)mockForClass:(Class)aClass; @@ -69,11 +71,7 @@ - (void)verifyInvocation:(OCMInvocationMatcher *)matcher; - (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location; -- (void)verifyInvocation:(OCMInvocationMatcher *)matcher - withQuantifier:(OCMQuantifier *)quantifier - atLocation:(OCMLocation *)location; -- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher - quantifier:(OCMQuantifier *)quantifier - invocationCount:(NSUInteger)count; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher withQuantifier:(OCMQuantifier *)quantifier atLocation:(OCMLocation *)location; +- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher quantifier:(OCMQuantifier *)quantifier invocationCount:(NSUInteger)count; @end diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Modules/module.modulemap b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Modules/module.modulemap index 052ea7f..fab3ca5 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Modules/module.modulemap +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Modules/module.modulemap @@ -1,7 +1,6 @@ framework module OCMock { - umbrella header "OCMock.h" export * + umbrella header "OCMock.h" + export * - module * { - export * - } + module * { export * } } diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h index b25eeef..8f6d56f 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h @@ -18,10 +18,9 @@ @class OCObserverMockObject; -@interface NSNotificationCenter (OCMAdditions) -- (void)addMockObserver:(OCObserverMockObject *)notificationObserver - name:(NSString *)notificationName - object:(id)notificationSender; +@interface NSNotificationCenter(OCMAdditions) + +- (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; @end diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMArg.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMArg.h index 5cbbd4f..2716707 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMArg.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMArg.h @@ -49,8 +49,5 @@ #define OCMOCK_ANY [OCMArg any] -#define OCMOCK_VALUE(variable) \ - ({ \ - __typeof__(variable) __v = (variable); \ - [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; \ - }) +#define OCMOCK_VALUE(variable) \ + ({ __typeof__(variable) __v = (variable); [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; }) diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h index d5c5f96..39714db 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h @@ -28,6 +28,7 @@ + (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; + (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue; + @end @interface OCMAnyConstraint : OCMConstraint @@ -39,22 +40,25 @@ @interface OCMIsNotNilConstraint : OCMConstraint @end -@interface OCMIsNotEqualConstraint : OCMConstraint { - @public - id testValue; +@interface OCMIsNotEqualConstraint : OCMConstraint +{ +@public + id testValue; } @end -@interface OCMInvocationConstraint : OCMConstraint { - @public - NSInvocation *invocation; +@interface OCMInvocationConstraint : OCMConstraint +{ +@public + NSInvocation *invocation; } @end -@interface OCMBlockConstraint : OCMConstraint { - BOOL (^block)(id); +@interface OCMBlockConstraint : OCMConstraint +{ + BOOL (^block)(id); } - (instancetype)initWithConstraintBlock:(BOOL (^)(id))block; @@ -63,6 +67,5 @@ #ifndef OCM_DISABLE_SHORT_SYNTAX #define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] -#define CONSTRAINTV(aSelector, aValue) \ - [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] +#define CONSTRAINTV(aSelector, aValue) [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] #endif diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h index 1119402..15131ae 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h @@ -16,11 +16,13 @@ #import + #if defined(__cplusplus) #define OCMOCK_EXTERN extern "C" #else #define OCMOCK_EXTERN extern #endif + OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); OCMOCK_EXTERN BOOL OCMIsSubclassOfMockClass(Class cls); diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h index fd64f42..b14a8eb 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h @@ -17,10 +17,11 @@ #import #import -@interface OCMLocation : NSObject { - id testCase; - NSString *file; - NSUInteger line; +@interface OCMLocation : NSObject +{ + id testCase; + NSString *file; + NSUInteger line; } + (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h index 8d92be2..5b32fab 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h @@ -22,9 +22,11 @@ @class OCMStubRecorder; @class OCMockObject; -@interface OCMMacroState : NSObject { - OCMRecorder *recorder; - BOOL invocationDidThrow; + +@interface OCMMacroState : NSObject +{ + OCMRecorder *recorder; + BOOL invocationDidThrow; } + (void)beginStubMacro; @@ -37,8 +39,7 @@ + (OCMStubRecorder *)endRejectMacro; + (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; -+ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation - withQuantifier:(OCMQuantifier *)quantifier; ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation withQuantifier:(OCMQuantifier *)quantifier; + (void)endVerifyMacro; + (OCMMacroState *)globalState; diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h index 31d1847..c013bde 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h @@ -16,8 +16,9 @@ #import -@interface OCMQuantifier : NSObject { - NSUInteger expectedCount; +@interface OCMQuantifier : NSObject +{ + NSUInteger expectedCount; } + (instancetype)never; @@ -31,14 +32,15 @@ @end -#define OCMNever() ([OCMQuantifier never]) -#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) -#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) -#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) + +#define OCMNever() ([OCMQuantifier never]) +#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) +#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) +#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) #ifndef OCM_DISABLE_SHORT_QSYNTAX -#define never() OCMNever() -#define times(n) OCMTimes(n) -#define atLeast(n) OCMAtLeast(n) -#define atMost(n) OCMAtMost(n) +#define never() OCMNever() +#define times(n) OCMTimes(n) +#define atLeast(n) OCMAtLeast(n) +#define atMost(n) OCMAtMost(n) #endif diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h index 6b68343..5106445 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h @@ -19,11 +19,13 @@ @class OCMockObject; @class OCMInvocationMatcher; -@interface OCMRecorder : NSProxy { - OCMockObject *mockObject; - OCMInvocationMatcher *invocationMatcher; - BOOL didRecordInvocation; - BOOL shouldReturnMockFromInit; + +@interface OCMRecorder : NSProxy +{ + OCMockObject *mockObject; + OCMInvocationMatcher *invocationMatcher; + BOOL didRecordInvocation; + BOOL shouldReturnMockFromInit; } - (instancetype)init; diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h index cd1772e..a00c64b 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h @@ -16,6 +16,7 @@ #import #import + #import #if !defined(OCM_DISABLE_XCTEST_FEATURES) @@ -38,52 +39,49 @@ @end + @interface OCMStubRecorder (Properties) -#define andReturn(aValue) \ - _andReturn(({ \ - __typeof__(aValue) _val = (aValue); \ - NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ - if (OCMIsObjectType(@encode(__typeof(_val)))) { \ - objc_setAssociatedObject(_nsval, \ - "OCMAssociatedBoxedValue", \ - *(__unsafe_unretained id *)(void *)&_val, \ - OBJC_ASSOCIATION_RETAIN); \ - } \ - _nsval; \ - })) -@property(nonatomic, readonly) OCMStubRecorder * (^_andReturn)(NSValue *); +#define andReturn(aValue) _andReturn(({ \ + __typeof__(aValue) _val = (aValue); \ + NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ + if (OCMIsObjectType(@encode(__typeof(_val)))) { \ + objc_setAssociatedObject(_nsval, "OCMAssociatedBoxedValue", *(__unsafe_unretained id *) (void *) &_val, OBJC_ASSOCIATION_RETAIN); \ + } \ + _nsval; \ +})) +@property (nonatomic, readonly) OCMStubRecorder *(^ _andReturn)(NSValue *); #define andThrow(anException) _andThrow(anException) -@property(nonatomic, readonly) OCMStubRecorder * (^_andThrow)(NSException *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andThrow)(NSException *); #define andPost(aNotification) _andPost(aNotification) -@property(nonatomic, readonly) OCMStubRecorder * (^_andPost)(NSNotification *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andPost)(NSNotification *); #define andCall(anObject, aSelector) _andCall(anObject, aSelector) -@property(nonatomic, readonly) OCMStubRecorder * (^_andCall)(id, SEL); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andCall)(id, SEL); #define andDo(aBlock) _andDo(aBlock) -@property(nonatomic, readonly) OCMStubRecorder * (^_andDo)(void (^)(NSInvocation *)); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andDo)(void (^)(NSInvocation *)); #define andForwardToRealObject() _andForwardToRealObject() -@property(nonatomic, readonly) OCMStubRecorder * (^_andForwardToRealObject)(void); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andForwardToRealObject)(void); #if !defined(OCM_DISABLE_XCTEST_FEATURES) #define andFulfill(anExpectation) _andFulfill(anExpectation) -@property(nonatomic, readonly) OCMStubRecorder * (^_andFulfill)(XCTestExpectation *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andFulfill)(XCTestExpectation *); #endif -@property(nonatomic, readonly) OCMStubRecorder * (^_ignoringNonObjectArgs)(void); +@property (nonatomic, readonly) OCMStubRecorder *(^ _ignoringNonObjectArgs)(void); -#define andBreak() \ - _andDo(^(NSInvocation * _invocation) { \ - __builtin_debugtrap(); \ - }) +#define andBreak() _andDo(^(NSInvocation *_invocation) \ +{ \ + __builtin_debugtrap(); \ +}) \ -#define andLog(_format, ...) \ - _andDo(^(NSInvocation * _invocation) { \ - NSLog(_format, ##__VA_ARGS__); \ - }) +#define andLog(_format, ...) _andDo(^(NSInvocation *_invocation) \ +{ \ + NSLog(_format, ##__VA_ARGS__); \ +}) \ @end diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMock.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMock.h index b1b3e14..f636572 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMock.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMock.h @@ -14,15 +14,15 @@ * under the License. */ -#import -#import +#import +#import +#import +#import +#import #import -#import +#import #import -#import #import -#import -#import -#import -#import -#import +#import +#import +#import diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h index 6de97b2..2253557 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h @@ -14,10 +14,13 @@ * under the License. */ + + #ifdef OCM_DISABLE_SHORT_SYNTAX #define OCM_DISABLE_SHORT_QSYNTAX #endif + #define OCMClassMock(cls) [OCMockObject niceMockForClass:cls] #define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls] @@ -30,86 +33,125 @@ #define OCMObserverMock() [OCMockObject observerMock] -#define OCMStub(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginStubMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endStubMacro]; } recorder;); \ - }) - -#define OCMExpect(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginExpectMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endExpectMacro]; } recorder;); \ - }) - -#define OCMReject(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginRejectMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endRejectMacro]; } recorder;); \ - }) + +#define OCMStub(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginStubMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endStubMacro]; \ + } \ + recorder; \ + ); \ +}) + +#define OCMExpect(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginExpectMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endExpectMacro]; \ + } \ + recorder; \ + ); \ +}) + +#define OCMReject(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginRejectMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endRejectMacro]; \ + } \ + recorder; \ + ); \ +}) + + #define OCMClassMethod(invocation) \ - _OCMSilenceWarnings([[OCMMacroState globalState] switchToClassMethod]; invocation;); + _OCMSilenceWarnings( \ + [[OCMMacroState globalState] switchToClassMethod]; \ + invocation; \ + ); + #ifndef OCM_DISABLE_SHORT_SYNTAX #define ClassMethod(invocation) OCMClassMethod(invocation) #endif -#define OCMVerifyAll(mock) \ - [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] -#define OCMVerifyAllWithDelay(mock, delay) \ - [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] +#define OCMVerifyAll(mock) [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define OCMVerifyAllWithDelay(mock, delay) [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] -#define _OCMVerify(invocation) \ - ({ \ - _OCMSilenceWarnings( \ +#define _OCMVerify(invocation) \ +({ \ + _OCMSilenceWarnings( \ [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { [OCMMacroState endVerifyMacro]; }); \ - }) - -#define _OCMVerifyWithQuantifier(quantifier, invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) \ - withQuantifier:quantifier]; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { [OCMMacroState endVerifyMacro]; }); \ - }) - -// explanation for macros below here: -// https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros - -#define _OCMVerify_1(A) _OCMVerify(A) -#define _OCMVerify_2(A, B) _OCMVerifyWithQuantifier(A, B) -#define _OCMVerify_X(x, A, B, FUNC, ...) FUNC -#define OCMVerify(...) \ - _OCMVerify_X(, ##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) - -#define _OCMSilenceWarnings(macro) \ - ({_Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ - _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ - _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ - macro _Pragma("clang diagnostic pop")}) + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + [OCMMacroState endVerifyMacro]; \ + } \ + ); \ +}) + +#define _OCMVerifyWithQuantifier(quantifier, invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) withQuantifier:quantifier]; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + [OCMMacroState endVerifyMacro]; \ + } \ + ); \ +}) + +// explanation for macros below here: https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros + +#define _OCMVerify_1(A) _OCMVerify(A) +#define _OCMVerify_2(A,B) _OCMVerifyWithQuantifier(A, B) +#define _OCMVerify_X(x,A,B,FUNC, ...) FUNC +#define OCMVerify(...) _OCMVerify_X(,##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) + + +#define _OCMSilenceWarnings(macro) \ +({ \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ + _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ + _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ + macro \ + _Pragma("clang diagnostic pop") \ +}) diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h index b7f2304..f573971 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h @@ -23,13 +23,15 @@ @class OCMInvocationMatcher; @class OCMInvocationExpectation; -@interface OCMockObject : NSProxy { - BOOL isNice; - BOOL expectationOrderMatters; - NSMutableArray *stubs; - NSMutableArray *expectations; - NSMutableArray *exceptions; - NSMutableArray *invocations; + +@interface OCMockObject : NSProxy +{ + BOOL isNice; + BOOL expectationOrderMatters; + NSMutableArray *stubs; + NSMutableArray *expectations; + NSMutableArray *exceptions; + NSMutableArray *invocations; } + (id)mockForClass:(Class)aClass; @@ -69,11 +71,7 @@ - (void)verifyInvocation:(OCMInvocationMatcher *)matcher; - (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location; -- (void)verifyInvocation:(OCMInvocationMatcher *)matcher - withQuantifier:(OCMQuantifier *)quantifier - atLocation:(OCMLocation *)location; -- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher - quantifier:(OCMQuantifier *)quantifier - invocationCount:(NSUInteger)count; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher withQuantifier:(OCMQuantifier *)quantifier atLocation:(OCMLocation *)location; +- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher quantifier:(OCMQuantifier *)quantifier invocationCount:(NSUInteger)count; @end diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Modules/module.modulemap b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Modules/module.modulemap index 052ea7f..fab3ca5 100644 --- a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Modules/module.modulemap +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Modules/module.modulemap @@ -1,7 +1,6 @@ framework module OCMock { - umbrella header "OCMock.h" export * + umbrella header "OCMock.h" + export * - module * { - export * - } + module * { export * } } diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h index b25eeef..8f6d56f 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h @@ -18,10 +18,9 @@ @class OCObserverMockObject; -@interface NSNotificationCenter (OCMAdditions) -- (void)addMockObserver:(OCObserverMockObject *)notificationObserver - name:(NSString *)notificationName - object:(id)notificationSender; +@interface NSNotificationCenter(OCMAdditions) + +- (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; @end diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMArg.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMArg.h index 5cbbd4f..2716707 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMArg.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMArg.h @@ -49,8 +49,5 @@ #define OCMOCK_ANY [OCMArg any] -#define OCMOCK_VALUE(variable) \ - ({ \ - __typeof__(variable) __v = (variable); \ - [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; \ - }) +#define OCMOCK_VALUE(variable) \ + ({ __typeof__(variable) __v = (variable); [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; }) diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMConstraint.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMConstraint.h index d5c5f96..39714db 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMConstraint.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMConstraint.h @@ -28,6 +28,7 @@ + (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; + (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue; + @end @interface OCMAnyConstraint : OCMConstraint @@ -39,22 +40,25 @@ @interface OCMIsNotNilConstraint : OCMConstraint @end -@interface OCMIsNotEqualConstraint : OCMConstraint { - @public - id testValue; +@interface OCMIsNotEqualConstraint : OCMConstraint +{ +@public + id testValue; } @end -@interface OCMInvocationConstraint : OCMConstraint { - @public - NSInvocation *invocation; +@interface OCMInvocationConstraint : OCMConstraint +{ +@public + NSInvocation *invocation; } @end -@interface OCMBlockConstraint : OCMConstraint { - BOOL (^block)(id); +@interface OCMBlockConstraint : OCMConstraint +{ + BOOL (^block)(id); } - (instancetype)initWithConstraintBlock:(BOOL (^)(id))block; @@ -63,6 +67,5 @@ #ifndef OCM_DISABLE_SHORT_SYNTAX #define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] -#define CONSTRAINTV(aSelector, aValue) \ - [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] +#define CONSTRAINTV(aSelector, aValue) [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] #endif diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMFunctions.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMFunctions.h index 1119402..15131ae 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMFunctions.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMFunctions.h @@ -16,11 +16,13 @@ #import + #if defined(__cplusplus) #define OCMOCK_EXTERN extern "C" #else #define OCMOCK_EXTERN extern #endif + OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); OCMOCK_EXTERN BOOL OCMIsSubclassOfMockClass(Class cls); diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMLocation.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMLocation.h index fd64f42..b14a8eb 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMLocation.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMLocation.h @@ -17,10 +17,11 @@ #import #import -@interface OCMLocation : NSObject { - id testCase; - NSString *file; - NSUInteger line; +@interface OCMLocation : NSObject +{ + id testCase; + NSString *file; + NSUInteger line; } + (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMMacroState.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMMacroState.h index 8d92be2..5b32fab 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMMacroState.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMMacroState.h @@ -22,9 +22,11 @@ @class OCMStubRecorder; @class OCMockObject; -@interface OCMMacroState : NSObject { - OCMRecorder *recorder; - BOOL invocationDidThrow; + +@interface OCMMacroState : NSObject +{ + OCMRecorder *recorder; + BOOL invocationDidThrow; } + (void)beginStubMacro; @@ -37,8 +39,7 @@ + (OCMStubRecorder *)endRejectMacro; + (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; -+ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation - withQuantifier:(OCMQuantifier *)quantifier; ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation withQuantifier:(OCMQuantifier *)quantifier; + (void)endVerifyMacro; + (OCMMacroState *)globalState; diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMQuantifier.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMQuantifier.h index 31d1847..c013bde 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMQuantifier.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMQuantifier.h @@ -16,8 +16,9 @@ #import -@interface OCMQuantifier : NSObject { - NSUInteger expectedCount; +@interface OCMQuantifier : NSObject +{ + NSUInteger expectedCount; } + (instancetype)never; @@ -31,14 +32,15 @@ @end -#define OCMNever() ([OCMQuantifier never]) -#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) -#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) -#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) + +#define OCMNever() ([OCMQuantifier never]) +#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) +#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) +#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) #ifndef OCM_DISABLE_SHORT_QSYNTAX -#define never() OCMNever() -#define times(n) OCMTimes(n) -#define atLeast(n) OCMAtLeast(n) -#define atMost(n) OCMAtMost(n) +#define never() OCMNever() +#define times(n) OCMTimes(n) +#define atLeast(n) OCMAtLeast(n) +#define atMost(n) OCMAtMost(n) #endif diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMRecorder.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMRecorder.h index 6b68343..5106445 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMRecorder.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMRecorder.h @@ -19,11 +19,13 @@ @class OCMockObject; @class OCMInvocationMatcher; -@interface OCMRecorder : NSProxy { - OCMockObject *mockObject; - OCMInvocationMatcher *invocationMatcher; - BOOL didRecordInvocation; - BOOL shouldReturnMockFromInit; + +@interface OCMRecorder : NSProxy +{ + OCMockObject *mockObject; + OCMInvocationMatcher *invocationMatcher; + BOOL didRecordInvocation; + BOOL shouldReturnMockFromInit; } - (instancetype)init; diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMStubRecorder.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMStubRecorder.h index cd1772e..a00c64b 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMStubRecorder.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMStubRecorder.h @@ -16,6 +16,7 @@ #import #import + #import #if !defined(OCM_DISABLE_XCTEST_FEATURES) @@ -38,52 +39,49 @@ @end + @interface OCMStubRecorder (Properties) -#define andReturn(aValue) \ - _andReturn(({ \ - __typeof__(aValue) _val = (aValue); \ - NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ - if (OCMIsObjectType(@encode(__typeof(_val)))) { \ - objc_setAssociatedObject(_nsval, \ - "OCMAssociatedBoxedValue", \ - *(__unsafe_unretained id *)(void *)&_val, \ - OBJC_ASSOCIATION_RETAIN); \ - } \ - _nsval; \ - })) -@property(nonatomic, readonly) OCMStubRecorder * (^_andReturn)(NSValue *); +#define andReturn(aValue) _andReturn(({ \ + __typeof__(aValue) _val = (aValue); \ + NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ + if (OCMIsObjectType(@encode(__typeof(_val)))) { \ + objc_setAssociatedObject(_nsval, "OCMAssociatedBoxedValue", *(__unsafe_unretained id *) (void *) &_val, OBJC_ASSOCIATION_RETAIN); \ + } \ + _nsval; \ +})) +@property (nonatomic, readonly) OCMStubRecorder *(^ _andReturn)(NSValue *); #define andThrow(anException) _andThrow(anException) -@property(nonatomic, readonly) OCMStubRecorder * (^_andThrow)(NSException *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andThrow)(NSException *); #define andPost(aNotification) _andPost(aNotification) -@property(nonatomic, readonly) OCMStubRecorder * (^_andPost)(NSNotification *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andPost)(NSNotification *); #define andCall(anObject, aSelector) _andCall(anObject, aSelector) -@property(nonatomic, readonly) OCMStubRecorder * (^_andCall)(id, SEL); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andCall)(id, SEL); #define andDo(aBlock) _andDo(aBlock) -@property(nonatomic, readonly) OCMStubRecorder * (^_andDo)(void (^)(NSInvocation *)); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andDo)(void (^)(NSInvocation *)); #define andForwardToRealObject() _andForwardToRealObject() -@property(nonatomic, readonly) OCMStubRecorder * (^_andForwardToRealObject)(void); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andForwardToRealObject)(void); #if !defined(OCM_DISABLE_XCTEST_FEATURES) #define andFulfill(anExpectation) _andFulfill(anExpectation) -@property(nonatomic, readonly) OCMStubRecorder * (^_andFulfill)(XCTestExpectation *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andFulfill)(XCTestExpectation *); #endif -@property(nonatomic, readonly) OCMStubRecorder * (^_ignoringNonObjectArgs)(void); +@property (nonatomic, readonly) OCMStubRecorder *(^ _ignoringNonObjectArgs)(void); -#define andBreak() \ - _andDo(^(NSInvocation * _invocation) { \ - __builtin_debugtrap(); \ - }) +#define andBreak() _andDo(^(NSInvocation *_invocation) \ +{ \ + __builtin_debugtrap(); \ +}) \ -#define andLog(_format, ...) \ - _andDo(^(NSInvocation * _invocation) { \ - NSLog(_format, ##__VA_ARGS__); \ - }) +#define andLog(_format, ...) _andDo(^(NSInvocation *_invocation) \ +{ \ + NSLog(_format, ##__VA_ARGS__); \ +}) \ @end diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMock.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMock.h index b1b3e14..f636572 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMock.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMock.h @@ -14,15 +14,15 @@ * under the License. */ -#import -#import +#import +#import +#import +#import +#import #import -#import +#import #import -#import #import -#import -#import -#import -#import -#import +#import +#import +#import diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMockMacros.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMockMacros.h index 6de97b2..2253557 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMockMacros.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMockMacros.h @@ -14,10 +14,13 @@ * under the License. */ + + #ifdef OCM_DISABLE_SHORT_SYNTAX #define OCM_DISABLE_SHORT_QSYNTAX #endif + #define OCMClassMock(cls) [OCMockObject niceMockForClass:cls] #define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls] @@ -30,86 +33,125 @@ #define OCMObserverMock() [OCMockObject observerMock] -#define OCMStub(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginStubMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endStubMacro]; } recorder;); \ - }) - -#define OCMExpect(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginExpectMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endExpectMacro]; } recorder;); \ - }) - -#define OCMReject(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginRejectMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endRejectMacro]; } recorder;); \ - }) + +#define OCMStub(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginStubMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endStubMacro]; \ + } \ + recorder; \ + ); \ +}) + +#define OCMExpect(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginExpectMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endExpectMacro]; \ + } \ + recorder; \ + ); \ +}) + +#define OCMReject(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginRejectMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endRejectMacro]; \ + } \ + recorder; \ + ); \ +}) + + #define OCMClassMethod(invocation) \ - _OCMSilenceWarnings([[OCMMacroState globalState] switchToClassMethod]; invocation;); + _OCMSilenceWarnings( \ + [[OCMMacroState globalState] switchToClassMethod]; \ + invocation; \ + ); + #ifndef OCM_DISABLE_SHORT_SYNTAX #define ClassMethod(invocation) OCMClassMethod(invocation) #endif -#define OCMVerifyAll(mock) \ - [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] -#define OCMVerifyAllWithDelay(mock, delay) \ - [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] +#define OCMVerifyAll(mock) [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define OCMVerifyAllWithDelay(mock, delay) [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] -#define _OCMVerify(invocation) \ - ({ \ - _OCMSilenceWarnings( \ +#define _OCMVerify(invocation) \ +({ \ + _OCMSilenceWarnings( \ [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { [OCMMacroState endVerifyMacro]; }); \ - }) - -#define _OCMVerifyWithQuantifier(quantifier, invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) \ - withQuantifier:quantifier]; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { [OCMMacroState endVerifyMacro]; }); \ - }) - -// explanation for macros below here: -// https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros - -#define _OCMVerify_1(A) _OCMVerify(A) -#define _OCMVerify_2(A, B) _OCMVerifyWithQuantifier(A, B) -#define _OCMVerify_X(x, A, B, FUNC, ...) FUNC -#define OCMVerify(...) \ - _OCMVerify_X(, ##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) - -#define _OCMSilenceWarnings(macro) \ - ({_Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ - _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ - _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ - macro _Pragma("clang diagnostic pop")}) + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + [OCMMacroState endVerifyMacro]; \ + } \ + ); \ +}) + +#define _OCMVerifyWithQuantifier(quantifier, invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) withQuantifier:quantifier]; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + [OCMMacroState endVerifyMacro]; \ + } \ + ); \ +}) + +// explanation for macros below here: https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros + +#define _OCMVerify_1(A) _OCMVerify(A) +#define _OCMVerify_2(A,B) _OCMVerifyWithQuantifier(A, B) +#define _OCMVerify_X(x,A,B,FUNC, ...) FUNC +#define OCMVerify(...) _OCMVerify_X(,##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) + + +#define _OCMSilenceWarnings(macro) \ +({ \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ + _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ + _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ + macro \ + _Pragma("clang diagnostic pop") \ +}) diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMockObject.h b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMockObject.h index b7f2304..f573971 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMockObject.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Headers/OCMockObject.h @@ -23,13 +23,15 @@ @class OCMInvocationMatcher; @class OCMInvocationExpectation; -@interface OCMockObject : NSProxy { - BOOL isNice; - BOOL expectationOrderMatters; - NSMutableArray *stubs; - NSMutableArray *expectations; - NSMutableArray *exceptions; - NSMutableArray *invocations; + +@interface OCMockObject : NSProxy +{ + BOOL isNice; + BOOL expectationOrderMatters; + NSMutableArray *stubs; + NSMutableArray *expectations; + NSMutableArray *exceptions; + NSMutableArray *invocations; } + (id)mockForClass:(Class)aClass; @@ -69,11 +71,7 @@ - (void)verifyInvocation:(OCMInvocationMatcher *)matcher; - (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location; -- (void)verifyInvocation:(OCMInvocationMatcher *)matcher - withQuantifier:(OCMQuantifier *)quantifier - atLocation:(OCMLocation *)location; -- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher - quantifier:(OCMQuantifier *)quantifier - invocationCount:(NSUInteger)count; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher withQuantifier:(OCMQuantifier *)quantifier atLocation:(OCMLocation *)location; +- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher quantifier:(OCMQuantifier *)quantifier invocationCount:(NSUInteger)count; @end diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Modules/module.modulemap b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Modules/module.modulemap index 052ea7f..fab3ca5 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Modules/module.modulemap +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/Modules/module.modulemap @@ -1,7 +1,6 @@ framework module OCMock { - umbrella header "OCMock.h" export * + umbrella header "OCMock.h" + export * - module * { - export * - } + module * { export * } } diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h index b25eeef..8f6d56f 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h @@ -18,10 +18,9 @@ @class OCObserverMockObject; -@interface NSNotificationCenter (OCMAdditions) -- (void)addMockObserver:(OCObserverMockObject *)notificationObserver - name:(NSString *)notificationName - object:(id)notificationSender; +@interface NSNotificationCenter(OCMAdditions) + +- (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; @end diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMArg.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMArg.h index 5cbbd4f..2716707 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMArg.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMArg.h @@ -49,8 +49,5 @@ #define OCMOCK_ANY [OCMArg any] -#define OCMOCK_VALUE(variable) \ - ({ \ - __typeof__(variable) __v = (variable); \ - [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; \ - }) +#define OCMOCK_VALUE(variable) \ + ({ __typeof__(variable) __v = (variable); [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; }) diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h index d5c5f96..39714db 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h @@ -28,6 +28,7 @@ + (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; + (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue; + @end @interface OCMAnyConstraint : OCMConstraint @@ -39,22 +40,25 @@ @interface OCMIsNotNilConstraint : OCMConstraint @end -@interface OCMIsNotEqualConstraint : OCMConstraint { - @public - id testValue; +@interface OCMIsNotEqualConstraint : OCMConstraint +{ +@public + id testValue; } @end -@interface OCMInvocationConstraint : OCMConstraint { - @public - NSInvocation *invocation; +@interface OCMInvocationConstraint : OCMConstraint +{ +@public + NSInvocation *invocation; } @end -@interface OCMBlockConstraint : OCMConstraint { - BOOL (^block)(id); +@interface OCMBlockConstraint : OCMConstraint +{ + BOOL (^block)(id); } - (instancetype)initWithConstraintBlock:(BOOL (^)(id))block; @@ -63,6 +67,5 @@ #ifndef OCM_DISABLE_SHORT_SYNTAX #define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] -#define CONSTRAINTV(aSelector, aValue) \ - [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] +#define CONSTRAINTV(aSelector, aValue) [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] #endif diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h index 1119402..15131ae 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h @@ -16,11 +16,13 @@ #import + #if defined(__cplusplus) #define OCMOCK_EXTERN extern "C" #else #define OCMOCK_EXTERN extern #endif + OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); OCMOCK_EXTERN BOOL OCMIsSubclassOfMockClass(Class cls); diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h index fd64f42..b14a8eb 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h @@ -17,10 +17,11 @@ #import #import -@interface OCMLocation : NSObject { - id testCase; - NSString *file; - NSUInteger line; +@interface OCMLocation : NSObject +{ + id testCase; + NSString *file; + NSUInteger line; } + (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h index 8d92be2..5b32fab 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h @@ -22,9 +22,11 @@ @class OCMStubRecorder; @class OCMockObject; -@interface OCMMacroState : NSObject { - OCMRecorder *recorder; - BOOL invocationDidThrow; + +@interface OCMMacroState : NSObject +{ + OCMRecorder *recorder; + BOOL invocationDidThrow; } + (void)beginStubMacro; @@ -37,8 +39,7 @@ + (OCMStubRecorder *)endRejectMacro; + (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; -+ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation - withQuantifier:(OCMQuantifier *)quantifier; ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation withQuantifier:(OCMQuantifier *)quantifier; + (void)endVerifyMacro; + (OCMMacroState *)globalState; diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h index 31d1847..c013bde 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h @@ -16,8 +16,9 @@ #import -@interface OCMQuantifier : NSObject { - NSUInteger expectedCount; +@interface OCMQuantifier : NSObject +{ + NSUInteger expectedCount; } + (instancetype)never; @@ -31,14 +32,15 @@ @end -#define OCMNever() ([OCMQuantifier never]) -#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) -#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) -#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) + +#define OCMNever() ([OCMQuantifier never]) +#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) +#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) +#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) #ifndef OCM_DISABLE_SHORT_QSYNTAX -#define never() OCMNever() -#define times(n) OCMTimes(n) -#define atLeast(n) OCMAtLeast(n) -#define atMost(n) OCMAtMost(n) +#define never() OCMNever() +#define times(n) OCMTimes(n) +#define atLeast(n) OCMAtLeast(n) +#define atMost(n) OCMAtMost(n) #endif diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h index 6b68343..5106445 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h @@ -19,11 +19,13 @@ @class OCMockObject; @class OCMInvocationMatcher; -@interface OCMRecorder : NSProxy { - OCMockObject *mockObject; - OCMInvocationMatcher *invocationMatcher; - BOOL didRecordInvocation; - BOOL shouldReturnMockFromInit; + +@interface OCMRecorder : NSProxy +{ + OCMockObject *mockObject; + OCMInvocationMatcher *invocationMatcher; + BOOL didRecordInvocation; + BOOL shouldReturnMockFromInit; } - (instancetype)init; diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h index cd1772e..a00c64b 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h @@ -16,6 +16,7 @@ #import #import + #import #if !defined(OCM_DISABLE_XCTEST_FEATURES) @@ -38,52 +39,49 @@ @end + @interface OCMStubRecorder (Properties) -#define andReturn(aValue) \ - _andReturn(({ \ - __typeof__(aValue) _val = (aValue); \ - NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ - if (OCMIsObjectType(@encode(__typeof(_val)))) { \ - objc_setAssociatedObject(_nsval, \ - "OCMAssociatedBoxedValue", \ - *(__unsafe_unretained id *)(void *)&_val, \ - OBJC_ASSOCIATION_RETAIN); \ - } \ - _nsval; \ - })) -@property(nonatomic, readonly) OCMStubRecorder * (^_andReturn)(NSValue *); +#define andReturn(aValue) _andReturn(({ \ + __typeof__(aValue) _val = (aValue); \ + NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ + if (OCMIsObjectType(@encode(__typeof(_val)))) { \ + objc_setAssociatedObject(_nsval, "OCMAssociatedBoxedValue", *(__unsafe_unretained id *) (void *) &_val, OBJC_ASSOCIATION_RETAIN); \ + } \ + _nsval; \ +})) +@property (nonatomic, readonly) OCMStubRecorder *(^ _andReturn)(NSValue *); #define andThrow(anException) _andThrow(anException) -@property(nonatomic, readonly) OCMStubRecorder * (^_andThrow)(NSException *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andThrow)(NSException *); #define andPost(aNotification) _andPost(aNotification) -@property(nonatomic, readonly) OCMStubRecorder * (^_andPost)(NSNotification *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andPost)(NSNotification *); #define andCall(anObject, aSelector) _andCall(anObject, aSelector) -@property(nonatomic, readonly) OCMStubRecorder * (^_andCall)(id, SEL); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andCall)(id, SEL); #define andDo(aBlock) _andDo(aBlock) -@property(nonatomic, readonly) OCMStubRecorder * (^_andDo)(void (^)(NSInvocation *)); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andDo)(void (^)(NSInvocation *)); #define andForwardToRealObject() _andForwardToRealObject() -@property(nonatomic, readonly) OCMStubRecorder * (^_andForwardToRealObject)(void); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andForwardToRealObject)(void); #if !defined(OCM_DISABLE_XCTEST_FEATURES) #define andFulfill(anExpectation) _andFulfill(anExpectation) -@property(nonatomic, readonly) OCMStubRecorder * (^_andFulfill)(XCTestExpectation *); +@property (nonatomic, readonly) OCMStubRecorder *(^ _andFulfill)(XCTestExpectation *); #endif -@property(nonatomic, readonly) OCMStubRecorder * (^_ignoringNonObjectArgs)(void); +@property (nonatomic, readonly) OCMStubRecorder *(^ _ignoringNonObjectArgs)(void); -#define andBreak() \ - _andDo(^(NSInvocation * _invocation) { \ - __builtin_debugtrap(); \ - }) +#define andBreak() _andDo(^(NSInvocation *_invocation) \ +{ \ + __builtin_debugtrap(); \ +}) \ -#define andLog(_format, ...) \ - _andDo(^(NSInvocation * _invocation) { \ - NSLog(_format, ##__VA_ARGS__); \ - }) +#define andLog(_format, ...) _andDo(^(NSInvocation *_invocation) \ +{ \ + NSLog(_format, ##__VA_ARGS__); \ +}) \ @end diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMock.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMock.h index b1b3e14..f636572 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMock.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMock.h @@ -14,15 +14,15 @@ * under the License. */ -#import -#import +#import +#import +#import +#import +#import #import -#import +#import #import -#import #import -#import -#import -#import -#import -#import +#import +#import +#import diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h index 6de97b2..2253557 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h @@ -14,10 +14,13 @@ * under the License. */ + + #ifdef OCM_DISABLE_SHORT_SYNTAX #define OCM_DISABLE_SHORT_QSYNTAX #endif + #define OCMClassMock(cls) [OCMockObject niceMockForClass:cls] #define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls] @@ -30,86 +33,125 @@ #define OCMObserverMock() [OCMockObject observerMock] -#define OCMStub(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginStubMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endStubMacro]; } recorder;); \ - }) - -#define OCMExpect(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginExpectMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endExpectMacro]; } recorder;); \ - }) - -#define OCMReject(invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginRejectMacro]; OCMStubRecorder *recorder = nil; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { recorder = [OCMMacroState endRejectMacro]; } recorder;); \ - }) + +#define OCMStub(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginStubMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endStubMacro]; \ + } \ + recorder; \ + ); \ +}) + +#define OCMExpect(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginExpectMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endExpectMacro]; \ + } \ + recorder; \ + ); \ +}) + +#define OCMReject(invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginRejectMacro]; \ + OCMStubRecorder *recorder = nil; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + recorder = [OCMMacroState endRejectMacro]; \ + } \ + recorder; \ + ); \ +}) + + #define OCMClassMethod(invocation) \ - _OCMSilenceWarnings([[OCMMacroState globalState] switchToClassMethod]; invocation;); + _OCMSilenceWarnings( \ + [[OCMMacroState globalState] switchToClassMethod]; \ + invocation; \ + ); + #ifndef OCM_DISABLE_SHORT_SYNTAX #define ClassMethod(invocation) OCMClassMethod(invocation) #endif -#define OCMVerifyAll(mock) \ - [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] -#define OCMVerifyAllWithDelay(mock, delay) \ - [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] +#define OCMVerifyAll(mock) [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define OCMVerifyAllWithDelay(mock, delay) [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] -#define _OCMVerify(invocation) \ - ({ \ - _OCMSilenceWarnings( \ +#define _OCMVerify(invocation) \ +({ \ + _OCMSilenceWarnings( \ [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { [OCMMacroState endVerifyMacro]; }); \ - }) - -#define _OCMVerifyWithQuantifier(quantifier, invocation) \ - ({ \ - _OCMSilenceWarnings( \ - [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) \ - withQuantifier:quantifier]; \ - @try { invocation; } @catch (...) { \ - [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ - /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ - @throw; \ - } @finally { [OCMMacroState endVerifyMacro]; }); \ - }) - -// explanation for macros below here: -// https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros - -#define _OCMVerify_1(A) _OCMVerify(A) -#define _OCMVerify_2(A, B) _OCMVerifyWithQuantifier(A, B) -#define _OCMVerify_X(x, A, B, FUNC, ...) FUNC -#define OCMVerify(...) \ - _OCMVerify_X(, ##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) - -#define _OCMSilenceWarnings(macro) \ - ({_Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ - _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ - _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ - macro _Pragma("clang diagnostic pop")}) + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + [OCMMacroState endVerifyMacro]; \ + } \ + ); \ +}) + +#define _OCMVerifyWithQuantifier(quantifier, invocation) \ +({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) withQuantifier:quantifier]; \ + @try{ \ + invocation; \ + }@catch(...){ \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + }@finally{ \ + [OCMMacroState endVerifyMacro]; \ + } \ + ); \ +}) + +// explanation for macros below here: https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros + +#define _OCMVerify_1(A) _OCMVerify(A) +#define _OCMVerify_2(A,B) _OCMVerifyWithQuantifier(A, B) +#define _OCMVerify_X(x,A,B,FUNC, ...) FUNC +#define OCMVerify(...) _OCMVerify_X(,##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) + + +#define _OCMSilenceWarnings(macro) \ +({ \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ + _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ + _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ + macro \ + _Pragma("clang diagnostic pop") \ +}) diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h index b7f2304..f573971 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h @@ -23,13 +23,15 @@ @class OCMInvocationMatcher; @class OCMInvocationExpectation; -@interface OCMockObject : NSProxy { - BOOL isNice; - BOOL expectationOrderMatters; - NSMutableArray *stubs; - NSMutableArray *expectations; - NSMutableArray *exceptions; - NSMutableArray *invocations; + +@interface OCMockObject : NSProxy +{ + BOOL isNice; + BOOL expectationOrderMatters; + NSMutableArray *stubs; + NSMutableArray *expectations; + NSMutableArray *exceptions; + NSMutableArray *invocations; } + (id)mockForClass:(Class)aClass; @@ -69,11 +71,7 @@ - (void)verifyInvocation:(OCMInvocationMatcher *)matcher; - (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location; -- (void)verifyInvocation:(OCMInvocationMatcher *)matcher - withQuantifier:(OCMQuantifier *)quantifier - atLocation:(OCMLocation *)location; -- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher - quantifier:(OCMQuantifier *)quantifier - invocationCount:(NSUInteger)count; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher withQuantifier:(OCMQuantifier *)quantifier atLocation:(OCMLocation *)location; +- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher quantifier:(OCMQuantifier *)quantifier invocationCount:(NSUInteger)count; @end diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Modules/module.modulemap b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Modules/module.modulemap index 052ea7f..fab3ca5 100644 --- a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Modules/module.modulemap +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Modules/module.modulemap @@ -1,7 +1,6 @@ framework module OCMock { - umbrella header "OCMock.h" export * + umbrella header "OCMock.h" + export * - module * { - export * - } + module * { export * } } From 909d0b5774eb66a9efb137cd21633f2195e9168d Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Tue, 10 Oct 2023 12:39:36 +0300 Subject: [PATCH 09/31] Add headers to `CaptureKit.h` --- CaptureKit/CaptureKit.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CaptureKit/CaptureKit.h b/CaptureKit/CaptureKit.h index 82d9af1..89326a8 100644 --- a/CaptureKit/CaptureKit.h +++ b/CaptureKit/CaptureKit.h @@ -15,3 +15,9 @@ FOUNDATION_EXPORT const unsigned char CaptureKitVersionString[]; // In this header, you should import all the public headers of your framework using statements like // #import + +#import +#import +#import +#import +#import From ec77fbe7bb840df1189c6c9cb617ed003a4257ee Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Tue, 10 Oct 2023 14:36:22 +0300 Subject: [PATCH 10/31] Implement `NVCaptureServiceTests` --- CaptureKit/CaptureKit.h | 1 + .../NVDisplayBoundsProvider.h | 22 ++ .../NVDisplayBoundsProvider.m | 30 +++ .../CaptureService/NVCaptureService.m | 6 +- CaptureKitTests/NVCaptureServiceTests.m | 252 ++++++++++++++++++ 5 files changed, 309 insertions(+), 2 deletions(-) create mode 100644 CaptureKit/Classes/Core/Provider/DisplayBoundsProvider/NVDisplayBoundsProvider.h create mode 100644 CaptureKit/Classes/Core/Provider/DisplayBoundsProvider/NVDisplayBoundsProvider.m create mode 100644 CaptureKitTests/NVCaptureServiceTests.m diff --git a/CaptureKit/CaptureKit.h b/CaptureKit/CaptureKit.h index 89326a8..74aa7da 100644 --- a/CaptureKit/CaptureKit.h +++ b/CaptureKit/CaptureKit.h @@ -21,3 +21,4 @@ FOUNDATION_EXPORT const unsigned char CaptureKitVersionString[]; #import #import #import +#import diff --git a/CaptureKit/Classes/Core/Provider/DisplayBoundsProvider/NVDisplayBoundsProvider.h b/CaptureKit/Classes/Core/Provider/DisplayBoundsProvider/NVDisplayBoundsProvider.h new file mode 100644 index 0000000..48bd22e --- /dev/null +++ b/CaptureKit/Classes/Core/Provider/DisplayBoundsProvider/NVDisplayBoundsProvider.h @@ -0,0 +1,22 @@ +// +// NVDisplayBoundsProvider.h +// CaptureKit +// +// Created by Никита Васильев on 10.10.2023. +// Copyright © 2023 space-code. All rights reserved. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface NVDisplayBoundsProvider : NSObject + ++ (nullable instancetype)sharedInstance; + +- (CGRect)boundsForDisplayWithID:(CGDirectDisplayID)displayID; + +@end + +NS_ASSUME_NONNULL_END diff --git a/CaptureKit/Classes/Core/Provider/DisplayBoundsProvider/NVDisplayBoundsProvider.m b/CaptureKit/Classes/Core/Provider/DisplayBoundsProvider/NVDisplayBoundsProvider.m new file mode 100644 index 0000000..c7f76bd --- /dev/null +++ b/CaptureKit/Classes/Core/Provider/DisplayBoundsProvider/NVDisplayBoundsProvider.m @@ -0,0 +1,30 @@ +// +// NVDisplayBoundsProvider.m +// CaptureKit +// +// Created by Никита Васильев on 10.10.2023. +// Copyright © 2023 space-code. All rights reserved. +// + +#import "NVDisplayBoundsProvider.h" + +@implementation NVDisplayBoundsProvider + ++ (nullable instancetype)sharedInstance { + static dispatch_once_t onceToken = 0; + + __strong static id _sharedObject = nil; + + dispatch_once(&onceToken, ^{ + _sharedObject = [[self alloc] init]; + }); + + return _sharedObject; +} + +- (CGRect)boundsForDisplayWithID:(CGDirectDisplayID)displayID { + CGRect rect = CGDisplayBounds(displayID); + return rect; +} + +@end diff --git a/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.m b/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.m index fca07cc..cd008d0 100644 --- a/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.m +++ b/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.m @@ -7,6 +7,7 @@ // #import "NVCaptureService.h" +#import "NVDisplayBoundsProvider.h" @interface NVCaptureService () @@ -94,7 +95,8 @@ - (void)setCaptureScreenInputWithDisplayID:(CGDirectDisplayID)displayID rect:(CG CMTime minimumFrameDuration = CMTimeMake(1, (int32_t)_configuration.fps); [input setMinFrameDuration:minimumFrameDuration]; - CGRect displayBounds = CGDisplayBounds(displayID); + CGRect displayBounds = + [[NVDisplayBoundsProvider sharedInstance] boundsForDisplayWithID:displayID]; input.cropRect = CGRectMake( rect.origin.x - displayBounds.origin.x, @@ -187,7 +189,7 @@ - (void)captureOutput:(AVCaptureFileOutput *)captureOutput didFinishRecordingToOutputFileAtURL:outputFileURL fromConnections:connections error:error]; - // _fileOutput = nil; + _fileOutput = nil; } @end diff --git a/CaptureKitTests/NVCaptureServiceTests.m b/CaptureKitTests/NVCaptureServiceTests.m new file mode 100644 index 0000000..69bee97 --- /dev/null +++ b/CaptureKitTests/NVCaptureServiceTests.m @@ -0,0 +1,252 @@ +// +// CaptureKitTests +// Copyright © 2023 Space Code. All rights reserved. +// + +#import +#import +#import "NVCaptureService.h" +#import "NVCaptureServiceDelegate.h" +#import "NVDisplayBoundsProvider.h" + +static NSString *const kAudioID = @"audio-id"; + +@interface NVCaptureServiceTests : XCTestCase + +@property(nonatomic, strong) NVCaptureService *captureService; +@property(nonatomic, strong) id captureSessionMock; +@property(nonatomic, strong) id screenInputMock; +@property(nonatomic, strong) id fileOutputMock; +@property(nonatomic, strong) id delegateMock; + +@property(nonatomic, strong) NSURL *sampleURL; +@property(nonatomic, assign) CGRect sampleRect; + +@end + +@implementation NVCaptureServiceTests + +#pragma mark - XCTestCase + +- (void)setUp { + [super setUp]; + _sampleRect = CGRectMake(0, 0, 100, 100); + _sampleURL = [[NSURL alloc] initWithString:@""]; + _captureService = [[NVCaptureService alloc] init]; + [self setupCaptureSessionMock]; + [self setupAudioMock]; + [self setupFileOutputMock]; +} + +- (void)tearDown { + _sampleURL = nil; + _captureService = nil; + [_captureSessionMock stopMocking]; + [_screenInputMock stopMocking]; + [_fileOutputMock stopMocking]; + [super tearDown]; +} + +#pragma mark - Tests + +- (void)testThatCaptureServiceStartsRecordingWithAudioID { + // given + [[_captureSessionMock expect] startRunning]; + [[_fileOutputMock expect] startRecordingToOutputFileURL:_sampleURL + recordingDelegate:[OCMArg any]]; + + // when + [_captureService startRecordingWithAudioDeviceID:kAudioID + rect:_sampleRect + directDisplayID:kCGDirectMainDisplay + outputFileURL:_sampleURL]; + + // then + [_captureSessionMock verify]; + [_fileOutputMock verify]; +} + +- (void)testThatCaptureServiceSetsConfigurationParameters { + // given + OCMExpect([_screenInputMock setCapturesCursor:YES]); + OCMExpect([_screenInputMock setCapturesMouseClicks:NO]); + + // when + [_captureService startRecordingWithAudioDeviceID:kAudioID + rect:_sampleRect + directDisplayID:kCGDirectMainDisplay + outputFileURL:_sampleURL]; + + // when + [_screenInputMock verify]; +} + +- (void)testThatCaptureServiceSetsRightRect { + // given + NSRect rect = CGRectMake(0, 0, 1200, 1800); + id boundsProviderMock = OCMClassMock([NVDisplayBoundsProvider class]); + + OCMStub(ClassMethod([boundsProviderMock sharedInstance])).andReturn(boundsProviderMock); + OCMStub([boundsProviderMock boundsForDisplayWithID:kCGDirectMainDisplay]).andReturn(rect); + + OCMExpect([_screenInputMock setCropRect:CGRectMake(0, 1700, 100, 100)]); + + // when + [_captureService startRecordingWithAudioDeviceID:kAudioID + rect:_sampleRect + directDisplayID:kCGDirectMainDisplay + outputFileURL:_sampleURL]; + + // when + [_screenInputMock verify]; +} + +- (void)testThatCaptureServiceTriggersDelegateWhenRecordingDidStart { + // given + id delegateMock = OCMProtocolMock(@protocol(NVCaptureServiceDelegate)); + [_captureService setDelegate:delegateMock]; + + OCMExpect([delegateMock captureService:[OCMArg any] + didStartRecordingToOutputFileAtURL:[OCMArg any] + fromConnections:[OCMArg any]]); + + // when + [_captureService captureOutput:_fileOutputMock + didStartRecordingToOutputFileAtURL:_sampleURL + fromConnections:[NSArray new]]; + + // then + [delegateMock verify]; +} + +- (void)testThatCaptureServiceTriggersDelegateWhenRecordingDidFinish { + // given + id delegateMock = OCMProtocolMock(@protocol(NVCaptureServiceDelegate)); + [_captureService setDelegate:delegateMock]; + + OCMExpect([delegateMock captureService:[OCMArg any] + didFinishRecordingToOutputFileAtURL:[OCMArg any] + fromConnections:[OCMArg any] + error:[OCMArg any]]); + + // when + [_captureService captureOutput:_fileOutputMock + didFinishRecordingToOutputFileAtURL:_sampleURL + fromConnections:[NSArray new] + error:nil]; + + // then + [delegateMock verify]; +} + +- (void)testThatCaptureServiceTriggersDelegateWhenRecordingDidResume { + // given + id delegateMock = OCMProtocolMock(@protocol(NVCaptureServiceDelegate)); + [_captureService setDelegate:delegateMock]; + + OCMExpect([delegateMock captureService:[OCMArg any] + didResumeRecordingToOutputFileAtURL:[OCMArg any] + fromConnections:[OCMArg any]]); + + // when + [_captureService captureOutput:_fileOutputMock + didResumeRecordingToOutputFileAtURL:_sampleURL + fromConnections:[NSArray new]]; + + // then + [delegateMock verify]; +} + +- (void)testThatCaptureServiceTriggersDelegateWhenRecordingDidPause { + // given + id delegateMock = OCMProtocolMock(@protocol(NVCaptureServiceDelegate)); + [_captureService setDelegate:delegateMock]; + + OCMExpect([delegateMock captureService:[OCMArg any] + didPauseRecordingToOutputFileAtURL:[OCMArg any] + fromConnections:[OCMArg any]]); + + // when + [_captureService captureOutput:_fileOutputMock + didPauseRecordingToOutputFileAtURL:_sampleURL + fromConnections:[NSArray new]]; + + // then + [delegateMock verify]; +} + +- (void)testThatCaptureServiceStopsRecordingWhenRecordingIsActive { + // given + OCMStub([_fileOutputMock isRecording]).andReturn(YES); + + OCMExpect([_fileOutputMock stopRecording]); + OCMExpect(([_captureSessionMock stopRunning])); + + // when + [_captureService startRecordingWithAudioDeviceID:kAudioID + rect:_sampleRect + directDisplayID:kCGDirectMainDisplay + outputFileURL:_sampleURL]; + [_captureService stop]; + + // then + [_captureSessionMock verify]; + [_fileOutputMock verify]; +} + +- (void)testThatCaptureServicePausesRecordingWhenRecordingIsActive { + // given + OCMStub([_fileOutputMock isRecording]).andReturn(YES); + + OCMExpect([_fileOutputMock pauseRecording]); + + // when + [_captureService startRecordingWithAudioDeviceID:kAudioID + rect:_sampleRect + directDisplayID:kCGDirectMainDisplay + outputFileURL:_sampleURL]; + [_captureService pause]; + + // then + [_fileOutputMock verify]; +} + +- (void)testThatCaptureServiceResumesRecordingWhenRecordingIsActive { + // given + OCMStub([_fileOutputMock isRecording]).andReturn(YES); + + OCMExpect([_fileOutputMock resumeRecording]); + + // when + [_captureService startRecordingWithAudioDeviceID:kAudioID + rect:_sampleRect + directDisplayID:kCGDirectMainDisplay + outputFileURL:_sampleURL]; + [_captureService resume]; + + // then + [_fileOutputMock verify]; +} + +#pragma mark - Private + +- (void)setupCaptureSessionMock { + id captureSessionMock = OCMClassMock([AVCaptureSession class]); + OCMStub([captureSessionMock alloc]).andReturn(captureSessionMock); + _captureSessionMock = captureSessionMock; +} + +- (void)setupAudioMock { + id screenInputMock = OCMClassMock([AVCaptureScreenInput class]); + OCMStub([screenInputMock alloc]).andReturn(screenInputMock); + OCMStub([screenInputMock initWithDisplayID:kCGDirectMainDisplay]).andReturn(screenInputMock); + _screenInputMock = screenInputMock; +} + +- (void)setupFileOutputMock { + id fileOutputMock = OCMClassMock([AVCaptureMovieFileOutput class]); + OCMStub([fileOutputMock alloc]).andReturn(fileOutputMock); + _fileOutputMock = fileOutputMock; +} + +@end From 15ace8c8a75fbc0da382d023d7854d5e127e3421 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Tue, 10 Oct 2023 14:38:25 +0300 Subject: [PATCH 11/31] Add pragma marks --- CaptureKitTests/NVAudioServiceTests.m | 4 ++++ CaptureKitTests/NVCaptureConfigurationTests.m | 9 ++++----- CaptureKitTests/NVMediaDeviceProviderTests.m | 4 ++++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/CaptureKitTests/NVAudioServiceTests.m b/CaptureKitTests/NVAudioServiceTests.m index f02c08d..dc86833 100644 --- a/CaptureKitTests/NVAudioServiceTests.m +++ b/CaptureKitTests/NVAudioServiceTests.m @@ -19,6 +19,8 @@ @interface NVAudioServiceTests : XCTestCase @implementation NVAudioServiceTests +#pragma mark - XCTestCase + - (void)setUp { [super setUp]; _mediaProvider = OCMProtocolMock(@protocol(NVIMediaProvider)); @@ -31,6 +33,8 @@ - (void)tearDown { [super tearDown]; } +#pragma mark - Tests + - (void)testThatAudioServiceReturnsNilWhenAudioDeviceAreNil { // when NSArray *IDs = [_audioService getAudioDevicesIDs:nil]; diff --git a/CaptureKitTests/NVCaptureConfigurationTests.m b/CaptureKitTests/NVCaptureConfigurationTests.m index e634aa1..5fe35b5 100644 --- a/CaptureKitTests/NVCaptureConfigurationTests.m +++ b/CaptureKitTests/NVCaptureConfigurationTests.m @@ -1,9 +1,6 @@ // -// NVCaptureConfigurationTests.m -// CaptureKitTests -// -// Created by Никита Васильев on 10.10.2023. -// Copyright © 2023 space-code. All rights reserved. +// CaptureKitTests +// Copyright © 2023 Space Code. All rights reserved. // #import @@ -15,6 +12,8 @@ @interface NVCaptureConfigurationTests : XCTestCase @implementation NVCaptureConfigurationTests +#pragma mark - Tests + - (void)testThatConfigurationSetsUpDefaultValues { // when NVCaptureConfiguration *configration = [NVCaptureConfiguration default]; diff --git a/CaptureKitTests/NVMediaDeviceProviderTests.m b/CaptureKitTests/NVMediaDeviceProviderTests.m index 1134ece..522975d 100644 --- a/CaptureKitTests/NVMediaDeviceProviderTests.m +++ b/CaptureKitTests/NVMediaDeviceProviderTests.m @@ -18,6 +18,8 @@ @interface NVMediaDeviceProviderTests : XCTestCase @implementation NVMediaDeviceProviderTests +#pragma mark - Initialization + - (void)setUp { [super setUp]; _captureDevice = OCMClassMock([AVCaptureDevice class]); @@ -30,6 +32,8 @@ - (void)tearDown { [super tearDown]; } +#pragma mark - Tests + - (void)testThatMediaDeviceProviderProvidesDevicesWithGivenMediaType { // given id classMock = OCMClassMock([AVCaptureDevice class]); From 37ddde661301e33a3b8417d520eb5ab74864d327 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Tue, 10 Oct 2023 14:41:06 +0300 Subject: [PATCH 12/31] Generate headers and add comments --- CaptureKit/CaptureKit.h | 7 +++---- .../Classes/Core/Models/NVCaptureConfiguration.h | 7 ++----- .../Classes/Core/Models/NVCaptureConfiguration.m | 7 ++----- CaptureKit/Classes/Core/Models/NVCaptureQuality.h | 7 ++----- .../DisplayBoundsProvider/NVDisplayBoundsProvider.h | 13 ++++++++----- .../DisplayBoundsProvider/NVDisplayBoundsProvider.m | 7 ++----- .../Core/Services/CaptureService/NVCaptureService.h | 7 ++----- .../Core/Services/CaptureService/NVCaptureService.m | 7 ++----- .../CaptureService/NVCaptureServiceDelegate.h | 7 ++----- 9 files changed, 25 insertions(+), 44 deletions(-) diff --git a/CaptureKit/CaptureKit.h b/CaptureKit/CaptureKit.h index 74aa7da..aa96254 100644 --- a/CaptureKit/CaptureKit.h +++ b/CaptureKit/CaptureKit.h @@ -1,8 +1,6 @@ // -// CaptureKit.h -// CaptureKit -// -// Created by Никита Васильев on 06.10.2023. +// CaptureKit +// Copyright © 2023 Space Code. All rights reserved. // #import @@ -16,6 +14,7 @@ FOUNDATION_EXPORT const unsigned char CaptureKitVersionString[]; // In this header, you should import all the public headers of your framework using statements like // #import +#import #import #import #import diff --git a/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.h b/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.h index 064376e..1c9ffe5 100644 --- a/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.h +++ b/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.h @@ -1,9 +1,6 @@ // -// NVCaptureConfiguration.h -// CaptureKit -// -// Created by Никита Васильев on 09.10.2023. -// Copyright © 2023 space-code. All rights reserved. +// CaptureKit +// Copyright © 2023 Space Code. All rights reserved. // #import diff --git a/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.m b/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.m index f6c6f12..4fabee7 100644 --- a/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.m +++ b/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.m @@ -1,9 +1,6 @@ // -// NVCaptureConfiguration.m -// CaptureKit -// -// Created by Никита Васильев on 09.10.2023. -// Copyright © 2023 space-code. All rights reserved. +// CaptureKit +// Copyright © 2023 Space Code. All rights reserved. // #import "NVCaptureConfiguration.h" diff --git a/CaptureKit/Classes/Core/Models/NVCaptureQuality.h b/CaptureKit/Classes/Core/Models/NVCaptureQuality.h index 18d3409..2dc2393 100644 --- a/CaptureKit/Classes/Core/Models/NVCaptureQuality.h +++ b/CaptureKit/Classes/Core/Models/NVCaptureQuality.h @@ -1,9 +1,6 @@ // -// NVCaptureQuality.h -// CaptureKit -// -// Created by Никита Васильев on 09.10.2023. -// Copyright © 2023 space-code. All rights reserved. +// CaptureKit +// Copyright © 2023 Space Code. All rights reserved. // #ifndef NVCaptureQuality_h diff --git a/CaptureKit/Classes/Core/Provider/DisplayBoundsProvider/NVDisplayBoundsProvider.h b/CaptureKit/Classes/Core/Provider/DisplayBoundsProvider/NVDisplayBoundsProvider.h index 48bd22e..35517ca 100644 --- a/CaptureKit/Classes/Core/Provider/DisplayBoundsProvider/NVDisplayBoundsProvider.h +++ b/CaptureKit/Classes/Core/Provider/DisplayBoundsProvider/NVDisplayBoundsProvider.h @@ -1,9 +1,6 @@ // -// NVDisplayBoundsProvider.h -// CaptureKit -// -// Created by Никита Васильев on 10.10.2023. -// Copyright © 2023 space-code. All rights reserved. +// CaptureKit +// Copyright © 2023 Space Code. All rights reserved. // #import @@ -13,8 +10,14 @@ NS_ASSUME_NONNULL_BEGIN @interface NVDisplayBoundsProvider : NSObject +/// Returns a shared instance of NVDisplayBoundsProvider + (nullable instancetype)sharedInstance; +/// Retrieves the bounds (CGRect) of the display with the specified display ID. +/// +/// - Parameter displayID: The CGDirectDisplayID of the display whose bounds you want to retrieve. +/// +/// - Returns: The bounds (CGRect) of the display identified by the provided CGDirectDisplayID. - (CGRect)boundsForDisplayWithID:(CGDirectDisplayID)displayID; @end diff --git a/CaptureKit/Classes/Core/Provider/DisplayBoundsProvider/NVDisplayBoundsProvider.m b/CaptureKit/Classes/Core/Provider/DisplayBoundsProvider/NVDisplayBoundsProvider.m index c7f76bd..74ba061 100644 --- a/CaptureKit/Classes/Core/Provider/DisplayBoundsProvider/NVDisplayBoundsProvider.m +++ b/CaptureKit/Classes/Core/Provider/DisplayBoundsProvider/NVDisplayBoundsProvider.m @@ -1,9 +1,6 @@ // -// NVDisplayBoundsProvider.m -// CaptureKit -// -// Created by Никита Васильев on 10.10.2023. -// Copyright © 2023 space-code. All rights reserved. +// CaptureKit +// Copyright © 2023 Space Code. All rights reserved. // #import "NVDisplayBoundsProvider.h" diff --git a/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.h b/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.h index a6a2cfa..9dc2619 100644 --- a/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.h +++ b/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.h @@ -1,9 +1,6 @@ // -// NVCaptureService.h -// CaptureKit -// -// Created by Никита Васильев on 09.10.2023. -// Copyright © 2023 space-code. All rights reserved. +// CaptureKit +// Copyright © 2023 Space Code. All rights reserved. // #import diff --git a/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.m b/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.m index cd008d0..087cba4 100644 --- a/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.m +++ b/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureService.m @@ -1,9 +1,6 @@ // -// NVCaptureService.m -// CaptureKit -// -// Created by Никита Васильев on 09.10.2023. -// Copyright © 2023 space-code. All rights reserved. +// CaptureKit +// Copyright © 2023 Space Code. All rights reserved. // #import "NVCaptureService.h" diff --git a/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureServiceDelegate.h b/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureServiceDelegate.h index 1f2ac77..73c506e 100644 --- a/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureServiceDelegate.h +++ b/CaptureKit/Classes/Core/Services/CaptureService/NVCaptureServiceDelegate.h @@ -1,9 +1,6 @@ // -// NVCaptureServiceDelegate.h -// CaptureKit -// -// Created by Никита Васильев on 09.10.2023. -// Copyright © 2023 space-code. All rights reserved. +// CaptureKit +// Copyright © 2023 Space Code. All rights reserved. // #ifndef NVCaptureServiceDelegate_h From a9c5b97b5fb7b0f2fddbbb819409d0ac03ae06d3 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Tue, 10 Oct 2023 14:49:40 +0300 Subject: [PATCH 13/31] Remote duplicates --- CaptureKit/CaptureKit.h | 1 - 1 file changed, 1 deletion(-) diff --git a/CaptureKit/CaptureKit.h b/CaptureKit/CaptureKit.h index aa96254..72784a2 100644 --- a/CaptureKit/CaptureKit.h +++ b/CaptureKit/CaptureKit.h @@ -14,7 +14,6 @@ FOUNDATION_EXPORT const unsigned char CaptureKitVersionString[]; // In this header, you should import all the public headers of your framework using statements like // #import -#import #import #import #import From 82e70d5d222b8d85014a03a802a63ca3c72e46d7 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Tue, 10 Oct 2023 14:57:44 +0300 Subject: [PATCH 14/31] Add `ci.yml` --- .github/workflows/ci.yml | 37 +++++++++++++++++++++++++++++++++++++ Brewfile.lock.json | 2 +- Makefile | 3 --- Mintfile | 0 4 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 Mintfile diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..9d8f1e0 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,37 @@ +name: "capture-kit" + +on: + push: + branches: + - main + - dev + pull_request: + branches: [ main ] + +concurrency: + group: ci + cancel-in-progress: true + +jobs: + Latest: + name: Test Latest (macOS) + runs-on: macOS-12 + env: + DEVELOPER_DIR: "/Applications/Xcode_14.1.app/Contents/Developer" + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + include: + - destination: "platform=macOS" + name: "macOS" + scheme: "CaptureKit" + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Install Dependencies + run: brew bundle + - name: Generate project + run: xcodegen generate + - name: ${{ matrix.name }} + run: xcodebuild test -scheme "${{ matrix.scheme }}" -destination "${{ matrix.destination }}" clean \ No newline at end of file diff --git a/Brewfile.lock.json b/Brewfile.lock.json index d08d39f..170ca49 100644 --- a/Brewfile.lock.json +++ b/Brewfile.lock.json @@ -93,7 +93,7 @@ "system": { "macos": { "ventura": { - "HOMEBREW_VERSION": "4.1.14", + "HOMEBREW_VERSION": "4.1.15", "HOMEBREW_PREFIX": "/usr/local", "Homebrew/homebrew-core": "api", "CLT": "", diff --git a/Makefile b/Makefile index 44a4cda..680e417 100644 --- a/Makefile +++ b/Makefile @@ -9,9 +9,6 @@ hook: ln -sf ../../hooks/pre-commit .git/hooks/pre-commit chmod +x .git/hooks/pre-commit -lint: - # mint run swiftlint - fmt: find CaptureKit -iname '*.h' -o -iname '*.m' | xargs clang-format -i find CaptureKitTests -iname '*.h' -o -iname '*.m' | xargs clang-format -i diff --git a/Mintfile b/Mintfile deleted file mode 100644 index e69de29..0000000 From 572c6cf33f9f7611350994bee6ddf5460c1868c8 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Tue, 10 Oct 2023 15:05:29 +0300 Subject: [PATCH 15/31] Update `Brewfile` --- Brewfile | 1 - Brewfile.lock.json | 4 ---- 2 files changed, 5 deletions(-) diff --git a/Brewfile b/Brewfile index bfe3c60..13a4bba 100644 --- a/Brewfile +++ b/Brewfile @@ -1,3 +1,2 @@ -brew "oclint" brew "clang-format" brew "xcodegen" \ No newline at end of file diff --git a/Brewfile.lock.json b/Brewfile.lock.json index 170ca49..c99707f 100644 --- a/Brewfile.lock.json +++ b/Brewfile.lock.json @@ -1,10 +1,6 @@ { "entries": { "brew": { - "oclint": { - "version": "20.11", - "bottle": false - }, "clang-format": { "version": "17.0.2", "bottle": { From f8ff4e427b54ef7898a0a4990225813f74e60c7b Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Tue, 10 Oct 2023 15:09:20 +0300 Subject: [PATCH 16/31] Fix a typo in the `project.yml` --- project.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project.yml b/project.yml index aebbd1f..487ecbe 100644 --- a/project.yml +++ b/project.yml @@ -3,7 +3,7 @@ options: developmentLanguage: en createIntermediateGroups: true deploymentTarget: - macOS: 11 + macOS: 11.0 xcodeVersion: 14.0 settings: base: From 34fe1db397179171daeb84f2c81359297aca0acc Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Thu, 12 Oct 2023 12:25:00 +0300 Subject: [PATCH 17/31] Add comments to `NVCaptureConfiguration` --- .../Classes/Core/Models/NVCaptureConfiguration.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.h b/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.h index 1c9ffe5..92c5a58 100644 --- a/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.h +++ b/CaptureKit/Classes/Core/Models/NVCaptureConfiguration.h @@ -8,19 +8,33 @@ NS_ASSUME_NONNULL_BEGIN +/// NVCaptureConfiguration is a class that represents a configuration for capturing video. @interface NVCaptureConfiguration : NSObject +/// This initializer is unavailable and should not be used. - (instancetype)init NS_UNAVAILABLE; +/// Creates an `NVCaptureConfiguration` object with specified settings. +/// +/// - Parameters: +/// - fps: The frames per second (FPS) for video capture. +/// - capturesCursor: A Boolean indicating whether the cursor should be captured in the video. +/// - capturesMouseClicks: A Boolean indicating whether mouse clicks should be captured. +/// - captureQuality: The quality setting for video capture. - (nullable instancetype)initWithFPS:(NSUInteger)fps capturesCursor:(BOOL)capturesCursor capturesMouseClicks:(BOOL)capturesMouseClicks captureQuality:(NVCaptureQuality)captureQuality; +/// The frames per second (FPS) for video capture. @property(nonatomic, readonly, assign) NSUInteger fps; +/// A Boolean indicating whether the cursor should be captured in the video. @property(nonatomic, readonly, assign) BOOL capturesCursor; +/// A Boolean indicating whether mouse clicks should be captured. @property(nonatomic, readonly, assign) BOOL capturesMouseClicks; +/// The quality setting for video capture. @property(nonatomic, readonly, assign) NVCaptureQuality captureQuality; +/// An NVCaptureConfiguration object with default settings. + (NVCaptureConfiguration *)default; @end From af94ce9633431015413b0bd6caa048cd87f70a5d Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Thu, 12 Oct 2023 13:25:59 +0300 Subject: [PATCH 18/31] Rename methods --- .../NVMediaDeviceProvider.h | 6 ---- .../NVMediaDeviceProvider.m | 9 ------ .../Services/AudioService/NVAudioService.h | 5 ++-- .../Services/AudioService/NVAudioService.m | 30 +++++++++++++------ CaptureKitTests/NVAudioServiceTests.m | 7 +++-- CaptureKitTests/NVMediaDeviceProviderTests.m | 2 +- 6 files changed, 28 insertions(+), 31 deletions(-) diff --git a/CaptureKit/Classes/Core/Provider/MediaDeviceProvider/NVMediaDeviceProvider.h b/CaptureKit/Classes/Core/Provider/MediaDeviceProvider/NVMediaDeviceProvider.h index ef6f32d..8310332 100644 --- a/CaptureKit/Classes/Core/Provider/MediaDeviceProvider/NVMediaDeviceProvider.h +++ b/CaptureKit/Classes/Core/Provider/MediaDeviceProvider/NVMediaDeviceProvider.h @@ -12,12 +12,6 @@ NS_ASSUME_NONNULL_BEGIN @interface NVMediaDeviceProvider : NSObject -/// Creates a new instance of `NVMediaDeviceProvider`. -/// -/// @param device The AVCaptureDevice instances representing the available media device of the -/// specified type. -- (id)initWithCaptureDevice:(AVCaptureDevice *)device; - /// Retrieves an array of media devices of the specified media type. /// /// @param type The media type for which you want to retrieve devices. Use constants like diff --git a/CaptureKit/Classes/Core/Provider/MediaDeviceProvider/NVMediaDeviceProvider.m b/CaptureKit/Classes/Core/Provider/MediaDeviceProvider/NVMediaDeviceProvider.m index 9705ee2..bae8a6a 100644 --- a/CaptureKit/Classes/Core/Provider/MediaDeviceProvider/NVMediaDeviceProvider.m +++ b/CaptureKit/Classes/Core/Provider/MediaDeviceProvider/NVMediaDeviceProvider.m @@ -9,19 +9,10 @@ @interface NVMediaDeviceProvider () -@property(nonatomic, strong) AVCaptureDevice *captureDevice; - @end @implementation NVMediaDeviceProvider -- (id)initWithCaptureDevice:(AVCaptureDevice *)device { - if (self = [super init]) { - self.captureDevice = device; - } - return self; -} - - (NSArray *)devicesWithMediaType:(AVMediaType)type { return [AVCaptureDevice devicesWithMediaType:type]; } diff --git a/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.h b/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.h index 8160e61..bff7178 100644 --- a/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.h +++ b/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.h @@ -20,11 +20,10 @@ NS_ASSUME_NONNULL_BEGIN /// @return An initialized NVAudioService instance. - (id)initWithMediaDeviceProvider:(id)mediaDeviceProvider; -/// Retrieves the unique identifiers of audio devices associated with the provided devices. +/// Retrieves the unique identifiers of audio devices. /// -/// @param devices An array of devices for which you want to retrieve audio device identifiers. /// @return An array of unique identifiers (NSString) of audio devices. -- (NSArray *)getAudioDevicesIDs:(NSArray *)devices; +- (NSArray *)audioDevicesIDs; /// Checks if an audio device with the specified unique identifier is currently connected. /// diff --git a/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.m b/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.m index 40f09a3..e9e877c 100644 --- a/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.m +++ b/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.m @@ -13,6 +13,8 @@ @interface NVAudioService () @implementation NVAudioService +#pragma mark - Initialization + - (id)initWithMediaDeviceProvider:(id)mediaDeviceProvider { if (self = [super init]) { self.mediaDeviceProvider = mediaDeviceProvider; @@ -20,7 +22,25 @@ - (id)initWithMediaDeviceProvider:(id)mediaDeviceProvider { return self; } -- (NSArray *)getAudioDevicesIDs:(NSArray *)devices { +#pragma mark - Public + +- (NSArray *)audioDevicesIDs { + NSArray *audioDevices = + [self.mediaDeviceProvider devicesWithMediaType:AVMediaTypeAudio]; + return [self audioDevicesIDs:audioDevices]; +} + +- (BOOL)isAudioDeviceConnected:(NSString *)uniqueID { + NSArray *audioDevices = + [self.mediaDeviceProvider devicesWithMediaType:AVMediaTypeAudio]; + NSArray *devicesIDs = [self audioDevicesIDs:audioDevices]; + + return [devicesIDs containsObject:uniqueID]; +} + +#pragma mark - Private + +- (NSArray *)audioDevicesIDs:(NSArray *)devices { if (devices == nil || devices.count == 0) { return nil; } @@ -35,12 +55,4 @@ - (NSArray *)getAudioDevicesIDs:(NSArray *)devices { return devicesIDs; } -- (BOOL)isAudioDeviceConnected:(NSString *)uniqueID { - NSArray *audioDevices = - [self.mediaDeviceProvider devicesWithMediaType:AVMediaTypeAudio]; - NSArray *devicesIDs = [self getAudioDevicesIDs:audioDevices]; - - return [devicesIDs containsObject:uniqueID]; -} - @end diff --git a/CaptureKitTests/NVAudioServiceTests.m b/CaptureKitTests/NVAudioServiceTests.m index dc86833..5d59357 100644 --- a/CaptureKitTests/NVAudioServiceTests.m +++ b/CaptureKitTests/NVAudioServiceTests.m @@ -37,7 +37,7 @@ - (void)tearDown { - (void)testThatAudioServiceReturnsNilWhenAudioDeviceAreNil { // when - NSArray *IDs = [_audioService getAudioDevicesIDs:nil]; + NSArray *IDs = [_audioService audioDevicesIDs]; // then XCTAssertNil(IDs); @@ -45,7 +45,7 @@ - (void)testThatAudioServiceReturnsNilWhenAudioDeviceAreNil { - (void)testThatAudioServiceReturnsNilWhenAudioDeviceArrayIsEmpty { // when - NSArray *IDs = [_audioService getAudioDevicesIDs:[[NSArray alloc] init]]; + NSArray *IDs = [_audioService audioDevicesIDs]; // then XCTAssertNil(IDs); @@ -57,9 +57,10 @@ - (void)testThatAudioServiceReturnsAudioDeviceIDsWhenAudioDeviceArrayIsNotEmpty NSArray *array = [[NSMutableArray alloc] initWithObjects:device, nil]; OCMStub([(AVCaptureDevice *)device uniqueID]).andReturn(kDeviceID); + OCMStub([self.mediaProvider devicesWithMediaType:[OCMArg any]]).andReturn(array); // when - NSArray *IDs = [_audioService getAudioDevicesIDs:array]; + NSArray *IDs = [_audioService audioDevicesIDs]; // then XCTAssertEqual([IDs count], 1); diff --git a/CaptureKitTests/NVMediaDeviceProviderTests.m b/CaptureKitTests/NVMediaDeviceProviderTests.m index 522975d..a78d9ad 100644 --- a/CaptureKitTests/NVMediaDeviceProviderTests.m +++ b/CaptureKitTests/NVMediaDeviceProviderTests.m @@ -23,7 +23,7 @@ @implementation NVMediaDeviceProviderTests - (void)setUp { [super setUp]; _captureDevice = OCMClassMock([AVCaptureDevice class]); - _deviceProvider = [[NVMediaDeviceProvider alloc] initWithCaptureDevice:_captureDevice]; + _deviceProvider = [[NVMediaDeviceProvider alloc] init]; } - (void)tearDown { From 6a4df7f1c6d10a22e1e6bb4046fab9129e82d39e Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Thu, 12 Oct 2023 13:26:13 +0300 Subject: [PATCH 19/31] Update `README.md` --- README.md | 91 +++++++++++++++++++++++++++++++++++++- Resources/capture-kit.png | Bin 0 -> 294984 bytes 2 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 Resources/capture-kit.png diff --git a/README.md b/README.md index 7d61bfe..e6765f3 100644 --- a/README.md +++ b/README.md @@ -1 +1,90 @@ -# capture-kit \ No newline at end of file +![capture-kit: ](https://raw.githubusercontent.com/space-code/capture-kit/dev/Resources/capture-kit.png) + +

capture-kit

+ +

+Liscence +CI +

+ +## Description +`capture-kit` is a framework written in Objective-C that provides functions that can be used to capture the contents of a screen. + +- [Usage](#usage) +- [Requirements](#requirements) +- [Communication](#communication) +- [Contributing](#contributing) +- [Author](#author) +- [License](#license) + +## Usage + +1. Create a new instance of `NVCaptureService` that encompasses screen capturing functionality. + +```objc +NVCaptureService *captureService = [[NVCaptureService alloc] init]; +``` + +2. Set a delegate to receive recording-related events: + +```objc +captureService.delegate = self; +``` + +3. An optional step: If you want to capture microphone sound, you need to obtain a microphone ID. To do this, create a new instance of `NVAudioService` that provides a list of connected device IDs. + +```objc +NVAudioService *audioService = [[NVAudioService alloc] initWithMediaDeviceProvider:[NVMediaDeviceProvider new]]; +NSArray *ids = [audioService audioDevicesIDs]; +``` + +You can also check whether an audio device is connected to the system like this: +```objc +BOOL isConnected = [audioService isAudioDeviceConnected:@""]; +``` + +4. Start screen capture + +```objc +NSRect sampleRect = CGRectMake(0, 0, 1200, 1800); +NSURL *sampleURL = [[NSURL alloc] initWithString:@"file_url"]; + +[_captureService startRecordingWithAudioDeviceID:@"" + rect:sampleRect + directDisplayID:kCGDirectMainDisplay + outputFileURL:sampleURL]; +``` + +Also, you can pass a custom capture configuration using ```objc - (void)startRecordingWithConfiguration:deviceID:rect:directDisplayID:outputFileURL:``` + +5. For pausing, resuming, and cancelling, you can use the following methods: + +```objc +- (void)pause +- (void)resume +- (void)stop +``` + +## Requirements +- macOS 11.0+ +- Xcode 14.0 + +## Communication +- If you **found a bug**, open an issue. +- If you **have a feature request**, open an issue. +- If you **want to contribute**, submit a pull request. + +## Contributing +Bootstrapping development environment + +``` +make bootstrap +``` + +Please feel free to help out with this project! If you see something that could be made better or want a new feature, open up an issue or send a Pull Request! + +## Author +Nikita Vasilev, nv3212@gmail.com + +## License +capture-kit is available under the MIT license. See the LICENSE file for more info. \ No newline at end of file diff --git a/Resources/capture-kit.png b/Resources/capture-kit.png new file mode 100644 index 0000000000000000000000000000000000000000..847adcc61a9b072c4c53a7958d9950720c653fa8 GIT binary patch literal 294984 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≧KS7hwY7JYlHZEi4% zFw~?BENihv7|`5D6Bf-;;uLp7P+F#$W!S(y$T1Ok;__iQ5?K>vK71n|!dSWoO9}H+H7BcSQ1}+9(A23$k)lL} z_KEAguH?>kJ)jBo;S9R{_PWW+7N)d4`jd(hs}3}?QVoUEgB)>U!HsSb&+nyT>W-Km z>J+6HFxn%A)|cwA4|+7q&O0@D9@0KaF9$QXhv7z!C%@O20RJ&B3#^Cr+Z4wJ8x!c> zx$(Nwe=*yS9d1M3Bq{zw9VwNQO_@kass62sY*@^u8FH$s*suIgF}UK6S0OS{3F)6T z1{EZW*p!Ybg`vvL`w?|#LOf?a-bRmcsavavow#O`A=MG5&GfMP=x()1E-uT1rQ_Bh zC6Pbvr^Q%}jR&L7*$dJ;-l<75e~-Vez+hn5BEo0&umNajDRj2lL?y+s|!f+ zmI|kxH+1$B+$fQ{K&-LEn!X*!imub-N0|5q#Ar&fDvjFx7WXN@o#kh7SFc}rO!EqU zT2(KN{~~<~_g{2f1BEqUz{0plBmOgdY+vTo=QYn!*}wNnwiMQngIK#eWf%4K|I=jJND+egdTe~FZ)holPN?kLE1o-lnmB_BMLX zsG^{Yi4KkHh~bysRH7c)S*i1g@x^pAHA;XMz(@Ke-$auy(50+FgK;Z8SX3hNGRX+B zt4+6^ugvqTAm5SEYtJ|C?3tf9D9L~;nf$J?5-+OqQyX3!UVUABV=45wX}5aSikWk} z4a7_|Zv35kd&`(AfAzQntTbBS%Oeai5XhxGnORG~x zqu;jF9O-?N-5=P0VF5HJCSaX^YV_Zz+Xb-wLh(AYMvk0*OCSy>6fHBr4b52~r*F6E zENG_cf$mgqlfvMHkOsF5N@lTuX-b-_p5QTS*a0ejWo|lDsnH$(jxftZ&{N--2UCcs zX;TI1wqqng-S57v0r(*?BDBd15JhR%wz@7g7_3!z&qpFX5r zekm&*F8Rz{jGiGPrVP~^`$_8~vg`&IiYUDx%jC+K@qPBu@ zlR4)DC_0``HSA1?=#=plu7xUG<9)v)yB+Lv2L|K#QHKyDZu0NC#&&AM}^7U?J>0fM^pH=F}3ai|faI z6zH}E^abT;Zib*_W=!75P!4|_u>(B$<7gc&2?1KJ*MUN*`x75#

w%(Dk^ul(hg&WYtiT#n< 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 Date: Thu, 12 Oct 2023 13:29:42 +0300 Subject: [PATCH 20/31] Integrate `TestCov` --- .github/workflows/ci.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9d8f1e0..d8119d3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,4 +34,10 @@ jobs: - name: Generate project run: xcodegen generate - name: ${{ matrix.name }} - run: xcodebuild test -scheme "${{ matrix.scheme }}" -destination "${{ matrix.destination }}" clean \ No newline at end of file + run: xcodebuild test -scheme "${{ matrix.scheme }}" -destination "${{ matrix.destination }}" clean -enableCodeCoverage YES -resultBundlePath "./${{ matrix.sdk }}.xcresult" + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v3.1.0 + with: + token: ${{ secrets.CODECOV_TOKEN }} + xcode: true + xcode_archive_path: "./${{ matrix.sdk }}.xcresult" \ No newline at end of file From fa6774386a20b3576dc6342e2185a8fd31c98aa3 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Thu, 12 Oct 2023 13:37:30 +0300 Subject: [PATCH 21/31] Update `README.md` --- README.md | 3 ++- compile_commands.json | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 compile_commands.json diff --git a/README.md b/README.md index e6765f3..26c10f2 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,11 @@ -![capture-kit: ](https://raw.githubusercontent.com/space-code/capture-kit/dev/Resources/capture-kit.png) +![capture-kit: a framework written in Objective-C that provides functions that can be used to capture the contents of a screen](https://raw.githubusercontent.com/space-code/capture-kit/dev/Resources/capture-kit.png)

capture-kit

Liscence CI +CodeCov

## Description diff --git a/compile_commands.json b/compile_commands.json deleted file mode 100644 index f4f2c1e..0000000 --- a/compile_commands.json +++ /dev/null @@ -1 +0,0 @@ -[{"command":"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -target arm64-apple-macos13.0 -fmessage-length\\=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit\\=0 -std\\=gnu11 -fobjc-arc -fobjc-weak -fmodules -gmodules -fmodules-prune-interval\\=86400 -fmodules-prune-after\\=345600 -fbuild-session-file\\=/var/folders/2q/g2y6c8zd2j397sv7vjvyqvf00000gn/C/com.apple.DeveloperTools/14.1-14B47b/Xcode/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror\\=non-modular-include-in-framework-module -fmodule-name\\=CaptureKit -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror\\=return-type -Wdocumentation -Wunreachable-code -Wquoted-include-in-framework-header -Wno-implicit-atomic-properties -Werror\\=deprecated-objc-isa-usage -Wno-objc-interface-ivars -Werror\\=objc-root-class -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wdeprecated-implementations -Wno-implicit-fallthrough -DDEBUG\\=1 -DOBJC_OLD_DISPATCH_PROTOTYPES\\=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -Wno-sign-conversion -Winfinite-recursion -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wno-semicolon-before-method-body -Wunguarded-availability -iquote /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-generated-files.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-own-target-headers.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-all-non-framework-target-headers.hmap -ivfsoverlay /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/all-product-headers.yaml -iquote /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-project-headers.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/Debug/include -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources-normal/arm64 -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources/arm64 -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources -F/Users/nv3212/Projects/space-code/capture-kit/build/Debug -MMD -MT dependencies -MF /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/arm64/NSCaptureKit.d --serialize-diagnostics /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/arm64/NSCaptureKit.dia -c /Users/nv3212/Projects/space-code/capture-kit/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.m -o /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/arm64/NSCaptureKit.o","file":"/Users/nv3212/Projects/space-code/capture-kit/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.m","directory":"/"},{"command":"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -target x86_64-apple-macos13.0 -fmessage-length\\=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit\\=0 -std\\=gnu11 -fobjc-arc -fobjc-weak -fmodules -gmodules -fmodules-prune-interval\\=86400 -fmodules-prune-after\\=345600 -fbuild-session-file\\=/var/folders/2q/g2y6c8zd2j397sv7vjvyqvf00000gn/C/com.apple.DeveloperTools/14.1-14B47b/Xcode/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror\\=non-modular-include-in-framework-module -fmodule-name\\=CaptureKit -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror\\=return-type -Wdocumentation -Wunreachable-code -Wquoted-include-in-framework-header -Wno-implicit-atomic-properties -Werror\\=deprecated-objc-isa-usage -Wno-objc-interface-ivars -Werror\\=objc-root-class -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wdeprecated-implementations -Wno-implicit-fallthrough -DDEBUG\\=1 -DOBJC_OLD_DISPATCH_PROTOTYPES\\=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -Wno-sign-conversion -Winfinite-recursion -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wno-semicolon-before-method-body -Wunguarded-availability -iquote /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-generated-files.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-own-target-headers.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-all-non-framework-target-headers.hmap -ivfsoverlay /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/all-product-headers.yaml -iquote /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-project-headers.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/Debug/include -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources-normal/x86_64 -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources/x86_64 -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources -F/Users/nv3212/Projects/space-code/capture-kit/build/Debug -MMD -MT dependencies -MF /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/x86_64/NSCaptureKit.d --serialize-diagnostics /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/x86_64/NSCaptureKit.dia -c /Users/nv3212/Projects/space-code/capture-kit/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.m -o /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/x86_64/NSCaptureKit.o","file":"/Users/nv3212/Projects/space-code/capture-kit/CaptureKit/Classes/Core/CaptureKit/NSCaptureKit.m","directory":"/"},{"command":"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c -target x86_64-apple-macos13.0 -fmessage-length\\=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit\\=0 -std\\=gnu11 -fmodules -gmodules -fmodules-prune-interval\\=86400 -fmodules-prune-after\\=345600 -fbuild-session-file\\=/var/folders/2q/g2y6c8zd2j397sv7vjvyqvf00000gn/C/com.apple.DeveloperTools/14.1-14B47b/Xcode/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror\\=non-modular-include-in-framework-module -fmodule-name\\=CaptureKit -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror\\=return-type -Wdocumentation -Wunreachable-code -Wquoted-include-in-framework-header -Werror\\=deprecated-objc-isa-usage -Werror\\=objc-root-class -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-implicit-fallthrough -DDEBUG\\=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -g -Wno-sign-conversion -Winfinite-recursion -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wno-semicolon-before-method-body -Wunguarded-availability -iquote /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-generated-files.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-own-target-headers.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-all-non-framework-target-headers.hmap -ivfsoverlay /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/all-product-headers.yaml -iquote /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-project-headers.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/Debug/include -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources-normal/x86_64 -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources/x86_64 -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources -F/Users/nv3212/Projects/space-code/capture-kit/build/Debug -MMD -MT dependencies -MF /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/x86_64/CaptureKit_vers.d --serialize-diagnostics /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/x86_64/CaptureKit_vers.dia -c /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources/CaptureKit_vers.c -o /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/x86_64/CaptureKit_vers.o","file":"/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources/CaptureKit_vers.c","directory":"/"},{"command":"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c -target arm64-apple-macos13.0 -fmessage-length\\=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit\\=0 -std\\=gnu11 -fmodules -gmodules -fmodules-prune-interval\\=86400 -fmodules-prune-after\\=345600 -fbuild-session-file\\=/var/folders/2q/g2y6c8zd2j397sv7vjvyqvf00000gn/C/com.apple.DeveloperTools/14.1-14B47b/Xcode/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror\\=non-modular-include-in-framework-module -fmodule-name\\=CaptureKit -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror\\=return-type -Wdocumentation -Wunreachable-code -Wquoted-include-in-framework-header -Werror\\=deprecated-objc-isa-usage -Werror\\=objc-root-class -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-implicit-fallthrough -DDEBUG\\=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk -fstrict-aliasing -Wdeprecated-declarations -g -Wno-sign-conversion -Winfinite-recursion -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wno-semicolon-before-method-body -Wunguarded-availability -iquote /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-generated-files.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-own-target-headers.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-all-non-framework-target-headers.hmap -ivfsoverlay /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/all-product-headers.yaml -iquote /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/CaptureKit-project-headers.hmap -I/Users/nv3212/Projects/space-code/capture-kit/build/Debug/include -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources-normal/arm64 -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources/arm64 -I/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources -F/Users/nv3212/Projects/space-code/capture-kit/build/Debug -MMD -MT dependencies -MF /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/arm64/CaptureKit_vers.d --serialize-diagnostics /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/arm64/CaptureKit_vers.dia -c /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources/CaptureKit_vers.c -o /Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/Objects-normal/arm64/CaptureKit_vers.o","file":"/Users/nv3212/Projects/space-code/capture-kit/build/CaptureKit.build/Debug/CaptureKit.build/DerivedSources/CaptureKit_vers.c","directory":"/"}] \ No newline at end of file From eea5dd7846de2f52e1424e2c5f0cb1156e717f3d Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Thu, 12 Oct 2023 13:38:38 +0300 Subject: [PATCH 22/31] Add `codecov.yml` --- codecov.yml | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 codecov.yml diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 0000000..b415604 --- /dev/null +++ b/codecov.yml @@ -0,0 +1,48 @@ +codecov: + # Require CI to pass to show coverage, default yes + require_ci_to_pass: yes + notify: + # Codecov should wait for all CI statuses to complete, default yes + wait_for_ci: yes + +coverage: + # Coverage precision range 0-5, default 2 + precision: 2 + + # Direction to round the coverage value - up, down, nearest, default down + round: nearest + + # Value range for red...green, default 70...100 + range: "70...90" + + status: + # Overall project coverage, compare against pull request base + project: + default: + # The required coverage value + target: 50% + + # The leniency in hitting the target. Allow coverage to drop by X% + threshold: 5% + + # Only measure lines adjusted in the pull request or single commit, if the commit in not in the pr + patch: + default: + # The required coverage value + target: 85% + + # Allow coverage to drop by X% + threshold: 5% + changes: no + +comment: + # Pull request Codecov comment format. + # diff: coverage diff of the pull request + # files: a list of files impacted by the pull request (coverage changes, file is new or removed) + layout: "diff, files" + + # Update Codecov comment, if exists. Otherwise post new + behavior: default + + # If true, only post the Codecov comment if coverage changes + require_changes: false \ No newline at end of file From a862ef92eeffb06e8a9c4c7b6e1dfe2352541b0f Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Thu, 12 Oct 2023 13:47:30 +0300 Subject: [PATCH 23/31] Update `ci.yml` --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d8119d3..69fa2bf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,6 +26,7 @@ jobs: - destination: "platform=macOS" name: "macOS" scheme: "CaptureKit" + sdk: macosx steps: - name: Checkout uses: actions/checkout@v3 From ab098fbdc7de8a3c3e9bc657c00517a13e84d162 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Mon, 16 Oct 2023 17:46:06 +0300 Subject: [PATCH 24/31] Update `NVAudioService` - Add a method for obtaining audio devices --- .../Core/Services/AudioService/NVAudioService.h | 5 +++++ .../Core/Services/AudioService/NVAudioService.m | 12 ++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.h b/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.h index bff7178..fb9e435 100644 --- a/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.h +++ b/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.h @@ -20,6 +20,11 @@ NS_ASSUME_NONNULL_BEGIN /// @return An initialized NVAudioService instance. - (id)initWithMediaDeviceProvider:(id)mediaDeviceProvider; +/// Retrieves the list of connected audio devices. +/// +/// @return An array of connected devices. +- (NSArray *)audioDevices; + /// Retrieves the unique identifiers of audio devices. /// /// @return An array of unique identifiers (NSString) of audio devices. diff --git a/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.m b/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.m index e9e877c..a731ab7 100644 --- a/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.m +++ b/CaptureKit/Classes/Core/Services/AudioService/NVAudioService.m @@ -25,19 +25,23 @@ - (id)initWithMediaDeviceProvider:(id)mediaDeviceProvider { #pragma mark - Public - (NSArray *)audioDevicesIDs { - NSArray *audioDevices = - [self.mediaDeviceProvider devicesWithMediaType:AVMediaTypeAudio]; + NSArray *audioDevices = [self audioDevices]; return [self audioDevicesIDs:audioDevices]; } - (BOOL)isAudioDeviceConnected:(NSString *)uniqueID { - NSArray *audioDevices = - [self.mediaDeviceProvider devicesWithMediaType:AVMediaTypeAudio]; + NSArray *audioDevices = [self audioDevices]; NSArray *devicesIDs = [self audioDevicesIDs:audioDevices]; return [devicesIDs containsObject:uniqueID]; } +- (NSArray *)audioDevices { + NSArray *audioDevices = + [self.mediaDeviceProvider devicesWithMediaType:AVMediaTypeAudio]; + return audioDevices; +} + #pragma mark - Private - (NSArray *)audioDevicesIDs:(NSArray *)devices { From 160d42391d55227d8e289adb0df7aa4a0bdde1a2 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Thu, 19 Oct 2023 17:46:28 +0300 Subject: [PATCH 25/31] Update `CHANGELOG.md` --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..0d196c4 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,12 @@ +#Change Log +All notable changes to this project will be documented in this file. + +#### 1.x Releases +- `1.0.x` Releases - [1.0.0](#100) + +## [1.0.0](https://github.com/space-code/capture-kit/releases/tag/1.0.0) +Released on 2023-10-19. + +#### Added +- Initial release of CaptureKit. + - Added by [Nikita Vasilev](https://github.com/nik3212). \ No newline at end of file From 3dbb6903477b223d78140504c01c9412a33ef969 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Thu, 19 Oct 2023 17:49:41 +0300 Subject: [PATCH 26/31] Integrate `danger` --- .github/workflows/danger.yml | 29 ++++++++++++++++ Gemfile | 3 ++ Gemfile.lock | 66 ++++++++++++++++++++++++++++++++++++ 3 files changed, 98 insertions(+) create mode 100644 .github/workflows/danger.yml create mode 100644 Gemfile create mode 100644 Gemfile.lock diff --git a/.github/workflows/danger.yml b/.github/workflows/danger.yml new file mode 100644 index 0000000..1a0ab52 --- /dev/null +++ b/.github/workflows/danger.yml @@ -0,0 +1,29 @@ +name: Danger + +on: + pull_request: + types: [synchronize, opened, reopened, labeled, unlabeled, edited] + +env: + LC_CTYPE: en_US.UTF-8 + LANG: en_US.UTF-8 + +jobs: + run-danger: + runs-on: ubuntu-latest + steps: + - name: ruby setup + uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.7 + bundler-cache: true + - name: Checkout code + uses: actions/checkout@v2 + - name: Setup gems + run: | + gem install bundler + bundle install --clean --path vendor/bundle + - name: danger + env: + DANGER_GITHUB_API_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }} + run: bundle exec danger --verbose \ No newline at end of file diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..20dff64 --- /dev/null +++ b/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem 'danger' \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..43236ba --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,66 @@ +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.5) + public_suffix (>= 2.0.2, < 6.0) + base64 (0.1.1) + claide (1.1.0) + claide-plugins (0.9.2) + cork + nap + open4 (~> 1.3) + colored2 (3.1.2) + cork (0.3.0) + colored2 (~> 3.1) + danger (9.3.2) + claide (~> 1.0) + claide-plugins (>= 0.9.2) + colored2 (~> 3.1) + cork (~> 0.1) + faraday (>= 0.9.0, < 3.0) + faraday-http-cache (~> 2.0) + git (~> 1.13) + kramdown (~> 2.3) + kramdown-parser-gfm (~> 1.0) + no_proxy_fix + octokit (~> 6.0) + terminal-table (>= 1, < 4) + faraday (2.7.11) + base64 + faraday-net_http (>= 2.0, < 3.1) + ruby2_keywords (>= 0.0.4) + faraday-http-cache (2.5.0) + faraday (>= 0.8) + faraday-net_http (3.0.2) + git (1.18.0) + addressable (~> 2.8) + rchardet (~> 1.8) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + nap (1.1.0) + no_proxy_fix (0.1.2) + octokit (6.1.1) + faraday (>= 1, < 3) + sawyer (~> 0.9) + open4 (1.3.4) + public_suffix (5.0.3) + rchardet (1.8.0) + rexml (3.2.6) + ruby2_keywords (0.0.5) + sawyer (0.9.2) + addressable (>= 2.3.5) + faraday (>= 0.17.3, < 3) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + unicode-display_width (2.5.0) + +PLATFORMS + x86_64-darwin-22 + +DEPENDENCIES + danger + +BUNDLED WITH + 2.4.21 From ffe9e15b98848f946f1a3133ba151a92c3839e20 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Thu, 19 Oct 2023 17:50:46 +0300 Subject: [PATCH 27/31] Add templates --- .github/ISSUE_TEMPLATE/bug_report.md | 41 +++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 11 +++++ .../PULL_REQUEST_TEMPLATE/bug_template.yml | 9 ++++ .../feature_template.yml | 12 ++++++ 4 files changed, 73 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/PULL_REQUEST_TEMPLATE/bug_template.yml create mode 100644 .github/PULL_REQUEST_TEMPLATE/feature_template.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..8dc7e75 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,41 @@ +--- +name: "🐛 Bug Report" +about: Report a reproducible bug or regression. +title: 'Bug: ' +labels: 'bug' + +--- + + + +Application version: + +## Steps To Reproduce + +1. +2. + + + +Link to code example: + + + +## The current behavior + + +## The expected behavior \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..b3fb3c6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,11 @@ +--- +name: 🛠 Feature request +about: If you have a feature request for the capture-kit, file it here. +labels: 'type: enhancement' +--- + +**Feature description** +Clearly and concisely describe the feature. + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE/bug_template.yml b/.github/PULL_REQUEST_TEMPLATE/bug_template.yml new file mode 100644 index 0000000..7d6a149 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/bug_template.yml @@ -0,0 +1,9 @@ +## Bug description +Clearly and concisely describe the problem. + +## Solution description +Describe your code changes in detail for reviewers. Explain the technical solution you have provided and how it fixes the issue case. + +## Covered unit test cases +- [x] yes +- [x] no \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE/feature_template.yml b/.github/PULL_REQUEST_TEMPLATE/feature_template.yml new file mode 100644 index 0000000..ab3978b --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/feature_template.yml @@ -0,0 +1,12 @@ +## Feature description +Clearly and concisely describe the feature. + +## Solution description +Describe your code changes in detail for reviewers. + +## Areas affected and ensured +List out the areas affected by your code changes. + +## Covered unit test cases +- [x] yes +- [x] no \ No newline at end of file From b64b39497c1505d4769f5497181fad2cc7bdd3dd Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Thu, 19 Oct 2023 17:55:43 +0300 Subject: [PATCH 28/31] Delete `CaptureKit.md` --- CaptureKit/CaptureKit.docc/CaptureKit.md | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100755 CaptureKit/CaptureKit.docc/CaptureKit.md diff --git a/CaptureKit/CaptureKit.docc/CaptureKit.md b/CaptureKit/CaptureKit.docc/CaptureKit.md deleted file mode 100755 index 3e0bc70..0000000 --- a/CaptureKit/CaptureKit.docc/CaptureKit.md +++ /dev/null @@ -1,13 +0,0 @@ -# ``CaptureKit`` - -Summary - -## Overview - -Text - -## Topics - -### Group - -- ``Symbol`` \ No newline at end of file From a0fa8e3fc3ec90603b27dfbe65e53d07ad55c273 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Thu, 19 Oct 2023 17:59:27 +0300 Subject: [PATCH 29/31] Add a podspec --- CaptureKit.podspec | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 CaptureKit.podspec diff --git a/CaptureKit.podspec b/CaptureKit.podspec new file mode 100644 index 0000000..a8098c8 --- /dev/null +++ b/CaptureKit.podspec @@ -0,0 +1,14 @@ +Pod::Spec.new do |s| + s.name = 'CaptureKit' + s.version = '1.0.0' + s.license = 'MIT' + s.summary = 'A screen capture framework' + s.homepage = 'https://github.com/space-code/capture-kit' + s.authors = { 'Nikita Vasilev' => 'nv3212@gmail.com' } + s.source = { :git => 'https://github.com/space-code/capture-kit.git', :tag => s.version } + s.documentation_url = 'https://github.com/space-code/capture-kit' + + s.osx.deployment_target = '10.12' + + s.source_files = 'CaptureKit/CaptureKit.h' +end \ No newline at end of file From 79d9570ca692dd789ee4b40aa5ad63ee46344dc3 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Thu, 19 Oct 2023 18:04:54 +0300 Subject: [PATCH 30/31] Add `Dangerfile` --- Dangerfile | 1 + 1 file changed, 1 insertion(+) create mode 100644 Dangerfile diff --git a/Dangerfile b/Dangerfile new file mode 100644 index 0000000..b266982 --- /dev/null +++ b/Dangerfile @@ -0,0 +1 @@ +danger.import_dangerfile(github: 'space-code/dangerfile') \ No newline at end of file From 90dc1b3184e91aa993372185be601e28ee0c5152 Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Thu, 19 Oct 2023 18:26:44 +0300 Subject: [PATCH 31/31] Update `ci.yml` --- .github/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 69fa2bf..90aa7f2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,7 +6,9 @@ on: - main - dev pull_request: - branches: [ main ] + - ".github/workflows/**" + - "CaptureKit/**" + - "CaptureKitTests/**" concurrency: group: ci

Y? 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 KzzO`H5%@P|F19!T literal 0 HcmV?d00001 diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/_CodeSignature/CodeResources b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/_CodeSignature/CodeResources new file mode 100644 index 0000000..50ec80d --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_arm64_32_armv7k/OCMock.framework/_CodeSignature/CodeResources @@ -0,0 +1,297 @@ + + + + + files + + Headers/NSNotificationCenter+OCMAdditions.h + + vONiqh5sL6dS88Kx8JYNEZSgZs0= + + Headers/OCMArg.h + + 2TtJQtEo2sCB6zXIpOR5CpHd6ZI= + + Headers/OCMConstraint.h + + Xas8pGuJGxTT/F4ey/TyYW8RdsE= + + Headers/OCMFunctions.h + + 8vgivFuntcZU8V6MIPS/qI7+76c= + + Headers/OCMLocation.h + + /0CRbUvWS/08eIbkc7Qs0rVCIpc= + + Headers/OCMMacroState.h + + eG9h5aC1sciDnimn2qd8D3Whgs8= + + Headers/OCMQuantifier.h + + Iz/nUSovlPskrKgJYN3wtrzsQwI= + + Headers/OCMRecorder.h + + Nuc9k8M2llCQS3ElBXYmXmOgYSA= + + Headers/OCMStubRecorder.h + + UlinOlGX+5BrG/p3FpLJyfKrfBc= + + Headers/OCMock.h + + On/6fINORTxTz9S5hDINgwB7Q+k= + + Headers/OCMockMacros.h + + I/Um7WTr4ycb9SAiuXqMQqZr56s= + + Headers/OCMockObject.h + + gs1jfQy3OVzcDFaoOf3h85dDCHg= + + Info.plist + + 6FJ2NxALUEytn6HUUz81+ZvLtdI= + + Modules/module.modulemap + + D8QZr5r+V+F/EzuAFJHCo218QzY= + + + files2 + + Headers/NSNotificationCenter+OCMAdditions.h + + hash + + vONiqh5sL6dS88Kx8JYNEZSgZs0= + + hash2 + + OpqlLXl1TYpgdESPdjTcl8ukOnx3PIF/CW2vaf8Hffg= + + + Headers/OCMArg.h + + hash + + 2TtJQtEo2sCB6zXIpOR5CpHd6ZI= + + hash2 + + KlkzlNlKwrlSANkeM5T8f5FOJdV/6ehZzv7wvyec5KA= + + + Headers/OCMConstraint.h + + hash + + Xas8pGuJGxTT/F4ey/TyYW8RdsE= + + hash2 + + 2U5VzXM/137kdDaimPrTw7LgWDfexU81LodocYo6kc0= + + + Headers/OCMFunctions.h + + hash + + 8vgivFuntcZU8V6MIPS/qI7+76c= + + hash2 + + RkAZXLHoOdzRAcb5Xj1jfbb4HG46uX2ebbvAQuL02tE= + + + Headers/OCMLocation.h + + hash + + /0CRbUvWS/08eIbkc7Qs0rVCIpc= + + hash2 + + ccpsG99Nw50eW0nZvLv/IozvOnpFCvXqTcFMQkNv1bU= + + + Headers/OCMMacroState.h + + hash + + eG9h5aC1sciDnimn2qd8D3Whgs8= + + hash2 + + CvW82Uxav33uzaXGAxUzM2ue5TYOB7xRmnoIZ/X/xgs= + + + Headers/OCMQuantifier.h + + hash + + Iz/nUSovlPskrKgJYN3wtrzsQwI= + + hash2 + + AR64qzDpATQzBQbotenP205lhYh7IEtfrdb2tfkjvOk= + + + Headers/OCMRecorder.h + + hash + + Nuc9k8M2llCQS3ElBXYmXmOgYSA= + + hash2 + + 2yDq8ywLd4CnfinJmX1elhIUKtQRYv+bJDX5p+KPATo= + + + Headers/OCMStubRecorder.h + + hash + + UlinOlGX+5BrG/p3FpLJyfKrfBc= + + hash2 + + YJjzSF6DMhEmPqm7LnSnWdiCqSwsepMeGN4i1SKoHz4= + + + Headers/OCMock.h + + hash + + On/6fINORTxTz9S5hDINgwB7Q+k= + + hash2 + + Vt6bfx1xsYy28YCOPDtY7NzbG6grfcluwOF5MZqjyd4= + + + Headers/OCMockMacros.h + + hash + + I/Um7WTr4ycb9SAiuXqMQqZr56s= + + hash2 + + p45nXBg6Fyw2+Orzsv08dNq/tVPRv8ccEh8pkl2T/nk= + + + Headers/OCMockObject.h + + hash + + gs1jfQy3OVzcDFaoOf3h85dDCHg= + + hash2 + + SWo2XBfpB3ZcUgcIZvzTYDXcjmquNSdDpEXNe0U1zeo= + + + Modules/module.modulemap + + hash + + D8QZr5r+V+F/EzuAFJHCo218QzY= + + hash2 + + pJYkV/qB275HCglrXGI/POf3dh+jBQ7qNq2ZpQojitk= + + + + rules + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h new file mode 100644 index 0000000..b25eeef --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2009-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCObserverMockObject; + +@interface NSNotificationCenter (OCMAdditions) + +- (void)addMockObserver:(OCObserverMockObject *)notificationObserver + name:(NSString *)notificationName + object:(id)notificationSender; + +@end diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMArg.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMArg.h new file mode 100644 index 0000000..5cbbd4f --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMArg.h @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2009-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMArg : NSObject + +// constraining arguments + ++ (id)any; ++ (SEL)anySelector; ++ (void *)anyPointer; ++ (id __autoreleasing *)anyObjectRef; ++ (id)isNil; ++ (id)isNotNil; ++ (id)isEqual:(id)value; ++ (id)isNotEqual:(id)value; ++ (id)isKindOfClass:(Class)cls; ++ (id)checkWithSelector:(SEL)selector onObject:(id)anObject; ++ (id)checkWithBlock:(BOOL (^)(id obj))block; + +// manipulating arguments + ++ (id *)setTo:(id)value; ++ (void *)setToValue:(NSValue *)value; ++ (id)invokeBlock; ++ (id)invokeBlockWithArgs:(id)first, ... NS_REQUIRES_NIL_TERMINATION; + ++ (id)defaultValue; + +// internal use only + ++ (id)resolveSpecialValues:(NSValue *)value; + +@end + +#define OCMOCK_ANY [OCMArg any] + +#define OCMOCK_VALUE(variable) \ + ({ \ + __typeof__(variable) __v = (variable); \ + [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; \ + }) diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h new file mode 100644 index 0000000..d5c5f96 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2007-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMConstraint : NSObject + ++ (instancetype)constraint; +- (BOOL)evaluate:(id)value; + +// if you are looking for any, isNil, etc, they have moved to OCMArg + +// try to use [OCMArg checkWith...] instead of the constraintWith... methods below + ++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; ++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue; + +@end + +@interface OCMAnyConstraint : OCMConstraint +@end + +@interface OCMIsNilConstraint : OCMConstraint +@end + +@interface OCMIsNotNilConstraint : OCMConstraint +@end + +@interface OCMIsNotEqualConstraint : OCMConstraint { + @public + id testValue; +} + +@end + +@interface OCMInvocationConstraint : OCMConstraint { + @public + NSInvocation *invocation; +} + +@end + +@interface OCMBlockConstraint : OCMConstraint { + BOOL (^block)(id); +} + +- (instancetype)initWithConstraintBlock:(BOOL (^)(id))block; + +@end + +#ifndef OCM_DISABLE_SHORT_SYNTAX +#define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] +#define CONSTRAINTV(aSelector, aValue) \ + [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] +#endif diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h new file mode 100644 index 0000000..1119402 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +#if defined(__cplusplus) +#define OCMOCK_EXTERN extern "C" +#else +#define OCMOCK_EXTERN extern +#endif + +OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); +OCMOCK_EXTERN BOOL OCMIsSubclassOfMockClass(Class cls); diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h new file mode 100644 index 0000000..fd64f42 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import + +@interface OCMLocation : NSObject { + id testCase; + NSString *file; + NSUInteger line; +} + ++ (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; + +- (instancetype)initWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; + +- (id)testCase; +- (NSString *)file; +- (NSUInteger)line; + +@end + +OCMOCK_EXTERN OCMLocation *OCMMakeLocation(id testCase, const char *file, int line); diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h new file mode 100644 index 0000000..8d92be2 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; +@class OCMRecorder; +@class OCMStubRecorder; +@class OCMockObject; + +@interface OCMMacroState : NSObject { + OCMRecorder *recorder; + BOOL invocationDidThrow; +} + ++ (void)beginStubMacro; ++ (OCMStubRecorder *)endStubMacro; + ++ (void)beginExpectMacro; ++ (OCMStubRecorder *)endExpectMacro; + ++ (void)beginRejectMacro; ++ (OCMStubRecorder *)endRejectMacro; + ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation + withQuantifier:(OCMQuantifier *)quantifier; ++ (void)endVerifyMacro; + ++ (OCMMacroState *)globalState; + +- (void)setRecorder:(OCMRecorder *)aRecorder; +- (OCMRecorder *)recorder; + +- (void)switchToClassMethod; + +- (void)setInvocationDidThrow:(BOOL)flag; +- (BOOL)invocationDidThrow; + +@end diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h new file mode 100644 index 0000000..31d1847 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2016-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMQuantifier : NSObject { + NSUInteger expectedCount; +} + ++ (instancetype)never; ++ (instancetype)exactly:(NSUInteger)count; ++ (instancetype)atLeast:(NSUInteger)count; ++ (instancetype)atMost:(NSUInteger)count; + +- (BOOL)isValidCount:(NSUInteger)count; + +- (NSString *)description; + +@end + +#define OCMNever() ([OCMQuantifier never]) +#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) +#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) +#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) + +#ifndef OCM_DISABLE_SHORT_QSYNTAX +#define never() OCMNever() +#define times(n) OCMTimes(n) +#define atLeast(n) OCMAtLeast(n) +#define atMost(n) OCMAtMost(n) +#endif diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h new file mode 100644 index 0000000..6b68343 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMockObject; +@class OCMInvocationMatcher; + +@interface OCMRecorder : NSProxy { + OCMockObject *mockObject; + OCMInvocationMatcher *invocationMatcher; + BOOL didRecordInvocation; + BOOL shouldReturnMockFromInit; +} + +- (instancetype)init; +- (instancetype)initWithMockObject:(OCMockObject *)aMockObject; + +- (void)setMockObject:(OCMockObject *)aMockObject; +- (void)setShouldReturnMockFromInit:(BOOL)flag; + +- (OCMInvocationMatcher *)invocationMatcher; +- (BOOL)didRecordInvocation; + +- (id)classMethod; +- (id)ignoringNonObjectArgs; + +@end + +@interface OCMRecorder (Properties) + +#define ignoringNonObjectArgs() _ignoringNonObjectArgs() +@property(nonatomic, readonly) OCMRecorder * (^_ignoringNonObjectArgs)(void); + +@end diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h new file mode 100644 index 0000000..cd1772e --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import +#import + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +@class XCTestExpectation; +#endif + +@interface OCMStubRecorder : OCMRecorder + +- (id)andReturn:(id)anObject; +- (id)andReturnValue:(NSValue *)aValue; +- (id)andThrow:(NSException *)anException; +- (id)andPost:(NSNotification *)aNotification; +- (id)andCall:(SEL)selector onObject:(id)anObject; +- (id)andDo:(void (^)(NSInvocation *invocation))block; +- (id)andForwardToRealObject; + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +- (id)andFulfill:(XCTestExpectation *)expectation; +#endif + +@end + +@interface OCMStubRecorder (Properties) + +#define andReturn(aValue) \ + _andReturn(({ \ + __typeof__(aValue) _val = (aValue); \ + NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ + if (OCMIsObjectType(@encode(__typeof(_val)))) { \ + objc_setAssociatedObject(_nsval, \ + "OCMAssociatedBoxedValue", \ + *(__unsafe_unretained id *)(void *)&_val, \ + OBJC_ASSOCIATION_RETAIN); \ + } \ + _nsval; \ + })) +@property(nonatomic, readonly) OCMStubRecorder * (^_andReturn)(NSValue *); + +#define andThrow(anException) _andThrow(anException) +@property(nonatomic, readonly) OCMStubRecorder * (^_andThrow)(NSException *); + +#define andPost(aNotification) _andPost(aNotification) +@property(nonatomic, readonly) OCMStubRecorder * (^_andPost)(NSNotification *); + +#define andCall(anObject, aSelector) _andCall(anObject, aSelector) +@property(nonatomic, readonly) OCMStubRecorder * (^_andCall)(id, SEL); + +#define andDo(aBlock) _andDo(aBlock) +@property(nonatomic, readonly) OCMStubRecorder * (^_andDo)(void (^)(NSInvocation *)); + +#define andForwardToRealObject() _andForwardToRealObject() +@property(nonatomic, readonly) OCMStubRecorder * (^_andForwardToRealObject)(void); + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +#define andFulfill(anExpectation) _andFulfill(anExpectation) +@property(nonatomic, readonly) OCMStubRecorder * (^_andFulfill)(XCTestExpectation *); +#endif + +@property(nonatomic, readonly) OCMStubRecorder * (^_ignoringNonObjectArgs)(void); + +#define andBreak() \ + _andDo(^(NSInvocation * _invocation) { \ + __builtin_debugtrap(); \ + }) + +#define andLog(_format, ...) \ + _andDo(^(NSInvocation * _invocation) { \ + NSLog(_format, ##__VA_ARGS__); \ + }) + +@end diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMock.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMock.h new file mode 100644 index 0000000..b1b3e14 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMock.h @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h new file mode 100644 index 0000000..6de97b2 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#ifdef OCM_DISABLE_SHORT_SYNTAX +#define OCM_DISABLE_SHORT_QSYNTAX +#endif + +#define OCMClassMock(cls) [OCMockObject niceMockForClass:cls] + +#define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls] + +#define OCMProtocolMock(protocol) [OCMockObject niceMockForProtocol:protocol] + +#define OCMStrictProtocolMock(protocol) [OCMockObject mockForProtocol:protocol] + +#define OCMPartialMock(obj) [OCMockObject partialMockForObject:obj] + +#define OCMObserverMock() [OCMockObject observerMock] + +#define OCMStub(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginStubMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endStubMacro]; } recorder;); \ + }) + +#define OCMExpect(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginExpectMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endExpectMacro]; } recorder;); \ + }) + +#define OCMReject(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginRejectMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endRejectMacro]; } recorder;); \ + }) + +#define OCMClassMethod(invocation) \ + _OCMSilenceWarnings([[OCMMacroState globalState] switchToClassMethod]; invocation;); + +#ifndef OCM_DISABLE_SHORT_SYNTAX +#define ClassMethod(invocation) OCMClassMethod(invocation) +#endif + +#define OCMVerifyAll(mock) \ + [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define OCMVerifyAllWithDelay(mock, delay) \ + [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define _OCMVerify(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { [OCMMacroState endVerifyMacro]; }); \ + }) + +#define _OCMVerifyWithQuantifier(quantifier, invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) \ + withQuantifier:quantifier]; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { [OCMMacroState endVerifyMacro]; }); \ + }) + +// explanation for macros below here: +// https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros + +#define _OCMVerify_1(A) _OCMVerify(A) +#define _OCMVerify_2(A, B) _OCMVerifyWithQuantifier(A, B) +#define _OCMVerify_X(x, A, B, FUNC, ...) FUNC +#define OCMVerify(...) \ + _OCMVerify_X(, ##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) + +#define _OCMSilenceWarnings(macro) \ + ({_Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ + _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ + _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ + macro _Pragma("clang diagnostic pop")}) diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h new file mode 100644 index 0000000..b7f2304 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; +@class OCMInvocationStub; +@class OCMStubRecorder; +@class OCMInvocationMatcher; +@class OCMInvocationExpectation; + +@interface OCMockObject : NSProxy { + BOOL isNice; + BOOL expectationOrderMatters; + NSMutableArray *stubs; + NSMutableArray *expectations; + NSMutableArray *exceptions; + NSMutableArray *invocations; +} + ++ (id)mockForClass:(Class)aClass; ++ (id)mockForProtocol:(Protocol *)aProtocol; ++ (id)partialMockForObject:(NSObject *)anObject; + ++ (id)niceMockForClass:(Class)aClass; ++ (id)niceMockForProtocol:(Protocol *)aProtocol; + ++ (id)observerMock __deprecated_msg("Please use XCTNSNotificationExpectation instead."); + +- (instancetype)init; + +- (void)setExpectationOrderMatters:(BOOL)flag; + +- (id)stub; +- (id)expect; +- (id)reject; + +- (id)verify; +- (id)verifyAtLocation:(OCMLocation *)location; + +- (void)verifyWithDelay:(NSTimeInterval)delay; +- (void)verifyWithDelay:(NSTimeInterval)delay atLocation:(OCMLocation *)location; + +- (void)stopMocking; + +// internal use only + +- (void)addStub:(OCMInvocationStub *)aStub; +- (void)addExpectation:(OCMInvocationExpectation *)anExpectation; +- (void)addInvocation:(NSInvocation *)anInvocation; + +- (BOOL)handleInvocation:(NSInvocation *)anInvocation; +- (void)handleUnRecordedInvocation:(NSInvocation *)anInvocation; +- (BOOL)handleSelector:(SEL)sel; + +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher + withQuantifier:(OCMQuantifier *)quantifier + atLocation:(OCMLocation *)location; +- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher + quantifier:(OCMQuantifier *)quantifier + invocationCount:(NSUInteger)count; + +@end diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Info.plist b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Info.plist new file mode 100644 index 0000000000000000000000000000000000000000..a64c05b437a20307ed798b5158dbc22aeb0f455b GIT binary patch literal 898 zcmY*WO;6NN6n*av0*Xop6ahsMQ2e54%K&j@U@A(;0GXB1KyUY$Zgtt&$;*9zMeKikGEq*`5}#9Qs_C?+t+{o z!obB#mj|Wd(D0S3BiBa9#;=dvn7DcC_SE#uo$0%?_wGM3HO`|wOc%3n?{B# zX{@}uk_3*&baucz5&A5MtIXvhu%w~9_w+ThlbAL=_8+V^JHb-MqU&eb_LZ!!2s>Q0gaRBj35a^ zkT7SJh?-q6>x=^fpKG99ez z<_lXmY`2@cmP!>Ka6j=kjjq^|MmLP-iBE$nqfTmLS%jU4yREpfy#~f}o2^oxd!3r5 zJySKM%7WTvxgzX+_;eAuvao#s@(E`w%8I#KsjqL(%a3Kvd;)Pa*{IXlZW-`ma6v>_ zPqm~eTlg{!LyyT&Wd^im&pYsC+oORitCmvJ)av{~sqrdZ(9Rc_sv;}!yU(&IX{rl~ zQdbw2wUXi(C0P;D5-KBsLexPK;>blU6r)M>8Ey?JaFx(pR%vJ+xTo3FK2$oW7@z>2 z0cxTIY8QA4$boD_KY(57*0dV~j!^sPk<^3w(Gscv{{|hRWAp`mLw|4|p23TF85_8X z5Aa+30UzQ|_!xi1-| literal 0 HcmV?d00001 diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Modules/module.modulemap b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Modules/module.modulemap new file mode 100644 index 0000000..052ea7f --- /dev/null +++ b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/Modules/module.modulemap @@ -0,0 +1,7 @@ +framework module OCMock { + umbrella header "OCMock.h" export * + + module * { + export * + } +} diff --git a/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/OCMock b/ThirdParty/OCMock.xcframework/watchos-arm64_i386_x86_64-simulator/OCMock.framework/OCMock new file mode 100755 index 0000000000000000000000000000000000000000..839420fa6a7cb271833b960c182010a7d72a6239 GIT binary patch literal 592048 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%0DU_yHVD%RbF>V%yVqM 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

rniF5nAb*WohQ?9!2u9_Ty* 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 + + + + BuildMachineOSBuild + 22G120 + CFBundleDevelopmentRegion + en + CFBundleExecutable + OCMock + CFBundleIdentifier + org.ocmock.OCMock + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + OCMock + CFBundlePackageType + FMWK + CFBundleShortVersionString + 3.9.2 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 3.9.1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + + DTPlatformName + macosx + DTPlatformVersion + 14.0 + DTSDKBuild + 23A334 + DTSDKName + macosx14.0 + DTXcode + 1500 + DTXcodeBuild + 15A240d + LSMinimumSystemVersion + 10.15 + NSHumanReadableCopyright + Copyright © 2004-2023 Erik Doernenburg and contributors + + diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/_CodeSignature/CodeResources b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/_CodeSignature/CodeResources new file mode 100644 index 0000000..a35c9c8 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/A/_CodeSignature/CodeResources @@ -0,0 +1,226 @@ + + + + + files + + Resources/Info.plist + + Z2yDR+vCPoAYMl5zJZIBl6A9ksA= + + + files2 + + Headers/NSNotificationCenter+OCMAdditions.h + + hash2 + + OpqlLXl1TYpgdESPdjTcl8ukOnx3PIF/CW2vaf8Hffg= + + + Headers/OCMArg.h + + hash2 + + KlkzlNlKwrlSANkeM5T8f5FOJdV/6ehZzv7wvyec5KA= + + + Headers/OCMConstraint.h + + hash2 + + 2U5VzXM/137kdDaimPrTw7LgWDfexU81LodocYo6kc0= + + + Headers/OCMFunctions.h + + hash2 + + RkAZXLHoOdzRAcb5Xj1jfbb4HG46uX2ebbvAQuL02tE= + + + Headers/OCMLocation.h + + hash2 + + ccpsG99Nw50eW0nZvLv/IozvOnpFCvXqTcFMQkNv1bU= + + + Headers/OCMMacroState.h + + hash2 + + CvW82Uxav33uzaXGAxUzM2ue5TYOB7xRmnoIZ/X/xgs= + + + Headers/OCMQuantifier.h + + hash2 + + AR64qzDpATQzBQbotenP205lhYh7IEtfrdb2tfkjvOk= + + + Headers/OCMRecorder.h + + hash2 + + 2yDq8ywLd4CnfinJmX1elhIUKtQRYv+bJDX5p+KPATo= + + + Headers/OCMStubRecorder.h + + hash2 + + YJjzSF6DMhEmPqm7LnSnWdiCqSwsepMeGN4i1SKoHz4= + + + Headers/OCMVerifier.h + + hash2 + + AX+jq2RcKI06XrCgrYSS5p4CGtyEdt0fNSLdsUkOmjk= + + + Headers/OCMock.h + + hash2 + + Vt6bfx1xsYy28YCOPDtY7NzbG6grfcluwOF5MZqjyd4= + + + Headers/OCMockMacros.h + + hash2 + + p45nXBg6Fyw2+Orzsv08dNq/tVPRv8ccEh8pkl2T/nk= + + + Headers/OCMockObject.h + + hash2 + + SWo2XBfpB3ZcUgcIZvzTYDXcjmquNSdDpEXNe0U1zeo= + + + Modules/module.modulemap + + hash2 + + pJYkV/qB275HCglrXGI/POf3dh+jBQ7qNq2ZpQojitk= + + + Resources/Info.plist + + hash2 + + q1bOZ86+MFIEpymG7syD7+N1tBaLoc6Vn7ZBb/57CjM= + + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/Current b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/Current new file mode 120000 index 0000000..8c7e5a6 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/macos-arm64_x86_64/OCMock.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h new file mode 100644 index 0000000..b25eeef --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2009-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCObserverMockObject; + +@interface NSNotificationCenter (OCMAdditions) + +- (void)addMockObserver:(OCObserverMockObject *)notificationObserver + name:(NSString *)notificationName + object:(id)notificationSender; + +@end diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMArg.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMArg.h new file mode 100644 index 0000000..5cbbd4f --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMArg.h @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2009-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMArg : NSObject + +// constraining arguments + ++ (id)any; ++ (SEL)anySelector; ++ (void *)anyPointer; ++ (id __autoreleasing *)anyObjectRef; ++ (id)isNil; ++ (id)isNotNil; ++ (id)isEqual:(id)value; ++ (id)isNotEqual:(id)value; ++ (id)isKindOfClass:(Class)cls; ++ (id)checkWithSelector:(SEL)selector onObject:(id)anObject; ++ (id)checkWithBlock:(BOOL (^)(id obj))block; + +// manipulating arguments + ++ (id *)setTo:(id)value; ++ (void *)setToValue:(NSValue *)value; ++ (id)invokeBlock; ++ (id)invokeBlockWithArgs:(id)first, ... NS_REQUIRES_NIL_TERMINATION; + ++ (id)defaultValue; + +// internal use only + ++ (id)resolveSpecialValues:(NSValue *)value; + +@end + +#define OCMOCK_ANY [OCMArg any] + +#define OCMOCK_VALUE(variable) \ + ({ \ + __typeof__(variable) __v = (variable); \ + [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; \ + }) diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMConstraint.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMConstraint.h new file mode 100644 index 0000000..d5c5f96 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMConstraint.h @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2007-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMConstraint : NSObject + ++ (instancetype)constraint; +- (BOOL)evaluate:(id)value; + +// if you are looking for any, isNil, etc, they have moved to OCMArg + +// try to use [OCMArg checkWith...] instead of the constraintWith... methods below + ++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; ++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue; + +@end + +@interface OCMAnyConstraint : OCMConstraint +@end + +@interface OCMIsNilConstraint : OCMConstraint +@end + +@interface OCMIsNotNilConstraint : OCMConstraint +@end + +@interface OCMIsNotEqualConstraint : OCMConstraint { + @public + id testValue; +} + +@end + +@interface OCMInvocationConstraint : OCMConstraint { + @public + NSInvocation *invocation; +} + +@end + +@interface OCMBlockConstraint : OCMConstraint { + BOOL (^block)(id); +} + +- (instancetype)initWithConstraintBlock:(BOOL (^)(id))block; + +@end + +#ifndef OCM_DISABLE_SHORT_SYNTAX +#define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] +#define CONSTRAINTV(aSelector, aValue) \ + [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] +#endif diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMFunctions.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMFunctions.h new file mode 100644 index 0000000..1119402 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMFunctions.h @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +#if defined(__cplusplus) +#define OCMOCK_EXTERN extern "C" +#else +#define OCMOCK_EXTERN extern +#endif + +OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); +OCMOCK_EXTERN BOOL OCMIsSubclassOfMockClass(Class cls); diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMLocation.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMLocation.h new file mode 100644 index 0000000..fd64f42 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMLocation.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import + +@interface OCMLocation : NSObject { + id testCase; + NSString *file; + NSUInteger line; +} + ++ (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; + +- (instancetype)initWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; + +- (id)testCase; +- (NSString *)file; +- (NSUInteger)line; + +@end + +OCMOCK_EXTERN OCMLocation *OCMMakeLocation(id testCase, const char *file, int line); diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMMacroState.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMMacroState.h new file mode 100644 index 0000000..8d92be2 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMMacroState.h @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; +@class OCMRecorder; +@class OCMStubRecorder; +@class OCMockObject; + +@interface OCMMacroState : NSObject { + OCMRecorder *recorder; + BOOL invocationDidThrow; +} + ++ (void)beginStubMacro; ++ (OCMStubRecorder *)endStubMacro; + ++ (void)beginExpectMacro; ++ (OCMStubRecorder *)endExpectMacro; + ++ (void)beginRejectMacro; ++ (OCMStubRecorder *)endRejectMacro; + ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation + withQuantifier:(OCMQuantifier *)quantifier; ++ (void)endVerifyMacro; + ++ (OCMMacroState *)globalState; + +- (void)setRecorder:(OCMRecorder *)aRecorder; +- (OCMRecorder *)recorder; + +- (void)switchToClassMethod; + +- (void)setInvocationDidThrow:(BOOL)flag; +- (BOOL)invocationDidThrow; + +@end diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMQuantifier.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMQuantifier.h new file mode 100644 index 0000000..31d1847 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMQuantifier.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2016-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMQuantifier : NSObject { + NSUInteger expectedCount; +} + ++ (instancetype)never; ++ (instancetype)exactly:(NSUInteger)count; ++ (instancetype)atLeast:(NSUInteger)count; ++ (instancetype)atMost:(NSUInteger)count; + +- (BOOL)isValidCount:(NSUInteger)count; + +- (NSString *)description; + +@end + +#define OCMNever() ([OCMQuantifier never]) +#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) +#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) +#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) + +#ifndef OCM_DISABLE_SHORT_QSYNTAX +#define never() OCMNever() +#define times(n) OCMTimes(n) +#define atLeast(n) OCMAtLeast(n) +#define atMost(n) OCMAtMost(n) +#endif diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMRecorder.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMRecorder.h new file mode 100644 index 0000000..6b68343 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMRecorder.h @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMockObject; +@class OCMInvocationMatcher; + +@interface OCMRecorder : NSProxy { + OCMockObject *mockObject; + OCMInvocationMatcher *invocationMatcher; + BOOL didRecordInvocation; + BOOL shouldReturnMockFromInit; +} + +- (instancetype)init; +- (instancetype)initWithMockObject:(OCMockObject *)aMockObject; + +- (void)setMockObject:(OCMockObject *)aMockObject; +- (void)setShouldReturnMockFromInit:(BOOL)flag; + +- (OCMInvocationMatcher *)invocationMatcher; +- (BOOL)didRecordInvocation; + +- (id)classMethod; +- (id)ignoringNonObjectArgs; + +@end + +@interface OCMRecorder (Properties) + +#define ignoringNonObjectArgs() _ignoringNonObjectArgs() +@property(nonatomic, readonly) OCMRecorder * (^_ignoringNonObjectArgs)(void); + +@end diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMStubRecorder.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMStubRecorder.h new file mode 100644 index 0000000..cd1772e --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMStubRecorder.h @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import +#import + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +@class XCTestExpectation; +#endif + +@interface OCMStubRecorder : OCMRecorder + +- (id)andReturn:(id)anObject; +- (id)andReturnValue:(NSValue *)aValue; +- (id)andThrow:(NSException *)anException; +- (id)andPost:(NSNotification *)aNotification; +- (id)andCall:(SEL)selector onObject:(id)anObject; +- (id)andDo:(void (^)(NSInvocation *invocation))block; +- (id)andForwardToRealObject; + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +- (id)andFulfill:(XCTestExpectation *)expectation; +#endif + +@end + +@interface OCMStubRecorder (Properties) + +#define andReturn(aValue) \ + _andReturn(({ \ + __typeof__(aValue) _val = (aValue); \ + NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ + if (OCMIsObjectType(@encode(__typeof(_val)))) { \ + objc_setAssociatedObject(_nsval, \ + "OCMAssociatedBoxedValue", \ + *(__unsafe_unretained id *)(void *)&_val, \ + OBJC_ASSOCIATION_RETAIN); \ + } \ + _nsval; \ + })) +@property(nonatomic, readonly) OCMStubRecorder * (^_andReturn)(NSValue *); + +#define andThrow(anException) _andThrow(anException) +@property(nonatomic, readonly) OCMStubRecorder * (^_andThrow)(NSException *); + +#define andPost(aNotification) _andPost(aNotification) +@property(nonatomic, readonly) OCMStubRecorder * (^_andPost)(NSNotification *); + +#define andCall(anObject, aSelector) _andCall(anObject, aSelector) +@property(nonatomic, readonly) OCMStubRecorder * (^_andCall)(id, SEL); + +#define andDo(aBlock) _andDo(aBlock) +@property(nonatomic, readonly) OCMStubRecorder * (^_andDo)(void (^)(NSInvocation *)); + +#define andForwardToRealObject() _andForwardToRealObject() +@property(nonatomic, readonly) OCMStubRecorder * (^_andForwardToRealObject)(void); + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +#define andFulfill(anExpectation) _andFulfill(anExpectation) +@property(nonatomic, readonly) OCMStubRecorder * (^_andFulfill)(XCTestExpectation *); +#endif + +@property(nonatomic, readonly) OCMStubRecorder * (^_ignoringNonObjectArgs)(void); + +#define andBreak() \ + _andDo(^(NSInvocation * _invocation) { \ + __builtin_debugtrap(); \ + }) + +#define andLog(_format, ...) \ + _andDo(^(NSInvocation * _invocation) { \ + NSLog(_format, ##__VA_ARGS__); \ + }) + +@end diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMVerifier.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMVerifier.h new file mode 100644 index 0000000..217acdb --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMVerifier.h @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; + +@interface OCMVerifier : OCMRecorder + +@property(strong) OCMLocation *location; +@property(strong) OCMQuantifier *quantifier; + +- (id)withQuantifier:(OCMQuantifier *)quantifier; + +@end diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMock.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMock.h new file mode 100644 index 0000000..b1b3e14 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMock.h @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMockMacros.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMockMacros.h new file mode 100644 index 0000000..6de97b2 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMockMacros.h @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#ifdef OCM_DISABLE_SHORT_SYNTAX +#define OCM_DISABLE_SHORT_QSYNTAX +#endif + +#define OCMClassMock(cls) [OCMockObject niceMockForClass:cls] + +#define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls] + +#define OCMProtocolMock(protocol) [OCMockObject niceMockForProtocol:protocol] + +#define OCMStrictProtocolMock(protocol) [OCMockObject mockForProtocol:protocol] + +#define OCMPartialMock(obj) [OCMockObject partialMockForObject:obj] + +#define OCMObserverMock() [OCMockObject observerMock] + +#define OCMStub(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginStubMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endStubMacro]; } recorder;); \ + }) + +#define OCMExpect(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginExpectMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endExpectMacro]; } recorder;); \ + }) + +#define OCMReject(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginRejectMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endRejectMacro]; } recorder;); \ + }) + +#define OCMClassMethod(invocation) \ + _OCMSilenceWarnings([[OCMMacroState globalState] switchToClassMethod]; invocation;); + +#ifndef OCM_DISABLE_SHORT_SYNTAX +#define ClassMethod(invocation) OCMClassMethod(invocation) +#endif + +#define OCMVerifyAll(mock) \ + [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define OCMVerifyAllWithDelay(mock, delay) \ + [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define _OCMVerify(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { [OCMMacroState endVerifyMacro]; }); \ + }) + +#define _OCMVerifyWithQuantifier(quantifier, invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) \ + withQuantifier:quantifier]; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { [OCMMacroState endVerifyMacro]; }); \ + }) + +// explanation for macros below here: +// https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros + +#define _OCMVerify_1(A) _OCMVerify(A) +#define _OCMVerify_2(A, B) _OCMVerifyWithQuantifier(A, B) +#define _OCMVerify_X(x, A, B, FUNC, ...) FUNC +#define OCMVerify(...) \ + _OCMVerify_X(, ##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) + +#define _OCMSilenceWarnings(macro) \ + ({_Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ + _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ + _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ + macro _Pragma("clang diagnostic pop")}) diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMockObject.h b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMockObject.h new file mode 100644 index 0000000..b7f2304 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Headers/OCMockObject.h @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; +@class OCMInvocationStub; +@class OCMStubRecorder; +@class OCMInvocationMatcher; +@class OCMInvocationExpectation; + +@interface OCMockObject : NSProxy { + BOOL isNice; + BOOL expectationOrderMatters; + NSMutableArray *stubs; + NSMutableArray *expectations; + NSMutableArray *exceptions; + NSMutableArray *invocations; +} + ++ (id)mockForClass:(Class)aClass; ++ (id)mockForProtocol:(Protocol *)aProtocol; ++ (id)partialMockForObject:(NSObject *)anObject; + ++ (id)niceMockForClass:(Class)aClass; ++ (id)niceMockForProtocol:(Protocol *)aProtocol; + ++ (id)observerMock __deprecated_msg("Please use XCTNSNotificationExpectation instead."); + +- (instancetype)init; + +- (void)setExpectationOrderMatters:(BOOL)flag; + +- (id)stub; +- (id)expect; +- (id)reject; + +- (id)verify; +- (id)verifyAtLocation:(OCMLocation *)location; + +- (void)verifyWithDelay:(NSTimeInterval)delay; +- (void)verifyWithDelay:(NSTimeInterval)delay atLocation:(OCMLocation *)location; + +- (void)stopMocking; + +// internal use only + +- (void)addStub:(OCMInvocationStub *)aStub; +- (void)addExpectation:(OCMInvocationExpectation *)anExpectation; +- (void)addInvocation:(NSInvocation *)anInvocation; + +- (BOOL)handleInvocation:(NSInvocation *)anInvocation; +- (void)handleUnRecordedInvocation:(NSInvocation *)anInvocation; +- (BOOL)handleSelector:(SEL)sel; + +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher + withQuantifier:(OCMQuantifier *)quantifier + atLocation:(OCMLocation *)location; +- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher + quantifier:(OCMQuantifier *)quantifier + invocationCount:(NSUInteger)count; + +@end diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Info.plist b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Info.plist new file mode 100644 index 0000000000000000000000000000000000000000..9bd907831c17cb0b7f36dbd1938934319f49d1ce GIT binary patch literal 882 zcmY*V&rj4q6rLFrP*l302q=nxiocq+{E8<7ThNs(OK4fdAkAz$bSJc(+HE)Pg~WLD z$Uh)Q&-?@a1s=T_FDBl+XpBc+%NAss&U@eYzVGGDtA!qK#ESAw8o;FE%-PPa?sMmR zE?m6SD;4_sFJBqBIyf|ZZRq;QjhnZ|#wTu%-?=+^@BRZz>R(8>=ai{k=K-r28M36I z;?hDAI3CkklX)WaSrD%=my5uX`tsW18)hdlt$FM}vgCl2?{F4b(nzi>1v^6Lb_{+R zwW=&?K(>`vSEvsi`g6ES?Op0JvlRk6oU=wkx7SOscy6;L>T|DE)wHLo zrmV4`S}B%=y$eqlkt++^2OuAD#;mNEOXZE_^(pzWteH>X9E@(xhoQ&JYQ@NC)sn_+ z;mb5-WyrF(H)PLi`m*iOz?D@?scP!;sTp-MQ^ifuFx5F(d36j^WU4cYvZ2n*YtxEj zs+z0_X$}>UKp|?O2yx`1I*QRK`Ut;<6!@mmqb$?V6mW}~Y8NscTntbEcYtarf!qb2 z0&*bQP!FJ2+BL1lfFsm6cqnzCZZwC=!0(}bbcjBoFX$KU!V`EF&tn7Ea1+19@9{qV zfDiF!{1t!4Kk!dNNGItb1u{Se$rza=Wnz+TVw2aTN%qJ)@|*lY*&+BS!sMq8`TGz2 C`u`dL literal 0 HcmV?d00001 diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Modules/module.modulemap b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Modules/module.modulemap new file mode 100644 index 0000000..052ea7f --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/Modules/module.modulemap @@ -0,0 +1,7 @@ +framework module OCMock { + umbrella header "OCMock.h" export * + + module * { + export * + } +} diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/OCMock b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/OCMock new file mode 100755 index 0000000000000000000000000000000000000000..9d9745f72ff1a346ffa9a9d7f21263474a3c15c4 GIT binary patch literal 215648 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 literal 0 HcmV?d00001 diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/_CodeSignature/CodeResources b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/_CodeSignature/CodeResources new file mode 100644 index 0000000..be19c99 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64/OCMock.framework/_CodeSignature/CodeResources @@ -0,0 +1,256 @@ + + + + + files + + Headers/NSNotificationCenter+OCMAdditions.h + + vONiqh5sL6dS88Kx8JYNEZSgZs0= + + Headers/OCMArg.h + + 2TtJQtEo2sCB6zXIpOR5CpHd6ZI= + + Headers/OCMConstraint.h + + Xas8pGuJGxTT/F4ey/TyYW8RdsE= + + Headers/OCMFunctions.h + + 8vgivFuntcZU8V6MIPS/qI7+76c= + + Headers/OCMLocation.h + + /0CRbUvWS/08eIbkc7Qs0rVCIpc= + + Headers/OCMMacroState.h + + eG9h5aC1sciDnimn2qd8D3Whgs8= + + Headers/OCMQuantifier.h + + Iz/nUSovlPskrKgJYN3wtrzsQwI= + + Headers/OCMRecorder.h + + Nuc9k8M2llCQS3ElBXYmXmOgYSA= + + Headers/OCMStubRecorder.h + + UlinOlGX+5BrG/p3FpLJyfKrfBc= + + Headers/OCMVerifier.h + + XkRNOUntVvz91+zCRZHKop6Mpm4= + + Headers/OCMock.h + + On/6fINORTxTz9S5hDINgwB7Q+k= + + Headers/OCMockMacros.h + + I/Um7WTr4ycb9SAiuXqMQqZr56s= + + Headers/OCMockObject.h + + gs1jfQy3OVzcDFaoOf3h85dDCHg= + + Info.plist + + B4BX2PVKrrwNNy3T3zPfHf0+pzk= + + Modules/module.modulemap + + D8QZr5r+V+F/EzuAFJHCo218QzY= + + + files2 + + Headers/NSNotificationCenter+OCMAdditions.h + + hash2 + + OpqlLXl1TYpgdESPdjTcl8ukOnx3PIF/CW2vaf8Hffg= + + + Headers/OCMArg.h + + hash2 + + KlkzlNlKwrlSANkeM5T8f5FOJdV/6ehZzv7wvyec5KA= + + + Headers/OCMConstraint.h + + hash2 + + 2U5VzXM/137kdDaimPrTw7LgWDfexU81LodocYo6kc0= + + + Headers/OCMFunctions.h + + hash2 + + RkAZXLHoOdzRAcb5Xj1jfbb4HG46uX2ebbvAQuL02tE= + + + Headers/OCMLocation.h + + hash2 + + ccpsG99Nw50eW0nZvLv/IozvOnpFCvXqTcFMQkNv1bU= + + + Headers/OCMMacroState.h + + hash2 + + CvW82Uxav33uzaXGAxUzM2ue5TYOB7xRmnoIZ/X/xgs= + + + Headers/OCMQuantifier.h + + hash2 + + AR64qzDpATQzBQbotenP205lhYh7IEtfrdb2tfkjvOk= + + + Headers/OCMRecorder.h + + hash2 + + 2yDq8ywLd4CnfinJmX1elhIUKtQRYv+bJDX5p+KPATo= + + + Headers/OCMStubRecorder.h + + hash2 + + YJjzSF6DMhEmPqm7LnSnWdiCqSwsepMeGN4i1SKoHz4= + + + Headers/OCMVerifier.h + + hash2 + + AX+jq2RcKI06XrCgrYSS5p4CGtyEdt0fNSLdsUkOmjk= + + + Headers/OCMock.h + + hash2 + + Vt6bfx1xsYy28YCOPDtY7NzbG6grfcluwOF5MZqjyd4= + + + Headers/OCMockMacros.h + + hash2 + + p45nXBg6Fyw2+Orzsv08dNq/tVPRv8ccEh8pkl2T/nk= + + + Headers/OCMockObject.h + + hash2 + + SWo2XBfpB3ZcUgcIZvzTYDXcjmquNSdDpEXNe0U1zeo= + + + Modules/module.modulemap + + hash2 + + pJYkV/qB275HCglrXGI/POf3dh+jBQ7qNq2ZpQojitk= + + + + rules + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Base\.lproj/ + + weight + 1010 + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h new file mode 100644 index 0000000..b25eeef --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/NSNotificationCenter+OCMAdditions.h @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2009-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCObserverMockObject; + +@interface NSNotificationCenter (OCMAdditions) + +- (void)addMockObserver:(OCObserverMockObject *)notificationObserver + name:(NSString *)notificationName + object:(id)notificationSender; + +@end diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMArg.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMArg.h new file mode 100644 index 0000000..5cbbd4f --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMArg.h @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2009-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMArg : NSObject + +// constraining arguments + ++ (id)any; ++ (SEL)anySelector; ++ (void *)anyPointer; ++ (id __autoreleasing *)anyObjectRef; ++ (id)isNil; ++ (id)isNotNil; ++ (id)isEqual:(id)value; ++ (id)isNotEqual:(id)value; ++ (id)isKindOfClass:(Class)cls; ++ (id)checkWithSelector:(SEL)selector onObject:(id)anObject; ++ (id)checkWithBlock:(BOOL (^)(id obj))block; + +// manipulating arguments + ++ (id *)setTo:(id)value; ++ (void *)setToValue:(NSValue *)value; ++ (id)invokeBlock; ++ (id)invokeBlockWithArgs:(id)first, ... NS_REQUIRES_NIL_TERMINATION; + ++ (id)defaultValue; + +// internal use only + ++ (id)resolveSpecialValues:(NSValue *)value; + +@end + +#define OCMOCK_ANY [OCMArg any] + +#define OCMOCK_VALUE(variable) \ + ({ \ + __typeof__(variable) __v = (variable); \ + [NSValue value:&__v withObjCType:@encode(__typeof__(__v))]; \ + }) diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h new file mode 100644 index 0000000..d5c5f96 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMConstraint.h @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2007-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMConstraint : NSObject + ++ (instancetype)constraint; +- (BOOL)evaluate:(id)value; + +// if you are looking for any, isNil, etc, they have moved to OCMArg + +// try to use [OCMArg checkWith...] instead of the constraintWith... methods below + ++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject; ++ (instancetype)constraintWithSelector:(SEL)aSelector onObject:(id)anObject withValue:(id)aValue; + +@end + +@interface OCMAnyConstraint : OCMConstraint +@end + +@interface OCMIsNilConstraint : OCMConstraint +@end + +@interface OCMIsNotNilConstraint : OCMConstraint +@end + +@interface OCMIsNotEqualConstraint : OCMConstraint { + @public + id testValue; +} + +@end + +@interface OCMInvocationConstraint : OCMConstraint { + @public + NSInvocation *invocation; +} + +@end + +@interface OCMBlockConstraint : OCMConstraint { + BOOL (^block)(id); +} + +- (instancetype)initWithConstraintBlock:(BOOL (^)(id))block; + +@end + +#ifndef OCM_DISABLE_SHORT_SYNTAX +#define CONSTRAINT(aSelector) [OCMConstraint constraintWithSelector:aSelector onObject:self] +#define CONSTRAINTV(aSelector, aValue) \ + [OCMConstraint constraintWithSelector:aSelector onObject:self withValue:(aValue)] +#endif diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h new file mode 100644 index 0000000..1119402 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMFunctions.h @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +#if defined(__cplusplus) +#define OCMOCK_EXTERN extern "C" +#else +#define OCMOCK_EXTERN extern +#endif + +OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); +OCMOCK_EXTERN BOOL OCMIsSubclassOfMockClass(Class cls); diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h new file mode 100644 index 0000000..fd64f42 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMLocation.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import + +@interface OCMLocation : NSObject { + id testCase; + NSString *file; + NSUInteger line; +} + ++ (instancetype)locationWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; + +- (instancetype)initWithTestCase:(id)aTestCase file:(NSString *)aFile line:(NSUInteger)aLine; + +- (id)testCase; +- (NSString *)file; +- (NSUInteger)line; + +@end + +OCMOCK_EXTERN OCMLocation *OCMMakeLocation(id testCase, const char *file, int line); diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h new file mode 100644 index 0000000..8d92be2 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMMacroState.h @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; +@class OCMRecorder; +@class OCMStubRecorder; +@class OCMockObject; + +@interface OCMMacroState : NSObject { + OCMRecorder *recorder; + BOOL invocationDidThrow; +} + ++ (void)beginStubMacro; ++ (OCMStubRecorder *)endStubMacro; + ++ (void)beginExpectMacro; ++ (OCMStubRecorder *)endExpectMacro; + ++ (void)beginRejectMacro; ++ (OCMStubRecorder *)endRejectMacro; + ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation; ++ (void)beginVerifyMacroAtLocation:(OCMLocation *)aLocation + withQuantifier:(OCMQuantifier *)quantifier; ++ (void)endVerifyMacro; + ++ (OCMMacroState *)globalState; + +- (void)setRecorder:(OCMRecorder *)aRecorder; +- (OCMRecorder *)recorder; + +- (void)switchToClassMethod; + +- (void)setInvocationDidThrow:(BOOL)flag; +- (BOOL)invocationDidThrow; + +@end diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h new file mode 100644 index 0000000..31d1847 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMQuantifier.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2016-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@interface OCMQuantifier : NSObject { + NSUInteger expectedCount; +} + ++ (instancetype)never; ++ (instancetype)exactly:(NSUInteger)count; ++ (instancetype)atLeast:(NSUInteger)count; ++ (instancetype)atMost:(NSUInteger)count; + +- (BOOL)isValidCount:(NSUInteger)count; + +- (NSString *)description; + +@end + +#define OCMNever() ([OCMQuantifier never]) +#define OCMTimes(n) ([OCMQuantifier exactly:(n)]) +#define OCMAtLeast(n) ([OCMQuantifier atLeast:(n)]) +#define OCMAtMost(n) ([OCMQuantifier atMost:(n)]) + +#ifndef OCM_DISABLE_SHORT_QSYNTAX +#define never() OCMNever() +#define times(n) OCMTimes(n) +#define atLeast(n) OCMAtLeast(n) +#define atMost(n) OCMAtMost(n) +#endif diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h new file mode 100644 index 0000000..6b68343 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMRecorder.h @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMockObject; +@class OCMInvocationMatcher; + +@interface OCMRecorder : NSProxy { + OCMockObject *mockObject; + OCMInvocationMatcher *invocationMatcher; + BOOL didRecordInvocation; + BOOL shouldReturnMockFromInit; +} + +- (instancetype)init; +- (instancetype)initWithMockObject:(OCMockObject *)aMockObject; + +- (void)setMockObject:(OCMockObject *)aMockObject; +- (void)setShouldReturnMockFromInit:(BOOL)flag; + +- (OCMInvocationMatcher *)invocationMatcher; +- (BOOL)didRecordInvocation; + +- (id)classMethod; +- (id)ignoringNonObjectArgs; + +@end + +@interface OCMRecorder (Properties) + +#define ignoringNonObjectArgs() _ignoringNonObjectArgs() +@property(nonatomic, readonly) OCMRecorder * (^_ignoringNonObjectArgs)(void); + +@end diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h new file mode 100644 index 0000000..cd1772e --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMStubRecorder.h @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import +#import + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +@class XCTestExpectation; +#endif + +@interface OCMStubRecorder : OCMRecorder + +- (id)andReturn:(id)anObject; +- (id)andReturnValue:(NSValue *)aValue; +- (id)andThrow:(NSException *)anException; +- (id)andPost:(NSNotification *)aNotification; +- (id)andCall:(SEL)selector onObject:(id)anObject; +- (id)andDo:(void (^)(NSInvocation *invocation))block; +- (id)andForwardToRealObject; + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +- (id)andFulfill:(XCTestExpectation *)expectation; +#endif + +@end + +@interface OCMStubRecorder (Properties) + +#define andReturn(aValue) \ + _andReturn(({ \ + __typeof__(aValue) _val = (aValue); \ + NSValue *_nsval = [NSValue value:&_val withObjCType:@encode(__typeof__(_val))]; \ + if (OCMIsObjectType(@encode(__typeof(_val)))) { \ + objc_setAssociatedObject(_nsval, \ + "OCMAssociatedBoxedValue", \ + *(__unsafe_unretained id *)(void *)&_val, \ + OBJC_ASSOCIATION_RETAIN); \ + } \ + _nsval; \ + })) +@property(nonatomic, readonly) OCMStubRecorder * (^_andReturn)(NSValue *); + +#define andThrow(anException) _andThrow(anException) +@property(nonatomic, readonly) OCMStubRecorder * (^_andThrow)(NSException *); + +#define andPost(aNotification) _andPost(aNotification) +@property(nonatomic, readonly) OCMStubRecorder * (^_andPost)(NSNotification *); + +#define andCall(anObject, aSelector) _andCall(anObject, aSelector) +@property(nonatomic, readonly) OCMStubRecorder * (^_andCall)(id, SEL); + +#define andDo(aBlock) _andDo(aBlock) +@property(nonatomic, readonly) OCMStubRecorder * (^_andDo)(void (^)(NSInvocation *)); + +#define andForwardToRealObject() _andForwardToRealObject() +@property(nonatomic, readonly) OCMStubRecorder * (^_andForwardToRealObject)(void); + +#if !defined(OCM_DISABLE_XCTEST_FEATURES) +#define andFulfill(anExpectation) _andFulfill(anExpectation) +@property(nonatomic, readonly) OCMStubRecorder * (^_andFulfill)(XCTestExpectation *); +#endif + +@property(nonatomic, readonly) OCMStubRecorder * (^_ignoringNonObjectArgs)(void); + +#define andBreak() \ + _andDo(^(NSInvocation * _invocation) { \ + __builtin_debugtrap(); \ + }) + +#define andLog(_format, ...) \ + _andDo(^(NSInvocation * _invocation) { \ + NSLog(_format, ##__VA_ARGS__); \ + }) + +@end diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMVerifier.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMVerifier.h new file mode 100644 index 0000000..217acdb --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMVerifier.h @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; + +@interface OCMVerifier : OCMRecorder + +@property(strong) OCMLocation *location; +@property(strong) OCMQuantifier *quantifier; + +- (id)withQuantifier:(OCMQuantifier *)quantifier; + +@end diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMock.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMock.h new file mode 100644 index 0000000..b1b3e14 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMock.h @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h new file mode 100644 index 0000000..6de97b2 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockMacros.h @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2014-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#ifdef OCM_DISABLE_SHORT_SYNTAX +#define OCM_DISABLE_SHORT_QSYNTAX +#endif + +#define OCMClassMock(cls) [OCMockObject niceMockForClass:cls] + +#define OCMStrictClassMock(cls) [OCMockObject mockForClass:cls] + +#define OCMProtocolMock(protocol) [OCMockObject niceMockForProtocol:protocol] + +#define OCMStrictProtocolMock(protocol) [OCMockObject mockForProtocol:protocol] + +#define OCMPartialMock(obj) [OCMockObject partialMockForObject:obj] + +#define OCMObserverMock() [OCMockObject observerMock] + +#define OCMStub(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginStubMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endStubMacro]; } recorder;); \ + }) + +#define OCMExpect(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginExpectMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endExpectMacro]; } recorder;); \ + }) + +#define OCMReject(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginRejectMacro]; OCMStubRecorder *recorder = nil; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { recorder = [OCMMacroState endRejectMacro]; } recorder;); \ + }) + +#define OCMClassMethod(invocation) \ + _OCMSilenceWarnings([[OCMMacroState globalState] switchToClassMethod]; invocation;); + +#ifndef OCM_DISABLE_SHORT_SYNTAX +#define ClassMethod(invocation) OCMClassMethod(invocation) +#endif + +#define OCMVerifyAll(mock) \ + [(OCMockObject *)mock verifyAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define OCMVerifyAllWithDelay(mock, delay) \ + [(OCMockObject *)mock verifyWithDelay:delay atLocation:OCMMakeLocation(self, __FILE__, __LINE__)] + +#define _OCMVerify(invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__)]; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { [OCMMacroState endVerifyMacro]; }); \ + }) + +#define _OCMVerifyWithQuantifier(quantifier, invocation) \ + ({ \ + _OCMSilenceWarnings( \ + [OCMMacroState beginVerifyMacroAtLocation:OCMMakeLocation(self, __FILE__, __LINE__) \ + withQuantifier:quantifier]; \ + @try { invocation; } @catch (...) { \ + [[OCMMacroState globalState] setInvocationDidThrow:YES]; \ + /* NOLINTNEXTLINE(google-objc-avoid-throwing-exception) */ \ + @throw; \ + } @finally { [OCMMacroState endVerifyMacro]; }); \ + }) + +// explanation for macros below here: +// https://stackoverflow.com/questions/3046889/optional-parameters-with-c-macros + +#define _OCMVerify_1(A) _OCMVerify(A) +#define _OCMVerify_2(A, B) _OCMVerifyWithQuantifier(A, B) +#define _OCMVerify_X(x, A, B, FUNC, ...) FUNC +#define OCMVerify(...) \ + _OCMVerify_X(, ##__VA_ARGS__, _OCMVerify_2(__VA_ARGS__), _OCMVerify_1(__VA_ARGS__)) + +#define _OCMSilenceWarnings(macro) \ + ({_Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ + _Pragma("clang diagnostic ignored \"-Wunused-getter-return-value\"") \ + _Pragma("clang diagnostic ignored \"-Wstrict-selector-match\"") \ + macro _Pragma("clang diagnostic pop")}) diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h new file mode 100644 index 0000000..b7f2304 --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Headers/OCMockObject.h @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2004-2021 Erik Doernenburg and contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use these files except in compliance with the License. You may obtain + * a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +#import + +@class OCMLocation; +@class OCMQuantifier; +@class OCMInvocationStub; +@class OCMStubRecorder; +@class OCMInvocationMatcher; +@class OCMInvocationExpectation; + +@interface OCMockObject : NSProxy { + BOOL isNice; + BOOL expectationOrderMatters; + NSMutableArray *stubs; + NSMutableArray *expectations; + NSMutableArray *exceptions; + NSMutableArray *invocations; +} + ++ (id)mockForClass:(Class)aClass; ++ (id)mockForProtocol:(Protocol *)aProtocol; ++ (id)partialMockForObject:(NSObject *)anObject; + ++ (id)niceMockForClass:(Class)aClass; ++ (id)niceMockForProtocol:(Protocol *)aProtocol; + ++ (id)observerMock __deprecated_msg("Please use XCTNSNotificationExpectation instead."); + +- (instancetype)init; + +- (void)setExpectationOrderMatters:(BOOL)flag; + +- (id)stub; +- (id)expect; +- (id)reject; + +- (id)verify; +- (id)verifyAtLocation:(OCMLocation *)location; + +- (void)verifyWithDelay:(NSTimeInterval)delay; +- (void)verifyWithDelay:(NSTimeInterval)delay atLocation:(OCMLocation *)location; + +- (void)stopMocking; + +// internal use only + +- (void)addStub:(OCMInvocationStub *)aStub; +- (void)addExpectation:(OCMInvocationExpectation *)anExpectation; +- (void)addInvocation:(NSInvocation *)anInvocation; + +- (BOOL)handleInvocation:(NSInvocation *)anInvocation; +- (void)handleUnRecordedInvocation:(NSInvocation *)anInvocation; +- (BOOL)handleSelector:(SEL)sel; + +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher atLocation:(OCMLocation *)location; +- (void)verifyInvocation:(OCMInvocationMatcher *)matcher + withQuantifier:(OCMQuantifier *)quantifier + atLocation:(OCMLocation *)location; +- (NSString *)descriptionForVerificationFailureWithMatcher:(OCMInvocationMatcher *)matcher + quantifier:(OCMQuantifier *)quantifier + invocationCount:(NSUInteger)count; + +@end diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Info.plist b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Info.plist new file mode 100644 index 0000000000000000000000000000000000000000..e8cf991d83ba53737491b96b254a729d99b119ca GIT binary patch literal 909 zcmZ8dO;6N77@nC`Kv8#=MFbQ@z)!Sk%U3)Z*n%QiAhaxMkfz%X-3e`{>9!m9V&YjZ zhLaZ~N6-8Le}PAD#*2wJFa81FmaT}>bmo1&-cH|o=<#MO%irk$CWTX{ySjVMob5e# z{z8$K`pW$m2QCc`4PPF*GII6W^|A4Z8{;=`-M({o(xl~ugnLfavKu^LYkG!EI#gL& zNCL-W8f!66ggy)64d!wYn6xj~7GE+uiLJWF{vnqgu<~8bB9o5f&gEcNXxxq=Z$<4I zi<(ev=jy8ELx*w>*DZU`a+%Q%fgR3Sy&eTX#z!|S9TUfSU0ccA&ol$d)VQS?Pi^6_ z?atX5DXsE=`-#7%cfuweT-6^Zz7=dR%Sp#r5n(&xZX@2=T!z7On=M&B_u4g8eWa-J z1`BFym8!7!;MYauO2YO5NJpGLE6K)Eb!%mFN_rrv#zR;Kqb8;EVdycVro+c!5+cfU z#iV1l@Fgo1C8)9?G$qe#`I7Bffh#GdTvL@NQ#0VDnJ;cN^CpHeC&?!5|DR83Lz$7~ zEoEk2ot7O#Q6*W>IaEOcg{X}p#F2{{C`O~`6TB*t;h9GFvr0u%z%6F3J*YHDF+c(A z0ji?}Y8QA5kOQX;dH}uBuBjRWj!^U99xb3AG>59dze4-y5Pe2p(Qn+1C-5wu$2zX# z7JiN2;C=iNAL1|g8~%ZR;$MW2F49X%WPl8kNurP%c|k&wkhkO=c~3qRiiHx&7Qsg+ K-2B8Ul>Yz#yav4h literal 0 HcmV?d00001 diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Modules/module.modulemap b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Modules/module.modulemap new file mode 100644 index 0000000..052ea7f --- /dev/null +++ b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/Modules/module.modulemap @@ -0,0 +1,7 @@ +framework module OCMock { + umbrella header "OCMock.h" export * + + module * { + export * + } +} diff --git a/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/OCMock b/ThirdParty/OCMock.xcframework/tvos-arm64_x86_64-simulator/OCMock.framework/OCMock new file mode 100755 index 0000000000000000000000000000000000000000..f6772a1bb1b245882f66eddf3bb8f110b933074c GIT binary patch literal 427216 zcmeFad3aPs_Q#z7Ex5!+r4=1e9Ek#og4!by8i^9^Xrd@0j*7V9t|+7xMFb5QX|L^$ zyEBfC`!cvAGhh%TxHB$*E4benMsZ_tq2JH<)VO4=n@2xspojP^u z)Tz3+UtTwBPDx2gyV8=9j(oQ-DH+1u+vjn;Ic1yiP3aK+hc4o3bKMsIiW(?tps0bO z28tReYM`irq6Uf@C~BanfuaVA8YpU@sDYveiW(?tps0bO28tReYM`irq6Uf@C~Ban zfuaVA8YpU@sDYveiW(?tps0bO28tReYM`irq6Uf@C~BanfuaVA8YpU@sDYveiW(?t zps0bO28tReYM`irq6Uf@C~BanfuaVA8YpVu|62{b@za0T@!)?c5B`^I#D9$cPCWJB zP}12LZOiBBRE{2fWYy6}T2bqdA-pA^@GrQJP^SM)g1XV8>&8r|%LA@QZ-}dV>Y)IJ z`*y*leRU|AQg}Oh^!U2eN#k=xZRtJrm8<$oAYOPMB6JGqsm=Ox^hTdP=IryvjI;aJ z?cH~UftB1A2o>JDQa;y{@8q%Pj?Xu^t$fSBc9_Y4fbKiwh^>Dydh}^0pFDcZgp