From 0e3d3df9221e92a599da1b5db4accbe76be73856 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ramos?= Date: Thu, 27 Jun 2019 15:29:07 -0700 Subject: [PATCH 1/2] Use CocoaPods-based RNTesterPods for iOS tests (#25416) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/25416 Use CocoaPods-based RNTesterPods workspace to run iOS unit tests and integration tests. This is necessary as new iOS projects now use CocoaPods by default. CocoaPods also powers the new package auto-linking feature. In order to provide test coverage for this new default configuration, our iOS tests are being migrated to use a CocoaPods-managed RNTester workspace. This applies to both Circle CI, and Sandcastle. Reviewed By: fkgozali Differential Revision: D15958209 fbshipit-source-id: 2becb98820789d5b76001dd7b12ba06c614d7c7d --- .circleci/config.yml | 126 +--- RNTester/.gitignore | 1 - RNTester/Gemfile | 4 + RNTester/Podfile | 22 +- RNTester/README.md | 13 +- RNTester/RNTesterIntegrationTests/Info.plist | 4 +- .../RCTRootViewIntegrationTests.m | 7 + .../RNTesterIntegrationTests.m | 5 + .../RNTesterSnapshotTests.m | 4 + .../RNTesterPods.xcodeproj/project.pbxproj | 678 +++++++++++++++--- .../xcshareddata/xcschemes/RNTester.xcscheme | 118 +++ .../RNTesterIntegrationTests.xcscheme | 116 +++ .../xcschemes/RNTesterUnitTests.xcscheme | 128 ++++ RNTester/RNTesterUnitTests/Info.plist | 4 +- .../OCMock/OCMStubRecorder.h | 2 +- RNTester/RNTesterUnitTests/OCMock/OCMock.h | 16 +- .../RNTesterUnitTests/RCTAllocationTests.m | 4 + .../RCTAnimationUtilsTests.m | 4 + .../RNTesterUnitTests/RCTBlobManagerTests.m | 4 + .../RCTComponentPropsTests.m | 4 + RNTester/RNTesterUnitTests/RCTDevMenuTests.m | 4 + .../RCTEventDispatcherTests.m | 2 +- RNTester/RNTesterUnitTests/RCTGzipTests.m | 4 + .../RNTesterUnitTests/RCTImageUtilTests.m | 4 + .../RCTModuleInitNotificationRaceTests.m | 2 +- .../RNTesterUnitTests/RCTModuleInitTests.m | 4 + .../RCTNativeAnimatedNodesManagerTests.m | 7 +- package.json | 2 +- scripts/objc-test-ios.sh | 31 - scripts/objc-test-tvos.sh | 31 - scripts/packager.sh | 5 +- 31 files changed, 1080 insertions(+), 280 deletions(-) delete mode 100644 RNTester/.gitignore create mode 100644 RNTester/Gemfile create mode 100644 RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTester.xcscheme create mode 100644 RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTesterIntegrationTests.xcscheme create mode 100644 RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTesterUnitTests.xcscheme delete mode 100755 scripts/objc-test-ios.sh delete mode 100755 scripts/objc-test-tvos.sh diff --git a/.circleci/config.yml b/.circleci/config.yml index 0232e905988ac9..5fe3d18c85038e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -34,7 +34,7 @@ executors: reactnativeios: <<: *defaults macos: - xcode: "10.2.0" + xcode: "10.2.1" # ------------------------- # COMMANDS @@ -117,6 +117,21 @@ commands: - ~/Library/Caches/Homebrew key: v1-brew + with_pods_cache_span: + parameters: + steps: + type: steps + steps: + - restore_cache: + keys: + - v1-pods-{{ checksum "RNTester/Podfile.lock" }} + - v1-pods- + - steps: << parameters.steps >> + - save_cache: + paths: + - RNTester/Pods + key: v1-pods-{{ checksum "RNTester/Podfile.lock" }} + download_gradle_dependencies: steps: - restore_cache: @@ -294,17 +309,23 @@ jobs: - setup_artifacts - run_yarn + - run: | + cd RNTester + bundle check || bundle install - run: - name: Print Xcode environment - command: xcodebuild -version + name: Boot iPhone Simulator + command: source scripts/.tests.env && xcrun simctl boot "$IOS_DEVICE" || true - run: - name: List available devices - command: instruments -s devices + name: Fetch CocoaPods Specs + command: | + curl https://cocoapods-specs.circleci.com/fetch-cocoapods-repo-from-s3.sh | bash -s cf - - run: - name: Boot iOS Simulator - command: source scripts/.tests.env && xcrun simctl boot "$IOS_DEVICE" || true + - with_pods_cache_span: + steps: + - run: + name: Generate RNTesterPods Workspace + command: cd RNTester && pod install --verbose - with_brew_cache_span: steps: @@ -312,93 +333,7 @@ jobs: package: watchman - run: touch .watchmanconfig - - run: - name: Start Metro packager - command: yarn start --max-workers=1 || echo "Can't start packager automatically" - background: true - - - run: - name: Start WebSocket test server - command: open "./IntegrationTests/launchWebSocketServer.command" || echo "Can't start web socket server automatically" - background: true - - - run: - name: Verify RNTester can be built - command: | - source ./scripts/.tests.env - xcodebuild \ - -project RNTester/RNTester.xcodeproj \ - -scheme RNTester \ - -sdk iphonesimulator \ - -destination "platform=iOS Simulator,name=$IOS_DEVICE,OS=$IOS_TARGET_OS" \ - -UseModernBuildSystem=NO \ - build | \ - xcpretty --report junit --output "$REPORTS_DIR/junit/ios_buiild/results.xml" && \ - exit "${PIPESTATUS[0]}" - - - run: - name: Wait for Metro packager - command: | - max_attempts=60 - attempt_num=1 - until curl -s http://localhost:8081/status | grep "packager-status:running" -q; do - if (( attempt_num == max_attempts )); then - echo "Packager did not respond in time. No more attempts left." - exit 1 - else - (( attempt_num++ )) - echo "Packager did not respond. Retrying for attempt number $attempt_num..." - sleep 1 - fi - done - echo "Packager is ready!" - - - run: - name: Preload the RNTesterApp bundles - command: | - curl --silent 'http://localhost:8081/RNTester/js/RNTesterApp.ios.bundle?platform=ios&dev=true' --output /dev/null - curl --silent 'http://localhost:8081/RNTester/js/RNTesterApp.ios.bundle?platform=ios&dev=true&minify=false' --output /dev/null - curl --silent 'http://localhost:8081/IntegrationTests/IntegrationTestsApp.bundle?platform=ios&dev=true' --output /dev/null - curl --silent 'http://localhost:8081/IntegrationTests/RCTRootViewIntegrationTestApp.bundle?platform=ios&dev=true' --output /dev/null - - - run: - name: Run RNTester Unit Tests - command: | - source ./scripts/.tests.env - xcodebuild \ - -project RNTester/RNTester.xcodeproj \ - -scheme RNTester \ - -sdk iphonesimulator \ - -destination "platform=iOS Simulator,name=$IOS_DEVICE,OS=$IOS_TARGET_OS" \ - -UseModernBuildSystem=NO \ - -only-testing:RNTesterUnitTests \ - build test | \ - xcpretty --report junit --output "$REPORTS_DIR/junit/ios_unit_tests/results.xml" && \ - exit "${PIPESTATUS[0]}" - - - run: - name: Run RNTester Integration Tests - command: | - source ./scripts/.tests.env - xcodebuild \ - -project RNTester/RNTester.xcodeproj \ - -scheme RNTester \ - -sdk iphonesimulator \ - -destination "platform=iOS Simulator,name=$IOS_DEVICE,OS=$IOS_TARGET_OS" \ - -UseModernBuildSystem=NO \ - -only-testing:RNTesterIntegrationTests \ - build test | \ - xcpretty --report junit --output "$REPORTS_DIR/junit/ios_integration_tests/results.xml" && \ - exit "${PIPESTATUS[0]}" - - - run: - name: Stop Metro packager and WebSocket test server - command: | - # kill whatever is occupying port 8081 (packager) - lsof -i tcp:8081 | awk 'NR!=1 {print $2}' | xargs kill - # kill whatever is occupying port 5555 (web socket server) - lsof -i tcp:5555 | awk 'NR!=1 {print $2}' | xargs kill - + - run: yarn test-ios - store_test_results: path: ~/reports/junit @@ -431,7 +366,6 @@ jobs: package: applesimutils - brew_install: package: watchman - # Configure Watchman - run: touch .watchmanconfig diff --git a/RNTester/.gitignore b/RNTester/.gitignore deleted file mode 100644 index 389a2b20c85b1c..00000000000000 --- a/RNTester/.gitignore +++ /dev/null @@ -1 +0,0 @@ -Pods/ diff --git a/RNTester/Gemfile b/RNTester/Gemfile new file mode 100644 index 00000000000000..81519cdc4d97da --- /dev/null +++ b/RNTester/Gemfile @@ -0,0 +1,4 @@ +# Gemfile +source 'https://rubygems.org' + +gem 'cocoapods', '= 1.7.1' diff --git a/RNTester/Podfile b/RNTester/Podfile index 01dc26ac2bb977..102c8daf604722 100644 --- a/RNTester/Podfile +++ b/RNTester/Podfile @@ -2,7 +2,7 @@ platform :ios, '9.0' require_relative '../scripts/autolink-ios' -target 'RNTester' do +def pods() # Uncomment for Swift # use_frameworks! @@ -21,3 +21,23 @@ target 'RNTester' do # To use fabric: add `fabric_enabled` option to the use_react_native method above, like below # use_react_native!(path: "..", turbo_modules_enabled: true, fabric_enabled: true) end + +target 'RNTester' do + pods() +end + +target 'RNTesterUnitTests' do + pods() + pod 'React-RCTTest', :path => "RCTTest" +end + +target 'RNTesterIntegrationTests' do + pods() + pod 'React-RCTTest', :path => "RCTTest" +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + puts target.name + end +end diff --git a/RNTester/README.md b/RNTester/README.md index f7d35ebe1396ff..33dfed103e0796 100644 --- a/RNTester/README.md +++ b/RNTester/README.md @@ -14,18 +14,9 @@ Before running the app, make sure you ran: Both macOS and Xcode are required. -- Open `RNTester/RNTester.xcodeproj` in Xcode -- Hit the Run button - -See [Running on device](https://facebook.github.io/react-native/docs/running-on-device.html) if you want to use a physical device. - -### Running on iOS with CocoaPods - -Similar to above, you can build the app via Xcode with help of CocoaPods. - -- Install [CocoaPods](http://facebook.github.io/react-native/docs/integration-with-existing-apps.html#3-install-cocoapods) +- Install CocoaPods. We installing CocoaPods using [Homebrew](http://brew.sh/): `brew install cocoapods` - Run `cd RNTester; pod install` -- Open the generated `RNTesterPods.xcworkspace` (this is not checked in). Do not open `RNTesterPods.xcodeproj` directly. +- Open the generated `RNTesterPods.xcworkspace`. This is not checked in, as it is generated by CocoaPods. Do not open `RNTesterPods.xcodeproj` directly. ### Running on Android diff --git a/RNTester/RNTesterIntegrationTests/Info.plist b/RNTester/RNTesterIntegrationTests/Info.plist index ba72822e8728ef..6c40a6cd0c4af2 100644 --- a/RNTester/RNTesterIntegrationTests/Info.plist +++ b/RNTester/RNTesterIntegrationTests/Info.plist @@ -3,7 +3,7 @@ CFBundleDevelopmentRegion - en + $(DEVELOPMENT_LANGUAGE) CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -16,8 +16,6 @@ BNDL CFBundleShortVersionString 1.0 - CFBundleSignature - ???? CFBundleVersion 1 diff --git a/RNTester/RNTesterIntegrationTests/RCTRootViewIntegrationTests.m b/RNTester/RNTesterIntegrationTests/RCTRootViewIntegrationTests.m index ec72c2b2fd37d7..02f1ce4b4978a4 100644 --- a/RNTester/RNTesterIntegrationTests/RCTRootViewIntegrationTests.m +++ b/RNTester/RNTesterIntegrationTests/RCTRootViewIntegrationTests.m @@ -9,10 +9,17 @@ #import #import +#if (defined(COCOAPODS)) +#import +#import +#import +#import +#else #import #import #import #import +#endif #define RCT_TEST_DATA_CONFIGURATION_BLOCK(appName, testType, input, block) \ - (void)DISABLED_test##appName##_##testType##_##input \ diff --git a/RNTester/RNTesterIntegrationTests/RNTesterIntegrationTests.m b/RNTester/RNTesterIntegrationTests/RNTesterIntegrationTests.m index 1fd0c0d52eef4b..dae14d4cbb2645 100644 --- a/RNTester/RNTesterIntegrationTests/RNTesterIntegrationTests.m +++ b/RNTester/RNTesterIntegrationTests/RNTesterIntegrationTests.m @@ -8,7 +8,11 @@ #import #import +#if (defined(COCOAPODS)) +#import +#else #import +#endif #define RCT_TEST(name) \ - (void)test##name \ @@ -76,3 +80,4 @@ - (void)testTheTester_waitOneFrame RCT_TEST(AccessibilityManagerTest) @end + diff --git a/RNTester/RNTesterIntegrationTests/RNTesterSnapshotTests.m b/RNTester/RNTesterIntegrationTests/RNTesterSnapshotTests.m index 55998e0bfb8bdc..935a15ca1afb30 100644 --- a/RNTester/RNTesterIntegrationTests/RNTesterSnapshotTests.m +++ b/RNTester/RNTesterIntegrationTests/RNTesterSnapshotTests.m @@ -9,7 +9,11 @@ #import #import +#if (defined(COCOAPODS)) +#import +#else #import +#endif @interface RNTesterSnapshotTests : XCTestCase { diff --git a/RNTester/RNTesterPods.xcodeproj/project.pbxproj b/RNTester/RNTesterPods.xcodeproj/project.pbxproj index 1d5629c85b9856..25e44b95c095f8 100644 --- a/RNTester/RNTesterPods.xcodeproj/project.pbxproj +++ b/RNTester/RNTesterPods.xcodeproj/project.pbxproj @@ -3,32 +3,70 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 50; objects = { /* Begin PBXBuildFile section */ 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; + 21A422067A416DD31A8C9E6B /* libPods-RNTesterIntegrationTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DC8BF45A723792FE216DDD4 /* libPods-RNTesterIntegrationTests.a */; }; 272E6B3F1BEA849E001FCF37 /* UpdatePropertiesExampleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.m */; }; 27F441EC1BEBE5030039B79C /* FlexibleSizeExampleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.m */; }; + 2B4F154B3D4EC0787495836D /* libPods-RNTesterUnitTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 25A31CF0ADE5D152C57F0E67 /* libPods-RNTesterUnitTests.a */; }; 2DDEF0101F84BF7B00DBDF73 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2DDEF00F1F84BF7B00DBDF73 /* Images.xcassets */; }; - 3D13F8481D6F6AF900E69E0E /* ImageInBundle.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D13F8441D6F6AF200E69E0E /* ImageInBundle.png */; }; - 3D13F84A1D6F6AFD00E69E0E /* OtherImages.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3D13F8451D6F6AF200E69E0E /* OtherImages.xcassets */; }; 3D2AFAF51D646CF80089D1A3 /* legacy_image@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */; }; - 3D56F9F11D6F6E9B00F53A06 /* RNTesterBundle.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 3D13F83E1D6F6AE000E69E0E /* RNTesterBundle.bundle */; }; 5C60EB1C226440DB0018C04F /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C60EB1B226440DB0018C04F /* AppDelegate.mm */; }; 5CB07C9B226467E60039471C /* RNTesterTurboModuleProvider.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CB07C99226467E60039471C /* RNTesterTurboModuleProvider.mm */; }; 68E1E4BC2230DF2F00570185 /* ComponentRegistry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 68E1E4BB2230DF2F00570185 /* ComponentRegistry.cpp */; }; B9C5BB1881F54450DBCA70F5 /* libPods-RNTester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8508AD3C1DC3509924E63948 /* libPods-RNTester.a */; }; + C480FE5FFE5B7C5430FA898E /* (null) in Frameworks */ = {isa = PBXBuildFile; }; + E7C1241A22BEC44B00DA25C0 /* RNTesterIntegrationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7C1241922BEC44B00DA25C0 /* RNTesterIntegrationTests.m */; }; + E7DB20D122B2BAA6005AC45F /* RCTBundleURLProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20A922B2BAA3005AC45F /* RCTBundleURLProviderTests.m */; }; + E7DB20D222B2BAA6005AC45F /* RCTModuleInitNotificationRaceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20AA22B2BAA3005AC45F /* RCTModuleInitNotificationRaceTests.m */; }; + E7DB20D322B2BAA6005AC45F /* RCTBlobManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20AB22B2BAA3005AC45F /* RCTBlobManagerTests.m */; }; + E7DB20D522B2BAA6005AC45F /* RCTPerformanceLoggerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20AD22B2BAA3005AC45F /* RCTPerformanceLoggerTests.m */; }; + E7DB20D622B2BAA6005AC45F /* RCTFontTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20AF22B2BAA4005AC45F /* RCTFontTests.m */; }; + E7DB20D722B2BAA6005AC45F /* RCTModuleInitTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20B022B2BAA4005AC45F /* RCTModuleInitTests.m */; }; + E7DB20D822B2BAA6005AC45F /* RCTJSONTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20B122B2BAA4005AC45F /* RCTJSONTests.m */; }; + E7DB20D922B2BAA6005AC45F /* RCTAnimationUtilsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20B222B2BAA4005AC45F /* RCTAnimationUtilsTests.m */; }; + E7DB20DA22B2BAA6005AC45F /* RNTesterUnitTestsBundle.js in Resources */ = {isa = PBXBuildFile; fileRef = E7DB20B322B2BAA4005AC45F /* RNTesterUnitTestsBundle.js */; }; + E7DB20DB22B2BAA6005AC45F /* RCTNativeAnimatedNodesManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20BE22B2BAA4005AC45F /* RCTNativeAnimatedNodesManagerTests.m */; }; + E7DB20DC22B2BAA6005AC45F /* RCTUIManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20BF22B2BAA4005AC45F /* RCTUIManagerTests.m */; }; + E7DB20DD22B2BAA6005AC45F /* RCTEventDispatcherTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20C022B2BAA4005AC45F /* RCTEventDispatcherTests.m */; }; + E7DB20DE22B2BAA6005AC45F /* RCTUnicodeDecodeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20C122B2BAA4005AC45F /* RCTUnicodeDecodeTests.m */; }; + E7DB20DF22B2BAA6005AC45F /* RCTImageLoaderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20C222B2BAA4005AC45F /* RCTImageLoaderTests.m */; }; + E7DB20E022B2BAA6005AC45F /* RCTMethodArgumentTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20C322B2BAA4005AC45F /* RCTMethodArgumentTests.m */; }; + E7DB20E122B2BAA6005AC45F /* RCTShadowViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20C422B2BAA4005AC45F /* RCTShadowViewTests.m */; }; + E7DB20E222B2BAA6005AC45F /* RCTGzipTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20C522B2BAA4005AC45F /* RCTGzipTests.m */; }; + E7DB20E322B2BAA6005AC45F /* RCTAllocationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20C622B2BAA5005AC45F /* RCTAllocationTests.m */; }; + E7DB20E422B2BAA6005AC45F /* RCTFormatErrorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20C722B2BAA5005AC45F /* RCTFormatErrorTests.m */; }; + E7DB20E522B2BAA6005AC45F /* RCTDevMenuTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20C822B2BAA5005AC45F /* RCTDevMenuTests.m */; }; + E7DB20E622B2BAA6005AC45F /* RCTImageLoaderHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20C922B2BAA5005AC45F /* RCTImageLoaderHelpers.m */; }; + E7DB20E722B2BAA6005AC45F /* RCTConvert_NSURLTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20CA22B2BAA5005AC45F /* RCTConvert_NSURLTests.m */; }; + E7DB20E822B2BAA6005AC45F /* RCTModuleMethodTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20CB22B2BAA5005AC45F /* RCTModuleMethodTests.mm */; }; + E7DB20E922B2BAA6005AC45F /* RCTComponentPropsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20CC22B2BAA5005AC45F /* RCTComponentPropsTests.m */; }; + E7DB20EA22B2BAA6005AC45F /* RCTImageUtilTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20CD22B2BAA5005AC45F /* RCTImageUtilTests.m */; }; + E7DB20EB22B2BAA6005AC45F /* RCTConvert_YGValueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20CE22B2BAA5005AC45F /* RCTConvert_YGValueTests.m */; }; + E7DB20EC22B2BAA6005AC45F /* RCTMultipartStreamReaderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20CF22B2BAA5005AC45F /* RCTMultipartStreamReaderTests.m */; }; + E7DB20ED22B2BAA6005AC45F /* RCTURLUtilsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB20D022B2BAA5005AC45F /* RCTURLUtilsTests.m */; }; + E7DB213122B2C649005AC45F /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7DB213022B2C649005AC45F /* JavaScriptCore.framework */; }; + E7DB213222B2C67D005AC45F /* libOCMock.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E7DB212422B2C342005AC45F /* libOCMock.a */; }; + E7DB216222B2F3EC005AC45F /* RNTesterTestModule.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB215D22B2F3EC005AC45F /* RNTesterTestModule.m */; }; + E7DB216322B2F3EC005AC45F /* RCTLoggingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB215E22B2F3EC005AC45F /* RCTLoggingTests.m */; }; + E7DB216422B2F3EC005AC45F /* RCTUIManagerScenarioTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB215F22B2F3EC005AC45F /* RCTUIManagerScenarioTests.m */; }; + E7DB216522B2F3EC005AC45F /* RNTesterSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB216022B2F3EC005AC45F /* RNTesterSnapshotTests.m */; }; + E7DB216622B2F3EC005AC45F /* RCTRootViewIntegrationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E7DB216122B2F3EC005AC45F /* RCTRootViewIntegrationTests.m */; }; + E7DB216722B2F69F005AC45F /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7DB213022B2C649005AC45F /* JavaScriptCore.framework */; }; + E7DB218C22B41FCD005AC45F /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E7DB218B22B41FCD005AC45F /* XCTest.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 3D13F84B1D6F6B5F00E69E0E /* PBXContainerItemProxy */ = { + E7DB215822B2F332005AC45F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; proxyType = 1; - remoteGlobalIDString = 3D13F83D1D6F6AE000E69E0E; - remoteInfo = RNTesterBundle; + remoteGlobalIDString = 13B07F861A680F5B00A75B9A; + remoteInfo = RNTester; }; /* End PBXContainerItemProxy section */ @@ -38,23 +76,102 @@ 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = RNTester/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = RNTester/main.m; sourceTree = ""; }; + 25A31CF0ADE5D152C57F0E67 /* libPods-RNTesterUnitTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTesterUnitTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 272E6B3B1BEA849E001FCF37 /* UpdatePropertiesExampleView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UpdatePropertiesExampleView.h; path = RNTester/NativeExampleViews/UpdatePropertiesExampleView.h; sourceTree = ""; }; 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UpdatePropertiesExampleView.m; path = RNTester/NativeExampleViews/UpdatePropertiesExampleView.m; sourceTree = ""; }; 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FlexibleSizeExampleView.m; path = RNTester/NativeExampleViews/FlexibleSizeExampleView.m; sourceTree = ""; }; 27F441EA1BEBE5030039B79C /* FlexibleSizeExampleView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FlexibleSizeExampleView.h; path = RNTester/NativeExampleViews/FlexibleSizeExampleView.h; sourceTree = ""; }; 2DDEF00F1F84BF7B00DBDF73 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = RNTester/Images.xcassets; sourceTree = ""; }; - 3D13F83E1D6F6AE000E69E0E /* RNTesterBundle.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RNTesterBundle.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - 3D13F8401D6F6AE000E69E0E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Info.plist; sourceTree = ""; }; - 3D13F8441D6F6AF200E69E0E /* ImageInBundle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ImageInBundle.png; sourceTree = ""; }; - 3D13F8451D6F6AF200E69E0E /* OtherImages.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = OtherImages.xcassets; sourceTree = ""; }; + 34028D6B10F47E490042EB27 /* Pods-RNTesterUnitTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTesterUnitTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-RNTesterUnitTests/Pods-RNTesterUnitTests.debug.xcconfig"; sourceTree = ""; }; 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "legacy_image@2x.png"; path = "RNTester/legacy_image@2x.png"; sourceTree = ""; }; 5BEC8567F3741044B6A5EFC5 /* Pods-RNTester.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTester.release.xcconfig"; path = "Pods/Target Support Files/Pods-RNTester/Pods-RNTester.release.xcconfig"; sourceTree = ""; }; 5C60EB1B226440DB0018C04F /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = RNTester/AppDelegate.mm; sourceTree = ""; }; 5CB07C99226467E60039471C /* RNTesterTurboModuleProvider.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RNTesterTurboModuleProvider.mm; path = RNTester/RNTesterTurboModuleProvider.mm; sourceTree = ""; }; 5CB07C9A226467E60039471C /* RNTesterTurboModuleProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RNTesterTurboModuleProvider.h; path = RNTester/RNTesterTurboModuleProvider.h; sourceTree = ""; }; + 5DC8BF45A723792FE216DDD4 /* libPods-RNTesterIntegrationTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTesterIntegrationTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 68E1E4BB2230DF2F00570185 /* ComponentRegistry.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentRegistry.cpp; sourceTree = ""; }; + 7D51F73F0DA20287418D98BD /* Pods-RNTesterIntegrationTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTesterIntegrationTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-RNTesterIntegrationTests/Pods-RNTesterIntegrationTests.release.xcconfig"; sourceTree = ""; }; 8508AD3C1DC3509924E63948 /* libPods-RNTester.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTester.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 972A459EE6CF8CC63531A088 /* Pods-RNTesterIntegrationTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTesterIntegrationTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-RNTesterIntegrationTests/Pods-RNTesterIntegrationTests.debug.xcconfig"; sourceTree = ""; }; 98233960D1D6A1977D1C7EAF /* Pods-RNTester.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTester.debug.xcconfig"; path = "Pods/Target Support Files/Pods-RNTester/Pods-RNTester.debug.xcconfig"; sourceTree = ""; }; + E771AEEA22B44E3100EA1189 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = RNTester/Info.plist; sourceTree = ""; }; + E7C1241922BEC44B00DA25C0 /* RNTesterIntegrationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNTesterIntegrationTests.m; sourceTree = ""; }; + E7DB209F22B2BA84005AC45F /* RNTesterUnitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RNTesterUnitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB20A322B2BA84005AC45F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + E7DB20A922B2BAA3005AC45F /* RCTBundleURLProviderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTBundleURLProviderTests.m; sourceTree = ""; }; + E7DB20AA22B2BAA3005AC45F /* RCTModuleInitNotificationRaceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTModuleInitNotificationRaceTests.m; sourceTree = ""; }; + E7DB20AB22B2BAA3005AC45F /* RCTBlobManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTBlobManagerTests.m; sourceTree = ""; }; + E7DB20AD22B2BAA3005AC45F /* RCTPerformanceLoggerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTPerformanceLoggerTests.m; sourceTree = ""; }; + E7DB20AE22B2BAA4005AC45F /* RCTImageLoaderHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTImageLoaderHelpers.h; sourceTree = ""; }; + E7DB20AF22B2BAA4005AC45F /* RCTFontTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTFontTests.m; sourceTree = ""; }; + E7DB20B022B2BAA4005AC45F /* RCTModuleInitTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTModuleInitTests.m; sourceTree = ""; }; + E7DB20B122B2BAA4005AC45F /* RCTJSONTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTJSONTests.m; sourceTree = ""; }; + E7DB20B222B2BAA4005AC45F /* RCTAnimationUtilsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTAnimationUtilsTests.m; sourceTree = ""; }; + E7DB20B322B2BAA4005AC45F /* RNTesterUnitTestsBundle.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = RNTesterUnitTestsBundle.js; sourceTree = ""; }; + E7DB20BE22B2BAA4005AC45F /* RCTNativeAnimatedNodesManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTNativeAnimatedNodesManagerTests.m; sourceTree = ""; }; + E7DB20BF22B2BAA4005AC45F /* RCTUIManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTUIManagerTests.m; sourceTree = ""; }; + E7DB20C022B2BAA4005AC45F /* RCTEventDispatcherTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTEventDispatcherTests.m; sourceTree = ""; }; + E7DB20C122B2BAA4005AC45F /* RCTUnicodeDecodeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTUnicodeDecodeTests.m; sourceTree = ""; }; + E7DB20C222B2BAA4005AC45F /* RCTImageLoaderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTImageLoaderTests.m; sourceTree = ""; }; + E7DB20C322B2BAA4005AC45F /* RCTMethodArgumentTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTMethodArgumentTests.m; sourceTree = ""; }; + E7DB20C422B2BAA4005AC45F /* RCTShadowViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTShadowViewTests.m; sourceTree = ""; }; + E7DB20C522B2BAA4005AC45F /* RCTGzipTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTGzipTests.m; sourceTree = ""; }; + E7DB20C622B2BAA5005AC45F /* RCTAllocationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTAllocationTests.m; sourceTree = ""; }; + E7DB20C722B2BAA5005AC45F /* RCTFormatErrorTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTFormatErrorTests.m; sourceTree = ""; }; + E7DB20C822B2BAA5005AC45F /* RCTDevMenuTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTDevMenuTests.m; sourceTree = ""; }; + E7DB20C922B2BAA5005AC45F /* RCTImageLoaderHelpers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTImageLoaderHelpers.m; sourceTree = ""; }; + E7DB20CA22B2BAA5005AC45F /* RCTConvert_NSURLTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTConvert_NSURLTests.m; sourceTree = ""; }; + E7DB20CB22B2BAA5005AC45F /* RCTModuleMethodTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RCTModuleMethodTests.mm; sourceTree = ""; }; + E7DB20CC22B2BAA5005AC45F /* RCTComponentPropsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTComponentPropsTests.m; sourceTree = ""; }; + E7DB20CD22B2BAA5005AC45F /* RCTImageUtilTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTImageUtilTests.m; sourceTree = ""; }; + E7DB20CE22B2BAA5005AC45F /* RCTConvert_YGValueTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTConvert_YGValueTests.m; sourceTree = ""; }; + E7DB20CF22B2BAA5005AC45F /* RCTMultipartStreamReaderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTMultipartStreamReaderTests.m; sourceTree = ""; }; + E7DB20D022B2BAA5005AC45F /* RCTURLUtilsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTURLUtilsTests.m; sourceTree = ""; }; + E7DB20F022B2BD53005AC45F /* libDoubleConversion.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libDoubleConversion.a; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB20F222B2BD53005AC45F /* libFolly.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libFolly.a; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB20F422B2BD53005AC45F /* libglog.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libglog.a; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB20F822B2BD53005AC45F /* libReact-ART.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-ART.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB20FA22B2BD53005AC45F /* libReact-Core.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-Core.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB20FC22B2BD53005AC45F /* libReact-cxxreact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-cxxreact.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB20FE22B2BD53005AC45F /* libReact-DevSupport.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-DevSupport.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB210022B2BD53005AC45F /* libReact-jscallinvoker.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-jscallinvoker.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB210222B2BD53005AC45F /* libReact-jsi.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-jsi.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB210422B2BD53005AC45F /* libReact-jsiexecutor.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-jsiexecutor.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB210622B2BD53005AC45F /* libReact-jsinspector.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-jsinspector.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB210822B2BD53005AC45F /* libReact-RCTActionSheet.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-RCTActionSheet.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB210A22B2BD53005AC45F /* libReact-RCTAnimation.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-RCTAnimation.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB210C22B2BD53005AC45F /* libReact-RCTBlob.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-RCTBlob.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB210E22B2BD53005AC45F /* libReact-RCTImage.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-RCTImage.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB211022B2BD53005AC45F /* libReact-RCTLinking.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-RCTLinking.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB211222B2BD53005AC45F /* libReact-RCTNetwork.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-RCTNetwork.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB211422B2BD53005AC45F /* libReact-RCTPushNotification.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-RCTPushNotification.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB211622B2BD53005AC45F /* libReact-RCTSettings.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-RCTSettings.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB211822B2BD53005AC45F /* libReact-RCTText.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-RCTText.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB211A22B2BD53005AC45F /* libReact-RCTVibration.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-RCTVibration.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB211C22B2BD53005AC45F /* libReact-RCTWebSocket.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-RCTWebSocket.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB211E22B2BD53005AC45F /* libReact-turbomodule-core.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-turbomodule-core.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB212022B2BD53005AC45F /* libReact-turbomodule-samples.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libReact-turbomodule-samples.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB212222B2BD53005AC45F /* libyoga.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libyoga.a; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB212422B2C342005AC45F /* libOCMock.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libOCMock.a; sourceTree = ""; }; + E7DB212622B2C342005AC45F /* OCMockObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMockObject.h; sourceTree = ""; }; + E7DB212722B2C342005AC45F /* OCMMacroState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMMacroState.h; sourceTree = ""; }; + E7DB212822B2C342005AC45F /* OCMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMock.h; sourceTree = ""; }; + E7DB212922B2C342005AC45F /* NSNotificationCenter+OCMAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSNotificationCenter+OCMAdditions.h"; sourceTree = ""; }; + E7DB212A22B2C342005AC45F /* OCMStubRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMStubRecorder.h; sourceTree = ""; }; + E7DB212B22B2C342005AC45F /* OCMRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMRecorder.h; sourceTree = ""; }; + E7DB212C22B2C342005AC45F /* OCMLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMLocation.h; sourceTree = ""; }; + E7DB212D22B2C342005AC45F /* OCMConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMConstraint.h; sourceTree = ""; }; + E7DB212E22B2C342005AC45F /* OCMArg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMArg.h; sourceTree = ""; }; + E7DB213022B2C649005AC45F /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; + E7DB215322B2F332005AC45F /* RNTesterIntegrationTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RNTesterIntegrationTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + E7DB215722B2F332005AC45F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + E7DB215D22B2F3EC005AC45F /* RNTesterTestModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNTesterTestModule.m; sourceTree = ""; }; + E7DB215E22B2F3EC005AC45F /* RCTLoggingTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTLoggingTests.m; sourceTree = ""; }; + E7DB215F22B2F3EC005AC45F /* RCTUIManagerScenarioTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTUIManagerScenarioTests.m; sourceTree = ""; }; + E7DB216022B2F3EC005AC45F /* RNTesterSnapshotTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNTesterSnapshotTests.m; sourceTree = ""; }; + E7DB216122B2F3EC005AC45F /* RCTRootViewIntegrationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTRootViewIntegrationTests.m; sourceTree = ""; }; + E7DB218B22B41FCD005AC45F /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + E9618482EC8608D4872A6E28 /* Pods-RNTesterUnitTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTesterUnitTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-RNTesterUnitTests/Pods-RNTesterUnitTests.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -63,13 +180,27 @@ buildActionMask = 2147483647; files = ( B9C5BB1881F54450DBCA70F5 /* libPods-RNTester.a in Frameworks */, + C480FE5FFE5B7C5430FA898E /* (null) in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3D13F83B1D6F6AE000E69E0E /* Frameworks */ = { + E7DB209C22B2BA84005AC45F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + E7DB213122B2C649005AC45F /* JavaScriptCore.framework in Frameworks */, + E7DB213222B2C67D005AC45F /* libOCMock.a in Frameworks */, + 2B4F154B3D4EC0787495836D /* libPods-RNTesterUnitTests.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E7DB215022B2F332005AC45F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + E7DB218C22B41FCD005AC45F /* XCTest.framework in Frameworks */, + E7DB216722B2F69F005AC45F /* JavaScriptCore.framework in Frameworks */, + 21A422067A416DD31A8C9E6B /* libPods-RNTesterIntegrationTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -88,6 +219,7 @@ 13B07FAE1A68108700A75B9A /* RNTester */ = { isa = PBXGroup; children = ( + E771AEEA22B44E3100EA1189 /* Info.plist */, 13B07FAF1A68108700A75B9A /* AppDelegate.h */, 5C60EB1B226440DB0018C04F /* AppDelegate.mm */, 5CB07C9A226467E60039471C /* RNTesterTurboModuleProvider.h */, @@ -116,27 +248,49 @@ 2DE7E7D81FB2A4F3009E225D /* Frameworks */ = { isa = PBXGroup; children = ( + E7DB218B22B41FCD005AC45F /* XCTest.framework */, + E7DB213022B2C649005AC45F /* JavaScriptCore.framework */, + E7DB20F022B2BD53005AC45F /* libDoubleConversion.a */, + E7DB20F222B2BD53005AC45F /* libFolly.a */, + E7DB20F422B2BD53005AC45F /* libglog.a */, + E7DB20F822B2BD53005AC45F /* libReact-ART.a */, + E7DB20FA22B2BD53005AC45F /* libReact-Core.a */, + E7DB20FC22B2BD53005AC45F /* libReact-cxxreact.a */, + E7DB20FE22B2BD53005AC45F /* libReact-DevSupport.a */, + E7DB210022B2BD53005AC45F /* libReact-jscallinvoker.a */, + E7DB210222B2BD53005AC45F /* libReact-jsi.a */, + E7DB210422B2BD53005AC45F /* libReact-jsiexecutor.a */, + E7DB210622B2BD53005AC45F /* libReact-jsinspector.a */, + E7DB210822B2BD53005AC45F /* libReact-RCTActionSheet.a */, + E7DB210A22B2BD53005AC45F /* libReact-RCTAnimation.a */, + E7DB210C22B2BD53005AC45F /* libReact-RCTBlob.a */, + E7DB210E22B2BD53005AC45F /* libReact-RCTImage.a */, + E7DB211022B2BD53005AC45F /* libReact-RCTLinking.a */, + E7DB211222B2BD53005AC45F /* libReact-RCTNetwork.a */, + E7DB211422B2BD53005AC45F /* libReact-RCTPushNotification.a */, + E7DB211622B2BD53005AC45F /* libReact-RCTSettings.a */, + E7DB211822B2BD53005AC45F /* libReact-RCTText.a */, + E7DB211A22B2BD53005AC45F /* libReact-RCTVibration.a */, + E7DB211C22B2BD53005AC45F /* libReact-RCTWebSocket.a */, + E7DB211E22B2BD53005AC45F /* libReact-turbomodule-core.a */, + E7DB212022B2BD53005AC45F /* libReact-turbomodule-samples.a */, + E7DB212222B2BD53005AC45F /* libyoga.a */, 8508AD3C1DC3509924E63948 /* libPods-RNTester.a */, + 5DC8BF45A723792FE216DDD4 /* libPods-RNTesterIntegrationTests.a */, + 25A31CF0ADE5D152C57F0E67 /* libPods-RNTesterUnitTests.a */, ); name = Frameworks; sourceTree = ""; }; - 3D13F83F1D6F6AE000E69E0E /* RNTesterBundle */ = { - isa = PBXGroup; - children = ( - 3D13F8401D6F6AE000E69E0E /* Info.plist */, - 3D13F8441D6F6AF200E69E0E /* ImageInBundle.png */, - 3D13F8451D6F6AF200E69E0E /* OtherImages.xcassets */, - ); - name = RNTesterBundle; - path = RNTester/RNTesterBundle; - sourceTree = ""; - }; 571A4A20844C3BA40A3D302B /* Pods */ = { isa = PBXGroup; children = ( 98233960D1D6A1977D1C7EAF /* Pods-RNTester.debug.xcconfig */, 5BEC8567F3741044B6A5EFC5 /* Pods-RNTester.release.xcconfig */, + 972A459EE6CF8CC63531A088 /* Pods-RNTesterIntegrationTests.debug.xcconfig */, + 7D51F73F0DA20287418D98BD /* Pods-RNTesterIntegrationTests.release.xcconfig */, + 34028D6B10F47E490042EB27 /* Pods-RNTesterUnitTests.debug.xcconfig */, + E9618482EC8608D4872A6E28 /* Pods-RNTesterUnitTests.release.xcconfig */, ); name = Pods; sourceTree = ""; @@ -153,7 +307,8 @@ isa = PBXGroup; children = ( 13B07FAE1A68108700A75B9A /* RNTester */, - 3D13F83F1D6F6AE000E69E0E /* RNTesterBundle */, + E7DB20A022B2BA84005AC45F /* RNTesterUnitTests */, + E7DB215422B2F332005AC45F /* RNTesterIntegrationTests */, 83CBBA001A601CBA00E9B192 /* Products */, 2DE7E7D81FB2A4F3009E225D /* Frameworks */, 571A4A20844C3BA40A3D302B /* Pods */, @@ -167,11 +322,81 @@ isa = PBXGroup; children = ( 13B07F961A680F5B00A75B9A /* RNTester.app */, - 3D13F83E1D6F6AE000E69E0E /* RNTesterBundle.bundle */, + E7DB209F22B2BA84005AC45F /* RNTesterUnitTests.xctest */, + E7DB215322B2F332005AC45F /* RNTesterIntegrationTests.xctest */, ); name = Products; sourceTree = ""; }; + E7DB20A022B2BA84005AC45F /* RNTesterUnitTests */ = { + isa = PBXGroup; + children = ( + E7DB20A322B2BA84005AC45F /* Info.plist */, + E7DB20C622B2BAA5005AC45F /* RCTAllocationTests.m */, + E7DB20B222B2BAA4005AC45F /* RCTAnimationUtilsTests.m */, + E7DB20AB22B2BAA3005AC45F /* RCTBlobManagerTests.m */, + E7DB20A922B2BAA3005AC45F /* RCTBundleURLProviderTests.m */, + E7DB20CC22B2BAA5005AC45F /* RCTComponentPropsTests.m */, + E7DB20CA22B2BAA5005AC45F /* RCTConvert_NSURLTests.m */, + E7DB20CE22B2BAA5005AC45F /* RCTConvert_YGValueTests.m */, + E7DB20C822B2BAA5005AC45F /* RCTDevMenuTests.m */, + E7DB20C022B2BAA4005AC45F /* RCTEventDispatcherTests.m */, + E7DB20AF22B2BAA4005AC45F /* RCTFontTests.m */, + E7DB20C722B2BAA5005AC45F /* RCTFormatErrorTests.m */, + E7DB20C522B2BAA4005AC45F /* RCTGzipTests.m */, + E7DB20AE22B2BAA4005AC45F /* RCTImageLoaderHelpers.h */, + E7DB20C922B2BAA5005AC45F /* RCTImageLoaderHelpers.m */, + E7DB20C222B2BAA4005AC45F /* RCTImageLoaderTests.m */, + E7DB20CD22B2BAA5005AC45F /* RCTImageUtilTests.m */, + E7DB20B122B2BAA4005AC45F /* RCTJSONTests.m */, + E7DB20C322B2BAA4005AC45F /* RCTMethodArgumentTests.m */, + E7DB20AA22B2BAA3005AC45F /* RCTModuleInitNotificationRaceTests.m */, + E7DB20B022B2BAA4005AC45F /* RCTModuleInitTests.m */, + E7DB20CB22B2BAA5005AC45F /* RCTModuleMethodTests.mm */, + E7DB20CF22B2BAA5005AC45F /* RCTMultipartStreamReaderTests.m */, + E7DB20BE22B2BAA4005AC45F /* RCTNativeAnimatedNodesManagerTests.m */, + E7DB20AD22B2BAA3005AC45F /* RCTPerformanceLoggerTests.m */, + E7DB20C422B2BAA4005AC45F /* RCTShadowViewTests.m */, + E7DB20BF22B2BAA4005AC45F /* RCTUIManagerTests.m */, + E7DB20C122B2BAA4005AC45F /* RCTUnicodeDecodeTests.m */, + E7DB20D022B2BAA5005AC45F /* RCTURLUtilsTests.m */, + E7DB212422B2C342005AC45F /* libOCMock.a */, + E7DB212522B2C342005AC45F /* OCMock */, + E7DB20B322B2BAA4005AC45F /* RNTesterUnitTestsBundle.js */, + ); + path = RNTesterUnitTests; + sourceTree = ""; + }; + E7DB212522B2C342005AC45F /* OCMock */ = { + isa = PBXGroup; + children = ( + E7DB212622B2C342005AC45F /* OCMockObject.h */, + E7DB212722B2C342005AC45F /* OCMMacroState.h */, + E7DB212822B2C342005AC45F /* OCMock.h */, + E7DB212922B2C342005AC45F /* NSNotificationCenter+OCMAdditions.h */, + E7DB212A22B2C342005AC45F /* OCMStubRecorder.h */, + E7DB212B22B2C342005AC45F /* OCMRecorder.h */, + E7DB212C22B2C342005AC45F /* OCMLocation.h */, + E7DB212D22B2C342005AC45F /* OCMConstraint.h */, + E7DB212E22B2C342005AC45F /* OCMArg.h */, + ); + path = OCMock; + sourceTree = ""; + }; + E7DB215422B2F332005AC45F /* RNTesterIntegrationTests */ = { + isa = PBXGroup; + children = ( + E7C1241922BEC44B00DA25C0 /* RNTesterIntegrationTests.m */, + E7DB215E22B2F3EC005AC45F /* RCTLoggingTests.m */, + E7DB216122B2F3EC005AC45F /* RCTRootViewIntegrationTests.m */, + E7DB215F22B2F3EC005AC45F /* RCTUIManagerScenarioTests.m */, + E7DB216022B2F3EC005AC45F /* RNTesterSnapshotTests.m */, + E7DB215D22B2F3EC005AC45F /* RNTesterTestModule.m */, + E7DB215722B2F332005AC45F /* Info.plist */, + ); + path = RNTesterIntegrationTests; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -189,29 +414,48 @@ buildRules = ( ); dependencies = ( - 3D13F84C1D6F6B5F00E69E0E /* PBXTargetDependency */, ); name = RNTester; productName = "Hello World"; productReference = 13B07F961A680F5B00A75B9A /* RNTester.app */; productType = "com.apple.product-type.application"; }; - 3D13F83D1D6F6AE000E69E0E /* RNTesterBundle */ = { + E7DB209E22B2BA84005AC45F /* RNTesterUnitTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 3D13F8411D6F6AE000E69E0E /* Build configuration list for PBXNativeTarget "RNTesterBundle" */; + buildConfigurationList = E7DB20A622B2BA84005AC45F /* Build configuration list for PBXNativeTarget "RNTesterUnitTests" */; buildPhases = ( - 3D13F83A1D6F6AE000E69E0E /* Sources */, - 3D13F83B1D6F6AE000E69E0E /* Frameworks */, - 3D13F83C1D6F6AE000E69E0E /* Resources */, + 64C8C8D2305EEDFDE304A0E6 /* [CP] Check Pods Manifest.lock */, + E7DB209B22B2BA84005AC45F /* Sources */, + E7DB209C22B2BA84005AC45F /* Frameworks */, + E7DB209D22B2BA84005AC45F /* Resources */, ); buildRules = ( ); dependencies = ( ); - name = RNTesterBundle; - productName = RNTesterBundle; - productReference = 3D13F83E1D6F6AE000E69E0E /* RNTesterBundle.bundle */; - productType = "com.apple.product-type.bundle"; + name = RNTesterUnitTests; + productName = RNTesterUnitTests; + productReference = E7DB209F22B2BA84005AC45F /* RNTesterUnitTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + E7DB215222B2F332005AC45F /* RNTesterIntegrationTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = E7DB215A22B2F332005AC45F /* Build configuration list for PBXNativeTarget "RNTesterIntegrationTests" */; + buildPhases = ( + 56D84768A7BBB2750D674CF3 /* [CP] Check Pods Manifest.lock */, + E7DB214F22B2F332005AC45F /* Sources */, + E7DB215022B2F332005AC45F /* Frameworks */, + E7DB215122B2F332005AC45F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + E7DB215922B2F332005AC45F /* PBXTargetDependency */, + ); + name = RNTesterIntegrationTests; + productName = RNTesterIntegrationTests; + productReference = E7DB215322B2F332005AC45F /* RNTesterIntegrationTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ @@ -222,16 +466,17 @@ LastUpgradeCheck = 0940; ORGANIZATIONNAME = Facebook; TargetAttributes = { - 13B07F861A680F5B00A75B9A = { - DevelopmentTeam = V9WTTPBFK9; + E7DB209E22B2BA84005AC45F = { + CreatedOnToolsVersion = 10.2.1; }; - 3D13F83D1D6F6AE000E69E0E = { - CreatedOnToolsVersion = 7.3.1; + E7DB215222B2F332005AC45F = { + CreatedOnToolsVersion = 10.2.1; + TestTargetID = 13B07F861A680F5B00A75B9A; }; }; }; buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "RNTesterPods" */; - compatibilityVersion = "Xcode 3.2"; + compatibilityVersion = "Xcode 9.3"; developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( @@ -245,7 +490,8 @@ projectRoot = ""; targets = ( 13B07F861A680F5B00A75B9A /* RNTester */, - 3D13F83D1D6F6AE000E69E0E /* RNTesterBundle */, + E7DB209E22B2BA84005AC45F /* RNTesterUnitTests */, + E7DB215222B2F332005AC45F /* RNTesterIntegrationTests */, ); }; /* End PBXProject section */ @@ -255,25 +501,52 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3D56F9F11D6F6E9B00F53A06 /* RNTesterBundle.bundle in Resources */, 2DDEF0101F84BF7B00DBDF73 /* Images.xcassets in Resources */, 3D2AFAF51D646CF80089D1A3 /* legacy_image@2x.png in Resources */, 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3D13F83C1D6F6AE000E69E0E /* Resources */ = { + E7DB209D22B2BA84005AC45F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E7DB20DA22B2BAA6005AC45F /* RNTesterUnitTestsBundle.js in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E7DB215122B2F332005AC45F /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3D13F8481D6F6AF900E69E0E /* ImageInBundle.png in Resources */, - 3D13F84A1D6F6AFD00E69E0E /* OtherImages.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 56D84768A7BBB2750D674CF3 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RNTesterIntegrationTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; 5CF0FD27207FC6EC00C13D65 /* Start Metro */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -289,6 +562,28 @@ shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n"; showEnvVarsInLog = 0; }; + 64C8C8D2305EEDFDE304A0E6 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RNTesterUnitTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; 68CD48B71D2BCB2C007E06A9 /* Build JS Bundle */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -301,7 +596,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "export NODE_BINARY=node\n$SRCROOT/../scripts/react-native-xcode.sh RNTester/js/RNTesterApp.ios.js"; + shellScript = "export NODE_BINARY=node\nPROJECT_ROOT=$SRCROOT/.. $SRCROOT/../scripts/react-native-xcode.sh RNTester/js/RNTesterApp.ios.js\n"; }; F9CB97B0D9633939D43E75E0 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; @@ -337,20 +632,60 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3D13F83A1D6F6AE000E69E0E /* Sources */ = { + E7DB209B22B2BA84005AC45F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E7DB20DF22B2BAA6005AC45F /* RCTImageLoaderTests.m in Sources */, + E7DB20D222B2BAA6005AC45F /* RCTModuleInitNotificationRaceTests.m in Sources */, + E7DB20D522B2BAA6005AC45F /* RCTPerformanceLoggerTests.m in Sources */, + E7DB20D922B2BAA6005AC45F /* RCTAnimationUtilsTests.m in Sources */, + E7DB20D122B2BAA6005AC45F /* RCTBundleURLProviderTests.m in Sources */, + E7DB20EC22B2BAA6005AC45F /* RCTMultipartStreamReaderTests.m in Sources */, + E7DB20E022B2BAA6005AC45F /* RCTMethodArgumentTests.m in Sources */, + E7DB20E822B2BAA6005AC45F /* RCTModuleMethodTests.mm in Sources */, + E7DB20E222B2BAA6005AC45F /* RCTGzipTests.m in Sources */, + E7DB20ED22B2BAA6005AC45F /* RCTURLUtilsTests.m in Sources */, + E7DB20D322B2BAA6005AC45F /* RCTBlobManagerTests.m in Sources */, + E7DB20DC22B2BAA6005AC45F /* RCTUIManagerTests.m in Sources */, + E7DB20E322B2BAA6005AC45F /* RCTAllocationTests.m in Sources */, + E7DB20E622B2BAA6005AC45F /* RCTImageLoaderHelpers.m in Sources */, + E7DB20D622B2BAA6005AC45F /* RCTFontTests.m in Sources */, + E7DB20DB22B2BAA6005AC45F /* RCTNativeAnimatedNodesManagerTests.m in Sources */, + E7DB20E722B2BAA6005AC45F /* RCTConvert_NSURLTests.m in Sources */, + E7DB20DD22B2BAA6005AC45F /* RCTEventDispatcherTests.m in Sources */, + E7DB20E122B2BAA6005AC45F /* RCTShadowViewTests.m in Sources */, + E7DB20EA22B2BAA6005AC45F /* RCTImageUtilTests.m in Sources */, + E7DB20D722B2BAA6005AC45F /* RCTModuleInitTests.m in Sources */, + E7DB20E522B2BAA6005AC45F /* RCTDevMenuTests.m in Sources */, + E7DB20DE22B2BAA6005AC45F /* RCTUnicodeDecodeTests.m in Sources */, + E7DB20E422B2BAA6005AC45F /* RCTFormatErrorTests.m in Sources */, + E7DB20EB22B2BAA6005AC45F /* RCTConvert_YGValueTests.m in Sources */, + E7DB20E922B2BAA6005AC45F /* RCTComponentPropsTests.m in Sources */, + E7DB20D822B2BAA6005AC45F /* RCTJSONTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E7DB214F22B2F332005AC45F /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + E7DB216222B2F3EC005AC45F /* RNTesterTestModule.m in Sources */, + E7C1241A22BEC44B00DA25C0 /* RNTesterIntegrationTests.m in Sources */, + E7DB216322B2F3EC005AC45F /* RCTLoggingTests.m in Sources */, + E7DB216622B2F3EC005AC45F /* RCTRootViewIntegrationTests.m in Sources */, + E7DB216422B2F3EC005AC45F /* RCTUIManagerScenarioTests.m in Sources */, + E7DB216522B2F3EC005AC45F /* RNTesterSnapshotTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 3D13F84C1D6F6B5F00E69E0E /* PBXTargetDependency */ = { + E7DB215922B2F332005AC45F /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 3D13F83D1D6F6AE000E69E0E /* RNTesterBundle */; - targetProxy = 3D13F84B1D6F6B5F00E69E0E /* PBXContainerItemProxy */; + target = 13B07F861A680F5B00A75B9A /* RNTester */; + targetProxy = E7DB215822B2F332005AC45F /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -373,7 +708,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; - DEVELOPMENT_TEAM = V9WTTPBFK9; + DEVELOPMENT_TEAM = ""; HEADER_SEARCH_PATHS = ( "$(inherited)", "\"${PODS_ROOT}/Headers/Public\"", @@ -409,6 +744,38 @@ IPHONEOS_DEPLOYMENT_TARGET = 9.0; LIBRARY_SEARCH_PATHS = "$(inherited)"; OTHER_CFLAGS = "$(inherited)"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-l\"DoubleConversion\"", + "-l\"Folly\"", + "-l\"React-ART\"", + "-l\"React-Core\"", + "-l\"React-DevSupport\"", + "-l\"React-RCTActionSheet\"", + "-l\"React-RCTAnimation\"", + "-l\"React-RCTBlob\"", + "-l\"React-RCTImage\"", + "-l\"React-RCTLinking\"", + "-l\"React-RCTNetwork\"", + "-l\"React-RCTPushNotification\"", + "-l\"React-RCTSettings\"", + "-l\"React-RCTText\"", + "-l\"React-RCTVibration\"", + "-l\"React-RCTWebSocket\"", + "-l\"React-cxxreact\"", + "-l\"React-jscallinvoker\"", + "-l\"React-jsi\"", + "-l\"React-jsiexecutor\"", + "-l\"React-jsinspector\"", + "-l\"React-turbomodule-core\"", + "-l\"React-turbomodule-samples\"", + "-l\"glog\"", + "-l\"stdc++\"", + "-l\"yoga\"", + "-framework", + "\"JavaScriptCore\"", + ); PRODUCT_BUNDLE_IDENTIFIER = com.facebook.react.uiapp; PRODUCT_NAME = RNTester; TARGETED_DEVICE_FAMILY = "1,2"; @@ -421,7 +788,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; - DEVELOPMENT_TEAM = V9WTTPBFK9; + DEVELOPMENT_TEAM = ""; HEADER_SEARCH_PATHS = ( "$(inherited)", "\"${PODS_ROOT}/Headers/Public\"", @@ -457,40 +824,44 @@ IPHONEOS_DEPLOYMENT_TARGET = 9.0; LIBRARY_SEARCH_PATHS = "$(inherited)"; OTHER_CFLAGS = "$(inherited)"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-l\"DoubleConversion\"", + "-l\"Folly\"", + "-l\"React-ART\"", + "-l\"React-Core\"", + "-l\"React-DevSupport\"", + "-l\"React-RCTActionSheet\"", + "-l\"React-RCTAnimation\"", + "-l\"React-RCTBlob\"", + "-l\"React-RCTImage\"", + "-l\"React-RCTLinking\"", + "-l\"React-RCTNetwork\"", + "-l\"React-RCTPushNotification\"", + "-l\"React-RCTSettings\"", + "-l\"React-RCTText\"", + "-l\"React-RCTVibration\"", + "-l\"React-RCTWebSocket\"", + "-l\"React-cxxreact\"", + "-l\"React-jscallinvoker\"", + "-l\"React-jsi\"", + "-l\"React-jsiexecutor\"", + "-l\"React-jsinspector\"", + "-l\"React-turbomodule-core\"", + "-l\"React-turbomodule-samples\"", + "-l\"glog\"", + "-l\"stdc++\"", + "-l\"yoga\"", + "-framework", + "\"JavaScriptCore\"", + ); PRODUCT_BUNDLE_IDENTIFIER = com.facebook.react.uiapp; PRODUCT_NAME = RNTester; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; - 3D13F8421D6F6AE000E69E0E /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - COMBINE_HIDPI_IMAGES = YES; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = RNTester/RNTesterBundle/Info.plist; - PRODUCT_BUNDLE_IDENTIFIER = com.facebook.RNTesterBundle; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - WRAPPER_EXTENSION = bundle; - }; - name = Debug; - }; - 3D13F8431D6F6AE000E69E0E /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - COMBINE_HIDPI_IMAGES = YES; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = RNTester/RNTesterBundle/Info.plist; - PRODUCT_BUNDLE_IDENTIFIER = com.facebook.RNTesterBundle; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; 83CBBA201A601CBA00E9B192 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -523,6 +894,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; + ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; @@ -603,6 +975,7 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; + ENABLE_BITCODE = NO; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu11; @@ -644,6 +1017,130 @@ }; name = Release; }; + E7DB20A722B2BA84005AC45F /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 34028D6B10F47E490042EB27 /* Pods-RNTesterUnitTests.debug.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = ""; + INFOPLIST_FILE = RNTesterUnitTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.2; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/RNTesterUnitTests", + ); + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.facebook.RNTesterUnitTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + E7DB20A822B2BA84005AC45F /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E9618482EC8608D4872A6E28 /* Pods-RNTesterUnitTests.release.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ""; + INFOPLIST_FILE = RNTesterUnitTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.2; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/RNTesterUnitTests", + ); + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.facebook.RNTesterUnitTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + E7DB215B22B2F332005AC45F /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 972A459EE6CF8CC63531A088 /* Pods-RNTesterIntegrationTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = ""; + GCC_PREPROCESSOR_DEFINITIONS = ( + "FB_REFERENCE_IMAGE_DIR=\"\\\"$(SOURCE_ROOT)/RNTesterIntegrationTests/ReferenceImages\\\"\"", + "$(inherited)", + ); + INFOPLIST_FILE = RNTesterIntegrationTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.2; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.facebook.RNTesterIntegrationTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RNTester.app/RNTester"; + }; + name = Debug; + }; + E7DB215C22B2F332005AC45F /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7D51F73F0DA20287418D98BD /* Pods-RNTesterIntegrationTests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ""; + INFOPLIST_FILE = RNTesterIntegrationTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.2; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.facebook.RNTesterIntegrationTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RNTester.app/RNTester"; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -656,20 +1153,29 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3D13F8411D6F6AE000E69E0E /* Build configuration list for PBXNativeTarget "RNTesterBundle" */ = { + 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "RNTesterPods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3D13F8421D6F6AE000E69E0E /* Debug */, - 3D13F8431D6F6AE000E69E0E /* Release */, + 83CBBA201A601CBA00E9B192 /* Debug */, + 83CBBA211A601CBA00E9B192 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "RNTesterPods" */ = { + E7DB20A622B2BA84005AC45F /* Build configuration list for PBXNativeTarget "RNTesterUnitTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 83CBBA201A601CBA00E9B192 /* Debug */, - 83CBBA211A601CBA00E9B192 /* Release */, + E7DB20A722B2BA84005AC45F /* Debug */, + E7DB20A822B2BA84005AC45F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E7DB215A22B2F332005AC45F /* Build configuration list for PBXNativeTarget "RNTesterIntegrationTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E7DB215B22B2F332005AC45F /* Debug */, + E7DB215C22B2F332005AC45F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTester.xcscheme b/RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTester.xcscheme new file mode 100644 index 00000000000000..500b06c03557b1 --- /dev/null +++ b/RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTester.xcscheme @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTesterIntegrationTests.xcscheme b/RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTesterIntegrationTests.xcscheme new file mode 100644 index 00000000000000..ed4d39a4a86380 --- /dev/null +++ b/RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTesterIntegrationTests.xcscheme @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTesterUnitTests.xcscheme b/RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTesterUnitTests.xcscheme new file mode 100644 index 00000000000000..b70d071c08e54d --- /dev/null +++ b/RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTesterUnitTests.xcscheme @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RNTester/RNTesterUnitTests/Info.plist b/RNTester/RNTesterUnitTests/Info.plist index ba72822e8728ef..6c40a6cd0c4af2 100644 --- a/RNTester/RNTesterUnitTests/Info.plist +++ b/RNTester/RNTesterUnitTests/Info.plist @@ -3,7 +3,7 @@ CFBundleDevelopmentRegion - en + $(DEVELOPMENT_LANGUAGE) CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -16,8 +16,6 @@ BNDL CFBundleShortVersionString 1.0 - CFBundleSignature - ???? CFBundleVersion 1 diff --git a/RNTester/RNTesterUnitTests/OCMock/OCMStubRecorder.h b/RNTester/RNTesterUnitTests/OCMock/OCMStubRecorder.h index 86eb818048e129..283fd963bf33af 100644 --- a/RNTester/RNTesterUnitTests/OCMock/OCMStubRecorder.h +++ b/RNTester/RNTesterUnitTests/OCMock/OCMStubRecorder.h @@ -14,7 +14,7 @@ * under the License. */ -#import +#import "OCMRecorder.h" @interface OCMStubRecorder : OCMRecorder diff --git a/RNTester/RNTesterUnitTests/OCMock/OCMock.h b/RNTester/RNTesterUnitTests/OCMock/OCMock.h index f0083b3507ea74..ea5d93c126d8d8 100644 --- a/RNTester/RNTesterUnitTests/OCMock/OCMock.h +++ b/RNTester/RNTesterUnitTests/OCMock/OCMock.h @@ -14,14 +14,14 @@ * under the License. */ -#import -#import -#import -#import -#import -#import -#import -#import +#import "OCMockObject.h" +#import "OCMRecorder.h" +#import "OCMStubRecorder.h" +#import "OCMConstraint.h" +#import "OCMArg.h" +#import "OCMLocation.h" +#import "OCMMacroState.h" +#import "NSNotificationCenter+OCMAdditions.h" #define OCMClassMock(cls) [OCMockObject niceMockForClass:cls] diff --git a/RNTester/RNTesterUnitTests/RCTAllocationTests.m b/RNTester/RNTesterUnitTests/RCTAllocationTests.m index e088566d555f36..ffff8cfdda6a3f 100644 --- a/RNTester/RNTesterUnitTests/RCTAllocationTests.m +++ b/RNTester/RNTesterUnitTests/RCTAllocationTests.m @@ -9,7 +9,11 @@ #import #import +#if (defined(COCOAPODS)) +#import +#else #import +#endif #import #import #import diff --git a/RNTester/RNTesterUnitTests/RCTAnimationUtilsTests.m b/RNTester/RNTesterUnitTests/RCTAnimationUtilsTests.m index dc40bd1f1d8202..bc612c3218805f 100644 --- a/RNTester/RNTesterUnitTests/RCTAnimationUtilsTests.m +++ b/RNTester/RNTesterUnitTests/RCTAnimationUtilsTests.m @@ -8,7 +8,11 @@ #import +#if (defined(COCOAPODS)) +#import +#else #import +#endif @interface RCTAnimationUtilsTests : XCTestCase diff --git a/RNTester/RNTesterUnitTests/RCTBlobManagerTests.m b/RNTester/RNTesterUnitTests/RCTBlobManagerTests.m index 2b0f5eb754b39a..7f384a5dc494ce 100644 --- a/RNTester/RNTesterUnitTests/RCTBlobManagerTests.m +++ b/RNTester/RNTesterUnitTests/RCTBlobManagerTests.m @@ -8,7 +8,11 @@ #import +#if (defined(COCOAPODS)) +#import +#else #import +#endif @interface RCTBlobManagerTests : XCTestCase diff --git a/RNTester/RNTesterUnitTests/RCTComponentPropsTests.m b/RNTester/RNTesterUnitTests/RCTComponentPropsTests.m index 9b66322d70d905..4bc0eebfd3b487 100644 --- a/RNTester/RNTesterUnitTests/RCTComponentPropsTests.m +++ b/RNTester/RNTesterUnitTests/RCTComponentPropsTests.m @@ -8,7 +8,11 @@ #import +#if (defined(COCOAPODS)) +#import +#else #import +#endif #import #import #import diff --git a/RNTester/RNTesterUnitTests/RCTDevMenuTests.m b/RNTester/RNTesterUnitTests/RCTDevMenuTests.m index 487aaedab08ca5..d1135f69547bb2 100644 --- a/RNTester/RNTesterUnitTests/RCTDevMenuTests.m +++ b/RNTester/RNTesterUnitTests/RCTDevMenuTests.m @@ -8,7 +8,11 @@ #import +#if (defined(COCOAPODS)) +#import +#else #import +#endif #import #import diff --git a/RNTester/RNTesterUnitTests/RCTEventDispatcherTests.m b/RNTester/RNTesterUnitTests/RCTEventDispatcherTests.m index ee26f6592653ab..4f8901abbb8ae2 100644 --- a/RNTester/RNTesterUnitTests/RCTEventDispatcherTests.m +++ b/RNTester/RNTesterUnitTests/RCTEventDispatcherTests.m @@ -9,7 +9,7 @@ #import #import -#import +#import "OCMock/OCMock.h" #import diff --git a/RNTester/RNTesterUnitTests/RCTGzipTests.m b/RNTester/RNTesterUnitTests/RCTGzipTests.m index 1a077ab67565b0..b28321725f61d2 100644 --- a/RNTester/RNTesterUnitTests/RCTGzipTests.m +++ b/RNTester/RNTesterUnitTests/RCTGzipTests.m @@ -8,7 +8,11 @@ #import +#if (defined(COCOAPODS)) +#import +#else #import +#endif #import #import diff --git a/RNTester/RNTesterUnitTests/RCTImageUtilTests.m b/RNTester/RNTesterUnitTests/RCTImageUtilTests.m index 47de4554c8c03d..5f1c7c78b20696 100644 --- a/RNTester/RNTesterUnitTests/RCTImageUtilTests.m +++ b/RNTester/RNTesterUnitTests/RCTImageUtilTests.m @@ -11,7 +11,11 @@ #import #import +#if (defined(COCOAPODS)) +#import +#else #import +#endif #define RCTAssertEqualPoints(a, b) { \ XCTAssertEqual(a.x, b.x); \ diff --git a/RNTester/RNTesterUnitTests/RCTModuleInitNotificationRaceTests.m b/RNTester/RNTesterUnitTests/RCTModuleInitNotificationRaceTests.m index 137408b6f16ac6..0486cd3cd48efb 100644 --- a/RNTester/RNTesterUnitTests/RCTModuleInitNotificationRaceTests.m +++ b/RNTester/RNTesterUnitTests/RCTModuleInitNotificationRaceTests.m @@ -9,7 +9,7 @@ #import #import -#import +#import #import #import #import diff --git a/RNTester/RNTesterUnitTests/RCTModuleInitTests.m b/RNTester/RNTesterUnitTests/RCTModuleInitTests.m index 3232ec4e82ff1d..37d7445029e7d7 100644 --- a/RNTester/RNTesterUnitTests/RCTModuleInitTests.m +++ b/RNTester/RNTesterUnitTests/RCTModuleInitTests.m @@ -9,7 +9,11 @@ #import #import +#if (defined(COCOAPODS)) +#import +#else #import +#endif #import #import #import diff --git a/RNTester/RNTesterUnitTests/RCTNativeAnimatedNodesManagerTests.m b/RNTester/RNTesterUnitTests/RCTNativeAnimatedNodesManagerTests.m index aa2244910d84d7..223dc13b811ae4 100644 --- a/RNTester/RNTesterUnitTests/RCTNativeAnimatedNodesManagerTests.m +++ b/RNTester/RNTesterUnitTests/RCTNativeAnimatedNodesManagerTests.m @@ -8,10 +8,15 @@ #import -#import +#import "OCMock/OCMock.h" +#if (defined(COCOAPODS)) +#import +#import +#else #import #import +#endif #import static const NSTimeInterval FRAME_LENGTH = 1.0 / 60.0; diff --git a/package.json b/package.json index e2722d0a5d5aff..ab9bf97fd35ce9 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "test-android-e2e": "yarn run docker-build-android && yarn run test-android-run-e2e", "build-ios-e2e": "detox build -c ios.sim.release", "test-ios-e2e": "detox test -c ios.sim.release RNTester/e2e", - "test-ios": "./scripts/objc-test-ios.sh test" + "test-ios": "./scripts/objc-test.sh test" }, "peerDependencies": { "react": "16.8.6" diff --git a/scripts/objc-test-ios.sh b/scripts/objc-test-ios.sh deleted file mode 100755 index 48100cc9eecb05..00000000000000 --- a/scripts/objc-test-ios.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash -# Copyright (c) Facebook, Inc. and its affiliates. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# -# Script used to run iOS tests. -# If no arguments are passed to the script, it will only compile -# the RNTester. -# If the script is called with a single argument "test", we'll -# also run the RNTester integration test (needs JS and packager): -# ./objc-test-ios.sh test - -set -e - -SCRIPTS=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) -ROOT=$(dirname "$SCRIPTS") - -cd "$ROOT" - -# shellcheck disable=SC1091 -source "scripts/.tests.env" - -export TEST_NAME="iOS" -export SCHEME="RNTester" -export SDK="iphonesimulator" -export DESTINATION="platform=iOS Simulator,name=${IOS_DEVICE},OS=${IOS_TARGET_OS}" -export USE_MODERN_BUILD_SYSTEM="NO" - -# If there's a "test" argument, pass it to the test script. -./scripts/objc-test.sh $1 diff --git a/scripts/objc-test-tvos.sh b/scripts/objc-test-tvos.sh deleted file mode 100755 index 281dd46728d15d..00000000000000 --- a/scripts/objc-test-tvos.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash -# Copyright (c) Facebook, Inc. and its affiliates. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# -# Script used to run tvOS tests. -# If no arguments are passed to the script, it will only compile -# the RNTester. -# If the script is called with a single argument "test", we'll -# also run the RNTester integration test (needs JS and packager): -# ./objc-test-tvos.sh test - -set -ex - -SCRIPTS=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) -ROOT=$(dirname "$SCRIPTS") - -cd "$ROOT" - -# shellcheck disable=SC1091 -source "scripts/.tests.env" - -export TEST_NAME="tvOS" -export SCHEME="RNTester-tvOS" -export SDK="appletvsimulator" -export DESTINATION="platform=tvOS Simulator,name=${TVOS_DEVICE},OS=${IOS_TARGET_OS}" -export USE_MODERN_BUILD_SYSTEM="NO" - -# If there's a "test" argument, pass it to the test script. -./scripts/objc-test.sh $1 diff --git a/scripts/packager.sh b/scripts/packager.sh index 1df530fe407a58..6ad925082a43db 100755 --- a/scripts/packager.sh +++ b/scripts/packager.sh @@ -10,11 +10,8 @@ REACT_NATIVE_ROOT="$THIS_DIR/.." # Application root directory - General use case: react-native is a dependency PROJECT_ROOT="$THIS_DIR/../../.." -# shellcheck source=/dev/null -source "${THIS_DIR}/.packager.env" - # check and assign NODE_BINARY env -# shellcheck disable=SC1091 +# shellcheck disable=SC1090 source "${THIS_DIR}/node-binary.sh" # When running react-native tests, react-native doesn't live in node_modules but in the PROJECT_ROOT From 61838b1c4836316596689138acae228702964894 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ramos?= Date: Thu, 27 Jun 2019 16:41:56 -0700 Subject: [PATCH 2/2] Update OSS test script --- scripts/objc-test.sh | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/scripts/objc-test.sh b/scripts/objc-test.sh index daa03b7ae1046e..305894a02234e3 100755 --- a/scripts/objc-test.sh +++ b/scripts/objc-test.sh @@ -4,12 +4,11 @@ # This source code is licensed under the MIT license found in the # LICENSE file in the root directory of this source tree. # -# Script used to run iOS and tvOS tests. -# Environment variables are used to configure what test to run. -# If not arguments are passed to the script, it will only compile +# Script used to run iOS tests. +# If no arguments are passed to the script, it will only compile # the RNTester. # If the script is called with a single argument "test", we'll -# also run the RNTester integration test (needs JS and packager). +# run the RNTester unit and integration tests # ./objc-test.sh test SCRIPTS=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) @@ -51,22 +50,20 @@ waitForPackager() { } runTests() { - xcodebuild \ - -project "RNTester/RNTester.xcodeproj" \ - -scheme "$SCHEME" \ - -sdk "$SDK" \ - -destination "$DESTINATION" \ - -UseModernBuildSystem="$USE_MODERN_BUILD_SYSTEM" \ - build test + # shellcheck source=scripts/.tests.env + source "./scripts/.tests.env" + xcodebuild build test \ + -workspace RNTester/RNTesterPods.xcworkspace \ + -scheme RNTester \ + -sdk iphonesimulator \ + -destination "platform=iOS Simulator,name=$IOS_DEVICE,OS=$IOS_TARGET_OS" } buildProject() { - xcodebuild \ - -project "RNTester/RNTester.xcodeproj" \ - -scheme "$SCHEME" \ - -sdk "$SDK" \ - -UseModernBuildSystem="$USE_MODERN_BUILD_SYSTEM" \ - build + xcodebuild build \ + -workspace RNTester/RNTesterPods.xcworkspace \ + -scheme RNTester \ + -sdk iphonesimulator } xcprettyFormat() {