diff --git a/RNTester/.eslintrc b/RNTester/.eslintrc deleted file mode 100644 index 9fd33583936042..00000000000000 --- a/RNTester/.eslintrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "rules": { - "react-native/no-inline-styles": 0 - } -} diff --git a/RNTester/NativeModuleExample/NativeScreenshotManager.js b/RNTester/NativeModuleExample/NativeScreenshotManager.js deleted file mode 100644 index 68a9cf3c9b1fa9..00000000000000 --- a/RNTester/NativeModuleExample/NativeScreenshotManager.js +++ /dev/null @@ -1,28 +0,0 @@ -/** - * 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. - * - * @flow strict-local - * @format - */ - -'use strict'; - -import type {TurboModule} from '../../Libraries/TurboModule/RCTExport'; -import * as TurboModuleRegistry from '../../Libraries/TurboModule/TurboModuleRegistry'; - -export interface Spec extends TurboModule { - +getConstants: () => {||}; - takeSnapshot(id: string): Promise; -} - -const NativeModule = TurboModuleRegistry.get('ScreenshotManager'); - -export function takeSnapshot(id: string): Promise { - if (NativeModule != null) { - return NativeModule.takeSnapshot(id); - } - return Promise.reject(); -} diff --git a/RNTester/NativeModuleExample/Screenshot.h b/RNTester/NativeModuleExample/Screenshot.h deleted file mode 100644 index ddd38dab691b5c..00000000000000 --- a/RNTester/NativeModuleExample/Screenshot.h +++ /dev/null @@ -1,11 +0,0 @@ -/* - * 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. - */ - -#import - -@interface ScreenshotManager : RCTViewManager -@end diff --git a/RNTester/NativeModuleExample/Screenshot.m b/RNTester/NativeModuleExample/Screenshot.m deleted file mode 100644 index 08d61a11c30149..00000000000000 --- a/RNTester/NativeModuleExample/Screenshot.m +++ /dev/null @@ -1,83 +0,0 @@ -/* - * 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. - */ - -#import "Screenshot.h" - -#import - -@implementation ScreenshotManager - -RCT_EXPORT_MODULE(); - -RCT_EXPORT_METHOD(takeScreenshot:(id /* NSString or NSNumber */)target - withOptions:(NSDictionary *)options - resolve:(RCTPromiseResolveBlock)resolve - reject:(RCTPromiseRejectBlock)reject) -{ - [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary *viewRegistry) { - - // Get view - UIView *view; - if (target == nil || [target isEqual:@"window"]) { - view = RCTKeyWindow(); - } else if ([target isKindOfClass:[NSNumber class]]) { - view = viewRegistry[target]; - if (!view) { - RCTLogError(@"No view found with reactTag: %@", target); - return; - } - } - - // Get options - CGSize size = [RCTConvert CGSize:options]; - NSString *format = [RCTConvert NSString:options[@"format"] ?: @"png"]; - - // Capture image - if (size.width < 0.1 || size.height < 0.1) { - size = view.bounds.size; - } - UIGraphicsBeginImageContextWithOptions(size, NO, 0); - BOOL success = [view drawViewHierarchyInRect:(CGRect){CGPointZero, size} afterScreenUpdates:YES]; - UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - - if (!success || !image) { - reject(RCTErrorUnspecified, @"Failed to capture view snapshot.", nil); - return; - } - - // Convert image to data (on a background thread) - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - - NSData *data; - if ([format isEqualToString:@"png"]) { - data = UIImagePNGRepresentation(image); - } else if ([format isEqualToString:@"jpeg"]) { - CGFloat quality = [RCTConvert CGFloat:options[@"quality"] ?: @1]; - data = UIImageJPEGRepresentation(image, quality); - } else { - RCTLogError(@"Unsupported image format: %@", format); - return; - } - - // Save to a temp file - NSError *error = nil; - NSString *tempFilePath = RCTTempFilePath(format, &error); - if (tempFilePath) { - if ([data writeToFile:tempFilePath options:(NSDataWritingOptions)0 error:&error]) { - resolve(tempFilePath); - return; - } - } - - // If we reached here, something went wrong - reject(RCTErrorUnspecified, error.localizedDescription, error); - }); - }]; -} - -@end diff --git a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Contents.json b/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index df50082a0c9bf1..00000000000000 --- a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "images" : [ - { - "idiom" : "iphone", - "size" : "20x20", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "20x20", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-Small@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-Small@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-Small-40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-Small-40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-60@3x.png", - "scale" : "3x" - }, - { - "idiom" : "ipad", - "size" : "20x20", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "20x20", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "29x29", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "29x29", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "40x40", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "40x40", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "76x76", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "iTunesArtwork@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png b/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png deleted file mode 100644 index 7246674207916a..00000000000000 Binary files a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png and /dev/null differ diff --git a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png b/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png deleted file mode 100644 index 3d81ad4c902b28..00000000000000 Binary files a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png and /dev/null differ diff --git a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png b/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png deleted file mode 100644 index 4458fd93caa5c1..00000000000000 Binary files a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png and /dev/null differ diff --git a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-83.5@2x.png b/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-83.5@2x.png deleted file mode 100644 index 4a95a0c02b5690..00000000000000 Binary files a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-83.5@2x.png and /dev/null differ diff --git a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png b/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png deleted file mode 100644 index e296742f0b15b8..00000000000000 Binary files a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png and /dev/null differ diff --git a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-Small-40@3x.png b/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-Small-40@3x.png deleted file mode 100644 index 7246674207916a..00000000000000 Binary files a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-Small-40@3x.png and /dev/null differ diff --git a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png b/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png deleted file mode 100644 index 2380da1e486a2f..00000000000000 Binary files a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png and /dev/null differ diff --git a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png b/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png deleted file mode 100644 index b27624365d13b8..00000000000000 Binary files a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png and /dev/null differ diff --git a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/iTunesArtwork@1x.png b/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/iTunesArtwork@1x.png deleted file mode 100644 index e849b52266d1f8..00000000000000 Binary files a/RNTester/RNTester/Images.xcassets/AppIcon.appiconset/iTunesArtwork@1x.png and /dev/null differ diff --git a/RNTester/RNTester/Images.xcassets/NavBarButtonPlus.imageset/Contents.json b/RNTester/RNTester/Images.xcassets/NavBarButtonPlus.imageset/Contents.json deleted file mode 100644 index 13726b4e948939..00000000000000 --- a/RNTester/RNTester/Images.xcassets/NavBarButtonPlus.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "NavBarButtonPlus@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/RNTester/RNTester/Images.xcassets/NavBarButtonPlus.imageset/NavBarButtonPlus@3x.png b/RNTester/RNTester/Images.xcassets/NavBarButtonPlus.imageset/NavBarButtonPlus@3x.png deleted file mode 100644 index 706a9c9052240e..00000000000000 Binary files a/RNTester/RNTester/Images.xcassets/NavBarButtonPlus.imageset/NavBarButtonPlus@3x.png and /dev/null differ diff --git a/RNTester/RNTester/Images.xcassets/story-background.imageset/Contents.json b/RNTester/RNTester/Images.xcassets/story-background.imageset/Contents.json deleted file mode 100644 index e1e9cd56bc0025..00000000000000 --- a/RNTester/RNTester/Images.xcassets/story-background.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x", - "filename" : "story-background@2x.png" - }, - { - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/RNTester/RNTester/Images.xcassets/story-background.imageset/story-background@2x.png b/RNTester/RNTester/Images.xcassets/story-background.imageset/story-background@2x.png deleted file mode 100644 index fc082986c4e652..00000000000000 Binary files a/RNTester/RNTester/Images.xcassets/story-background.imageset/story-background@2x.png and /dev/null differ diff --git a/RNTester/RNTester/Images.xcassets/tabnav_list.imageset/Contents.json b/RNTester/RNTester/Images.xcassets/tabnav_list.imageset/Contents.json deleted file mode 100644 index cf064d8c19aea1..00000000000000 --- a/RNTester/RNTester/Images.xcassets/tabnav_list.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x", - "filename" : "tabnav_list@3x.png" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/RNTester/RNTester/Images.xcassets/tabnav_list.imageset/tabnav_list@3x.png b/RNTester/RNTester/Images.xcassets/tabnav_list.imageset/tabnav_list@3x.png deleted file mode 100644 index 6cf72279023724..00000000000000 Binary files a/RNTester/RNTester/Images.xcassets/tabnav_list.imageset/tabnav_list@3x.png and /dev/null differ diff --git a/RNTester/RNTester/Images.xcassets/tabnav_notification.imageset/Contents.json b/RNTester/RNTester/Images.xcassets/tabnav_notification.imageset/Contents.json deleted file mode 100644 index eb75c050fb7809..00000000000000 --- a/RNTester/RNTester/Images.xcassets/tabnav_notification.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x", - "filename" : "tabnav_notification@3x.png" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/RNTester/RNTester/Images.xcassets/tabnav_notification.imageset/tabnav_notification@3x.png b/RNTester/RNTester/Images.xcassets/tabnav_notification.imageset/tabnav_notification@3x.png deleted file mode 100644 index 1f65e659083654..00000000000000 Binary files a/RNTester/RNTester/Images.xcassets/tabnav_notification.imageset/tabnav_notification@3x.png and /dev/null differ diff --git a/RNTester/RNTester/Images.xcassets/tabnav_settings.imageset/Contents.json b/RNTester/RNTester/Images.xcassets/tabnav_settings.imageset/Contents.json deleted file mode 100644 index c665c5a072c1f6..00000000000000 --- a/RNTester/RNTester/Images.xcassets/tabnav_settings.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x", - "filename" : "tabnav_settings@3x.png" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/RNTester/RNTester/Images.xcassets/tabnav_settings.imageset/tabnav_settings@3x.png b/RNTester/RNTester/Images.xcassets/tabnav_settings.imageset/tabnav_settings@3x.png deleted file mode 100644 index 581f2c72a769f5..00000000000000 Binary files a/RNTester/RNTester/Images.xcassets/tabnav_settings.imageset/tabnav_settings@3x.png and /dev/null differ diff --git a/RNTester/RNTester/LaunchScreen.storyboard b/RNTester/RNTester/LaunchScreen.storyboard deleted file mode 100644 index 373f89ee18c77e..00000000000000 --- a/RNTester/RNTester/LaunchScreen.storyboard +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/RNTester/RNTester/RNTester.entitlements b/RNTester/RNTester/RNTester.entitlements deleted file mode 100644 index 8f330422e9db9f..00000000000000 --- a/RNTester/RNTester/RNTester.entitlements +++ /dev/null @@ -1,12 +0,0 @@ - - - - - com.apple.security.app-sandbox - - com.apple.security.network.client - - com.apple.security.personal-information.photos-library - - - diff --git a/RNTester/RNTester/RNTesterTurboModuleProvider.h b/RNTester/RNTester/RNTesterTurboModuleProvider.h deleted file mode 100644 index 7c80b27b39a534..00000000000000 --- a/RNTester/RNTester/RNTesterTurboModuleProvider.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * 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. - */ - -#import - -namespace facebook { -namespace react { - -/** - * Provide the TurboModule class for the given name. - */ -Class RNTesterTurboModuleClassProvider(const char *name); - -/** - * Provide a pure C++ instance of a TurboModule, specific to this app. - */ -std::shared_ptr RNTesterTurboModuleProvider(const std::string &name, std::shared_ptr jsInvoker); - -/** - * Provide an instance of a ObjCTurboModule, given the ObjC instance, specific to this app. - */ -std::shared_ptr RNTesterTurboModuleProvider(const std::string &name, - const ObjCTurboModule::InitParams ¶ms); - -} // namespace react -} // namespace facebook diff --git a/RNTester/RNTester/RNTesterTurboModuleProvider.mm b/RNTester/RNTester/RNTesterTurboModuleProvider.mm deleted file mode 100644 index 97e5a16ced6eff..00000000000000 --- a/RNTester/RNTester/RNTesterTurboModuleProvider.mm +++ /dev/null @@ -1,41 +0,0 @@ -/* - * 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. - */ - -#import "RNTesterTurboModuleProvider.h" - -#import -#import -#import - -// NOTE: This entire file should be codegen'ed. - -namespace facebook { -namespace react { - -Class RNTesterTurboModuleClassProvider(const char *name) { - return RCTCoreModulesClassProvider(name); -} - -std::shared_ptr RNTesterTurboModuleProvider(const std::string &name, std::shared_ptr jsInvoker) { - if (name == "SampleTurboCxxModule") { - return std::make_shared(jsInvoker); - } - - return nullptr; -} - -std::shared_ptr RNTesterTurboModuleProvider(const std::string &name, - const ObjCTurboModule::InitParams ¶ms) { - if (name == "SampleTurboModule") { - return std::make_shared(params); - } - - return nullptr; -} - -} // namespace react -} // namespace facebook diff --git a/RNTester/RNTester/legacy_image@2x.png b/RNTester/RNTester/legacy_image@2x.png deleted file mode 100644 index 7205b1e47d08ad..00000000000000 Binary files a/RNTester/RNTester/legacy_image@2x.png and /dev/null differ diff --git a/RNTester/RNTesterPods.xcodeproj/project.pbxproj b/RNTester/RNTesterPods.xcodeproj/project.pbxproj deleted file mode 100644 index 39b44098f946f5..00000000000000 --- a/RNTester/RNTesterPods.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1216 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 51; - objects = { - -/* Begin PBXBuildFile section */ - 1317FC3A10A7E894D970D9F2 /* libPods-RNTester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C2F0C3405B1D6741F52D4F6 /* libPods-RNTester.a */; }; - 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 272E6B3F1BEA849E001FCF37 /* UpdatePropertiesExampleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.m */; }; - 27F441EC1BEBE5030039B79C /* FlexibleSizeExampleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.m */; }; - 2DDEF0101F84BF7B00DBDF73 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2DDEF00F1F84BF7B00DBDF73 /* Images.xcassets */; }; - 383889DA23A7398900D06C3E /* RCTConvert_UIColorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 383889D923A7398900D06C3E /* RCTConvert_UIColorTests.m */; }; - 3D2AFAF51D646CF80089D1A3 /* legacy_image@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */; }; - 5C60EB1C226440DB0018C04F /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C60EB1B226440DB0018C04F /* AppDelegate.mm */; }; - 5CB07C9B226467E60039471C /* RNTesterTurboModuleProvider.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CB07C99226467E60039471C /* RNTesterTurboModuleProvider.mm */; }; - 8145AE06241172D900A3F8DA /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8145AE05241172D900A3F8DA /* LaunchScreen.storyboard */; }; - CE8B4DF18C0491DAC01826D8 /* libPods-RNTesterUnitTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 240ABDF8133AF49081795AFC /* libPods-RNTesterUnitTests.a */; }; - DBA671A0680021020B916DDB /* libPods-RNTesterIntegrationTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4C76DE6ECEDBBAA2CA41B4D /* libPods-RNTesterIntegrationTests.a */; }; - 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 */ - E7DB215822B2F332005AC45F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 13B07F861A680F5B00A75B9A; - remoteInfo = RNTester; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 13B07F961A680F5B00A75B9A /* RNTester.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RNTester.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = RNTester/AppDelegate.h; 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 = ""; }; - 240ABDF8133AF49081795AFC /* 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 = ""; }; - 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 = ""; }; - 383889D923A7398900D06C3E /* RCTConvert_UIColorTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTConvert_UIColorTests.m; sourceTree = ""; }; - 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "legacy_image@2x.png"; path = "RNTester/legacy_image@2x.png"; sourceTree = ""; }; - 4C2F0C3405B1D6741F52D4F6 /* libPods-RNTester.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTester.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 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 = ""; }; - 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 = ""; }; - 8145AE05241172D900A3F8DA /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = RNTester/LaunchScreen.storyboard; sourceTree = ""; }; - 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 = ""; }; - E4C76DE6ECEDBBAA2CA41B4D /* libPods-RNTesterIntegrationTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTesterIntegrationTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 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; }; - 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; }; - 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 */ - 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 1317FC3A10A7E894D970D9F2 /* libPods-RNTester.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E7DB209C22B2BA84005AC45F /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E7DB213122B2C649005AC45F /* JavaScriptCore.framework in Frameworks */, - E7DB213222B2C67D005AC45F /* libOCMock.a in Frameworks */, - CE8B4DF18C0491DAC01826D8 /* libPods-RNTesterUnitTests.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E7DB215022B2F332005AC45F /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E7DB218C22B41FCD005AC45F /* XCTest.framework in Frameworks */, - E7DB216722B2F69F005AC45F /* JavaScriptCore.framework in Frameworks */, - DBA671A0680021020B916DDB /* libPods-RNTesterIntegrationTests.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 1323F18D1C04ABAC0091BED0 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 3D2AFAF41D646CF80089D1A3 /* legacy_image@2x.png */, - 13B07FB61A68108700A75B9A /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 13B07FAE1A68108700A75B9A /* RNTester */ = { - isa = PBXGroup; - children = ( - E771AEEA22B44E3100EA1189 /* Info.plist */, - 13B07FAF1A68108700A75B9A /* AppDelegate.h */, - 5C60EB1B226440DB0018C04F /* AppDelegate.mm */, - 5CB07C9A226467E60039471C /* RNTesterTurboModuleProvider.h */, - 5CB07C99226467E60039471C /* RNTesterTurboModuleProvider.mm */, - 13B07FB71A68108700A75B9A /* main.m */, - 2DDEF00F1F84BF7B00DBDF73 /* Images.xcassets */, - 8145AE05241172D900A3F8DA /* LaunchScreen.storyboard */, - 680759612239798500290469 /* Fabric */, - 272E6B3A1BEA846C001FCF37 /* NativeExampleViews */, - 1323F18D1C04ABAC0091BED0 /* Supporting Files */, - ); - name = RNTester; - sourceTree = ""; - }; - 272E6B3A1BEA846C001FCF37 /* NativeExampleViews */ = { - isa = PBXGroup; - children = ( - 27F441E81BEBE5030039B79C /* FlexibleSizeExampleView.m */, - 27F441EA1BEBE5030039B79C /* FlexibleSizeExampleView.h */, - 272E6B3B1BEA849E001FCF37 /* UpdatePropertiesExampleView.h */, - 272E6B3C1BEA849E001FCF37 /* UpdatePropertiesExampleView.m */, - ); - name = NativeExampleViews; - sourceTree = ""; - }; - 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 */, - 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 */, - E7DB212222B2BD53005AC45F /* libyoga.a */, - 4C2F0C3405B1D6741F52D4F6 /* libPods-RNTester.a */, - E4C76DE6ECEDBBAA2CA41B4D /* libPods-RNTesterIntegrationTests.a */, - 240ABDF8133AF49081795AFC /* libPods-RNTesterUnitTests.a */, - ); - name = Frameworks; - 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 = ""; - }; - 680759612239798500290469 /* Fabric */ = { - isa = PBXGroup; - children = ( - ); - name = Fabric; - sourceTree = ""; - }; - 83CBB9F61A601CBA00E9B192 = { - isa = PBXGroup; - children = ( - 13B07FAE1A68108700A75B9A /* RNTester */, - E7DB20A022B2BA84005AC45F /* RNTesterUnitTests */, - E7DB215422B2F332005AC45F /* RNTesterIntegrationTests */, - 83CBBA001A601CBA00E9B192 /* Products */, - 2DE7E7D81FB2A4F3009E225D /* Frameworks */, - 571A4A20844C3BA40A3D302B /* Pods */, - ); - indentWidth = 2; - sourceTree = ""; - tabWidth = 2; - usesTabs = 0; - }; - 83CBBA001A601CBA00E9B192 /* Products */ = { - isa = PBXGroup; - children = ( - 13B07F961A680F5B00A75B9A /* RNTester.app */, - 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 */, - 383889D923A7398900D06C3E /* RCTConvert_UIColorTests.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 */ - 13B07F861A680F5B00A75B9A /* RNTester */ = { - isa = PBXNativeTarget; - buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "RNTester" */; - buildPhases = ( - F9CB97B0D9633939D43E75E0 /* [CP] Check Pods Manifest.lock */, - 13B07F871A680F5B00A75B9A /* Sources */, - 13B07F8C1A680F5B00A75B9A /* Frameworks */, - 13B07F8E1A680F5B00A75B9A /* Resources */, - 68CD48B71D2BCB2C007E06A9 /* Build JS Bundle */, - 5CF0FD27207FC6EC00C13D65 /* Start Metro */, - C1C7A9D58CE1D09515F20577 /* [CP] Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = RNTester; - productName = "Hello World"; - productReference = 13B07F961A680F5B00A75B9A /* RNTester.app */; - productType = "com.apple.product-type.application"; - }; - E7DB209E22B2BA84005AC45F /* RNTesterUnitTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = E7DB20A622B2BA84005AC45F /* Build configuration list for PBXNativeTarget "RNTesterUnitTests" */; - buildPhases = ( - 64C8C8D2305EEDFDE304A0E6 /* [CP] Check Pods Manifest.lock */, - E7DB209B22B2BA84005AC45F /* Sources */, - E7DB209C22B2BA84005AC45F /* Frameworks */, - E7DB209D22B2BA84005AC45F /* Resources */, - D45F7C4830D42738CAAC9684 /* [CP] Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - 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 */, - CD1D70F24AD74F4E13B7435D /* [CP] Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - E7DB215922B2F332005AC45F /* PBXTargetDependency */, - ); - name = RNTesterIntegrationTests; - productName = RNTesterIntegrationTests; - productReference = E7DB215322B2F332005AC45F /* RNTesterIntegrationTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 83CBB9F71A601CBA00E9B192 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1140; - ORGANIZATIONNAME = Facebook; - TargetAttributes = { - E7DB209E22B2BA84005AC45F = { - CreatedOnToolsVersion = 10.2.1; - }; - E7DB215222B2F332005AC45F = { - CreatedOnToolsVersion = 10.2.1; - TestTargetID = 13B07F861A680F5B00A75B9A; - }; - }; - }; - buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "RNTesterPods" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 83CBB9F61A601CBA00E9B192; - productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 13B07F861A680F5B00A75B9A /* RNTester */, - E7DB209E22B2BA84005AC45F /* RNTesterUnitTests */, - E7DB215222B2F332005AC45F /* RNTesterIntegrationTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 13B07F8E1A680F5B00A75B9A /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2DDEF0101F84BF7B00DBDF73 /* Images.xcassets in Resources */, - 8145AE06241172D900A3F8DA /* LaunchScreen.storyboard in Resources */, - 3D2AFAF51D646CF80089D1A3 /* legacy_image@2x.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E7DB209D22B2BA84005AC45F /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E7DB20DA22B2BAA6005AC45F /* RNTesterUnitTestsBundle.js in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E7DB215122B2F332005AC45F /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - 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; - files = ( - ); - inputPaths = ( - ); - name = "Start Metro"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - 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; - files = ( - ); - inputPaths = ( - ); - name = "Build JS Bundle"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "export NODE_BINARY=node\nPROJECT_ROOT=$SRCROOT/.. $SRCROOT/../scripts/react-native-xcode.sh RNTester/js/RNTesterApp.ios.js\n"; - }; - C1C7A9D58CE1D09515F20577 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - CD1D70F24AD74F4E13B7435D /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-RNTesterIntegrationTests/Pods-RNTesterIntegrationTests-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-RNTesterIntegrationTests/Pods-RNTesterIntegrationTests-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-RNTesterIntegrationTests/Pods-RNTesterIntegrationTests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - D45F7C4830D42738CAAC9684 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-RNTesterUnitTests/Pods-RNTesterUnitTests-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-RNTesterUnitTests/Pods-RNTesterUnitTests-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-RNTesterUnitTests/Pods-RNTesterUnitTests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - F9CB97B0D9633939D43E75E0 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RNTester-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; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 13B07F871A680F5B00A75B9A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 272E6B3F1BEA849E001FCF37 /* UpdatePropertiesExampleView.m in Sources */, - 5CB07C9B226467E60039471C /* RNTesterTurboModuleProvider.mm in Sources */, - 27F441EC1BEBE5030039B79C /* FlexibleSizeExampleView.m in Sources */, - 5C60EB1C226440DB0018C04F /* AppDelegate.mm in Sources */, - 13B07FC11A68108700A75B9A /* main.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 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 */, - 383889DA23A7398900D06C3E /* RCTConvert_UIColorTests.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 */ - E7DB215922B2F332005AC45F /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 13B07F861A680F5B00A75B9A /* RNTester */; - targetProxy = E7DB215822B2F332005AC45F /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 13B07F941A680F5B00A75B9A /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 98233960D1D6A1977D1C7EAF /* Pods-RNTester.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_CXX_LANGUAGE_STANDARD = "c++14"; - DEVELOPMENT_TEAM = ""; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FB_SONARKIT_ENABLED=1", - ); - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "\"${PODS_ROOT}/Headers/Public\"", - "\"${PODS_ROOT}/Headers/Public/DoubleConversion\"", - "\"${PODS_ROOT}/Headers/Public/React-ART\"", - "\"${PODS_ROOT}/Headers/Public/React-Core\"", - "\"${PODS_ROOT}/Headers/Public/React-Fabric\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTActionSheet\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTAnimation\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTBlob\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTFabric\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTGeolocation\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTImage\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTLinking\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTNetwork\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTPushNotification\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTSettings\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTText\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTVibration\"", - "\"${PODS_ROOT}/Headers/Public/React-cxxreact\"", - "\"${PODS_ROOT}/Headers/Public/React-fishhook\"", - "\"${PODS_ROOT}/Headers/Public/React-jsi\"", - "\"${PODS_ROOT}/Headers/Public/React-jsiexecutor\"", - "\"${PODS_ROOT}/Headers/Public/React-jsinspector\"", - "\"${PODS_ROOT}/Headers/Public/glog\"", - "\"${PODS_ROOT}/Headers/Public/libevent\"", - "\"$(PODS_ROOT)/boost-for-react-native\"", - "\"$(PODS_ROOT)/Folly\"", - "\"$(PODS_ROOT)/DoubleConversion\"", - ); - INFOPLIST_FILE = "$(SRCROOT)/RNTester/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = ( - /usr/lib/swift, - "$(inherited)", - ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)", - "$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)", - ); - "LIBRARY_SEARCH_PATHS[arch=*]" = "$(inherited)"; - OTHER_CFLAGS = ( - "$(inherited)", - "-DFB_SONARKIT_ENABLED=1", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-l\"stdc++\"", - "-framework", - "\"JavaScriptCore\"", - ); - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -DFB_SONARKIT_ENABLED"; - PRODUCT_BUNDLE_IDENTIFIER = com.facebook.react.uiapp; - PRODUCT_NAME = RNTester; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 13B07F951A680F5B00A75B9A /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5BEC8567F3741044B6A5EFC5 /* Pods-RNTester.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_CXX_LANGUAGE_STANDARD = "c++14"; - DEVELOPMENT_TEAM = ""; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "\"${PODS_ROOT}/Headers/Public\"", - "\"${PODS_ROOT}/Headers/Public/DoubleConversion\"", - "\"${PODS_ROOT}/Headers/Public/React-ART\"", - "\"${PODS_ROOT}/Headers/Public/React-Core\"", - "\"${PODS_ROOT}/Headers/Public/React-Fabric\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTActionSheet\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTAnimation\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTBlob\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTFabric\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTGeolocation\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTImage\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTLinking\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTNetwork\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTPushNotification\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTSettings\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTText\"", - "\"${PODS_ROOT}/Headers/Public/React-RCTVibration\"", - "\"${PODS_ROOT}/Headers/Public/React-cxxreact\"", - "\"${PODS_ROOT}/Headers/Public/React-fishhook\"", - "\"${PODS_ROOT}/Headers/Public/React-jsi\"", - "\"${PODS_ROOT}/Headers/Public/React-jsiexecutor\"", - "\"${PODS_ROOT}/Headers/Public/React-jsinspector\"", - "\"${PODS_ROOT}/Headers/Public/glog\"", - "\"${PODS_ROOT}/Headers/Public/libevent\"", - "\"$(PODS_ROOT)/boost-for-react-native\"", - "\"$(PODS_ROOT)/Folly\"", - "\"$(PODS_ROOT)/DoubleConversion\"", - ); - INFOPLIST_FILE = "$(SRCROOT)/RNTester/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = ( - /usr/lib/swift, - "$(inherited)", - ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)", - "$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)", - ); - OTHER_CFLAGS = ( - "$(inherited)", - "-DFB_SONARKIT_ENABLED=1", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-l\"stdc++\"", - "-framework", - "\"JavaScriptCore\"", - ); - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -DFB_SONARKIT_ENABLED"; - PRODUCT_BUNDLE_IDENTIFIER = com.facebook.react.uiapp; - PRODUCT_NAME = RNTester; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 83CBBA201A601CBA00E9B192 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_ASSIGN_ENUM = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - 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; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_NEWLINE = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; - GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = YES; - GCC_WARN_SHADOW = YES; - GCC_WARN_STRICT_SELECTOR_MATCH = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNKNOWN_PRAGMAS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_LABEL = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - OTHER_CPLUSPLUSFLAGS = ( - "$(OTHER_CFLAGS)", - "-DFOLLY_NO_CONFIG", - "-DFOLLY_MOBILE=1", - "-DFOLLY_USE_LIBCPP=1", - ); - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - ); - SDKROOT = iphoneos; - WARNING_CFLAGS = ( - "-Wextra", - "-Wall", - "-Wno-semicolon-before-method-body", - ); - }; - name = Debug; - }; - 83CBBA211A601CBA00E9B192 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_ASSIGN_ENUM = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - 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; - GCC_NO_COMMON_BLOCKS = YES; - GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_NEWLINE = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; - GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = YES; - GCC_WARN_SHADOW = YES; - GCC_WARN_STRICT_SELECTOR_MATCH = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNKNOWN_PRAGMAS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_LABEL = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_CPLUSPLUSFLAGS = ( - "$(OTHER_CFLAGS)", - "-DFOLLY_NO_CONFIG", - "-DFOLLY_MOBILE=1", - "-DFOLLY_USE_LIBCPP=1", - ); - OTHER_LDFLAGS = ( - "-ObjC", - "-lc++", - ); - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - WARNING_CFLAGS = ( - "-Wextra", - "-Wall", - "-Wno-semicolon-before-method-body", - ); - }; - 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.4; - 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; - OTHER_CFLAGS = ( - "$(inherited)", - "-DFB_SONARKIT_ENABLED=1", - ); - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -DFB_SONARKIT_ENABLED"; - 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.4; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/RNTesterUnitTests", - ); - MTL_FAST_MATH = YES; - OTHER_CFLAGS = ( - "$(inherited)", - "-DFB_SONARKIT_ENABLED=1", - ); - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -DFB_SONARKIT_ENABLED"; - 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.4; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - OTHER_CFLAGS = ( - "$(inherited)", - "-DFB_SONARKIT_ENABLED=1", - ); - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -DFB_SONARKIT_ENABLED"; - 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.4; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MTL_FAST_MATH = YES; - OTHER_CFLAGS = ( - "$(inherited)", - "-DFB_SONARKIT_ENABLED=1", - ); - OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -DFB_SONARKIT_ENABLED"; - 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 */ - 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "RNTester" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 13B07F941A680F5B00A75B9A /* Debug */, - 13B07F951A680F5B00A75B9A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "RNTesterPods" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 83CBBA201A601CBA00E9B192 /* Debug */, - 83CBBA211A601CBA00E9B192 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E7DB20A622B2BA84005AC45F /* Build configuration list for PBXNativeTarget "RNTesterUnitTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 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; - }; -/* End XCConfigurationList section */ - }; - rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; -} diff --git a/RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTesterUnitTests.xcscheme b/RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTesterUnitTests.xcscheme deleted file mode 100644 index 6b3629386d51a7..00000000000000 --- a/RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTesterUnitTests.xcscheme +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/RNTester/RNTesterUnitTests/RCTMultipartStreamReaderTests.m b/RNTester/RNTesterUnitTests/RCTMultipartStreamReaderTests.m deleted file mode 100644 index 827f882077a9ab..00000000000000 --- a/RNTester/RNTesterUnitTests/RCTMultipartStreamReaderTests.m +++ /dev/null @@ -1,100 +0,0 @@ -/* - * 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. - */ - -#import - -#import - -@interface RCTMultipartStreamReaderTests : XCTestCase - -@end - -@implementation RCTMultipartStreamReaderTests - -- (void)testSimpleCase { - NSString *response = - @"preable, should be ignored\r\n" - @"--sample_boundary\r\n" - @"Content-Type: application/json; charset=utf-8\r\n" - @"Content-Length: 2\r\n\r\n" - @"{}\r\n" - @"--sample_boundary--\r\n" - @"epilogue, should be ignored"; - - NSInputStream *inputStream = [NSInputStream inputStreamWithData:[response dataUsingEncoding:NSUTF8StringEncoding]]; - RCTMultipartStreamReader *reader = [[RCTMultipartStreamReader alloc] initWithInputStream:inputStream boundary:@"sample_boundary"]; - __block NSInteger count = 0; - BOOL success = [reader readAllPartsWithCompletionCallback:^(NSDictionary *headers, NSData *content, BOOL done) { - XCTAssertTrue(done); - XCTAssertEqualObjects(headers[@"Content-Type"], @"application/json; charset=utf-8"); - XCTAssertEqualObjects([[NSString alloc] initWithData:content encoding:NSUTF8StringEncoding], @"{}"); - count++; - } progressCallback: nil]; - XCTAssertTrue(success); - XCTAssertEqual(count, 1); -} - -- (void)testMultipleParts { - NSString *response = - @"preable, should be ignored\r\n" - @"--sample_boundary\r\n" - @"1\r\n" - @"--sample_boundary\r\n" - @"2\r\n" - @"--sample_boundary\r\n" - @"3\r\n" - @"--sample_boundary--\r\n" - @"epilogue, should be ignored"; - - NSInputStream *inputStream = [NSInputStream inputStreamWithData:[response dataUsingEncoding:NSUTF8StringEncoding]]; - RCTMultipartStreamReader *reader = [[RCTMultipartStreamReader alloc] initWithInputStream:inputStream boundary:@"sample_boundary"]; - __block NSInteger count = 0; - BOOL success = [reader readAllPartsWithCompletionCallback:^(__unused NSDictionary *headers, NSData *content, BOOL done) { - count++; - XCTAssertEqual(done, count == 3); - NSString *expectedBody = [NSString stringWithFormat:@"%ld", (long)count]; - NSString *actualBody = [[NSString alloc] initWithData:content encoding:NSUTF8StringEncoding]; - XCTAssertEqualObjects(actualBody, expectedBody); - } progressCallback:nil]; - XCTAssertTrue(success); - XCTAssertEqual(count, 3); -} - -- (void)testNoDelimiter { - NSString *response = @"Yolo"; - - NSInputStream *inputStream = [NSInputStream inputStreamWithData:[response dataUsingEncoding:NSUTF8StringEncoding]]; - RCTMultipartStreamReader *reader = [[RCTMultipartStreamReader alloc] initWithInputStream:inputStream boundary:@"sample_boundary"]; - __block NSInteger count = 0; - BOOL success = [reader readAllPartsWithCompletionCallback:^(__unused NSDictionary *headers, __unused NSData *content, __unused BOOL done) { - count++; - } progressCallback:nil]; - XCTAssertFalse(success); - XCTAssertEqual(count, 0); -} - -- (void)testNoCloseDelimiter { - NSString *response = - @"preable, should be ignored\r\n" - @"--sample_boundary\r\n" - @"Content-Type: application/json; charset=utf-8\r\n" - @"Content-Length: 2\r\n\r\n" - @"{}\r\n" - @"--sample_boundary\r\n" - @"incomplete message..."; - - NSInputStream *inputStream = [NSInputStream inputStreamWithData:[response dataUsingEncoding:NSUTF8StringEncoding]]; - RCTMultipartStreamReader *reader = [[RCTMultipartStreamReader alloc] initWithInputStream:inputStream boundary:@"sample_boundary"]; - __block NSInteger count = 0; - BOOL success = [reader readAllPartsWithCompletionCallback:^(__unused NSDictionary *headers, __unused NSData *content, __unused BOOL done) { - count++; - } progressCallback:nil]; - XCTAssertFalse(success); - XCTAssertEqual(count, 1); -} - -@end diff --git a/RNTester/android/app/_BUCK b/RNTester/android/app/_BUCK deleted file mode 100644 index 36279061dd8708..00000000000000 --- a/RNTester/android/app/_BUCK +++ /dev/null @@ -1,41 +0,0 @@ -load("//tools/build_defs/oss:rn_defs.bzl", "KEYSTORE_TARGET", "react_native_dep", "react_native_target", "rn_android_binary", "rn_android_library", "rn_android_resource") - -rn_android_binary( - name = "app", - keystore = KEYSTORE_TARGET, - manifest = "src/main/AndroidManifest.xml", - deps = [ - ":rntester-lib", - ], -) - -rn_android_library( - name = "rntester-lib", - srcs = glob(["src/main/java/**/*.java"]), - is_androidx = True, - deps = [ - ":res", - react_native_dep("libraries/soloader/java/com/facebook/soloader:soloader"), - react_native_dep("third-party/android/androidx:annotation"), - react_native_dep("third-party/android/androidx:appcompat"), - react_native_dep("third-party/android/androidx:core"), - react_native_dep("third-party/android/androidx:fragment"), - react_native_dep("third-party/android/androidx:legacy-support-core-ui"), - react_native_dep("third-party/android/androidx:legacy-support-core-utils"), - react_native_dep("third-party/java/jsr-305:jsr-305"), - react_native_target("java/com/facebook/react:react"), - react_native_target("java/com/facebook/react/common:build_config"), - react_native_target("java/com/facebook/react/modules/core:core"), - react_native_target("java/com/facebook/react/views/text:text"), - react_native_target("java/com/facebook/react/shell:shell"), - react_native_target("jni/prebuilt:android-jsc"), - # .so files are prebuilt by Gradle with `./gradlew :ReactAndroid:packageReactNdkLibsForBuck` - react_native_target("jni/prebuilt:reactnative-libs"), - ], -) - -rn_android_resource( - name = "res", - package = "com.facebook.react.uiapp", - res = "src/main/res", -) diff --git a/RNTester/android/app/build.gradle b/RNTester/android/app/build.gradle deleted file mode 100644 index 0a36475ade519b..00000000000000 --- a/RNTester/android/app/build.gradle +++ /dev/null @@ -1,199 +0,0 @@ -/* - * 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. - */ - -plugins { - id("com.android.application") -} - -/** - * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets - * and bundleReleaseJsAndAssets). - * These basically call `react-native bundle` with the correct arguments during the Android build - * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the - * bundle directly from the development server. Below you can see all the possible configurations - * and their defaults. If you decide to add a configuration block, make sure to add it before the - * `apply from: "react.gradle"` line. - * - * project.ext.react = [ - * // the name of the generated asset file containing your JS bundle - * bundleAssetName: "index.android.bundle", - * - * // the entry file for bundle generation - * entryFile: "index.android.js", - * - * // whether to bundle JS and assets in debug mode - * bundleInDebug: false, - * - * // whether to bundle JS and assets in release mode - * bundleInRelease: true, - * - * // whether to bundle JS and assets in another build variant (if configured). - * // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants - * // The configuration property is in the format 'bundleIn${productFlavor}${buildType}' - * // bundleInFreeDebug: true, - * // bundleInPaidRelease: true, - * // bundleInBeta: true, - * - * // the root of your project, i.e. where "package.json" lives - * root: "../../", - * - * // where to put the JS bundle asset in debug mode - * jsBundleDirDebug: "$buildDir/intermediates/assets/debug", - * - * // where to put the JS bundle asset in release mode - * jsBundleDirRelease: "$buildDir/intermediates/assets/release", - * - * // where to put drawable resources / React Native assets, e.g. the ones you use via - * // require('./image.png')), in debug mode - * resourcesDirDebug: "$buildDir/intermediates/res/merged/debug", - * - * // where to put drawable resources / React Native assets, e.g. the ones you use via - * // require('./image.png')), in release mode - * resourcesDirRelease: "$buildDir/intermediates/res/merged/release", - * - * // by default the gradle tasks are skipped if none of the JS files or assets change; this means - * // that we don't look at files in android/ or ios/ to determine whether the tasks are up to - * // date; if you have any other folders that you want to ignore for performance reasons (gradle - * // indexes the entire tree), add them here. Alternatively, if you have JS files in android/ - * // for example, you might want to remove it from here. - * inputExcludes: ["android/**", "ios/**"] - * ] - */ - -project.ext.react = [ - cliPath: "$rootDir/cli.js", - bundleAssetName: "RNTesterApp.android.bundle", - entryFile: file("../../js/RNTesterApp.android.js"), - root: "$rootDir", - inputExcludes: ["android/**", "./**", ".gradle/**"], - composeSourceMapsPath: "$rootDir/scripts/compose-source-maps.js", - hermesCommand: "../../../node_modules/hermes-engine/%OS-BIN%/hermesc", - enableHermesForVariant: { def v -> v.name.contains("hermes") } -] - -apply from: "../../../react.gradle" - -/** - * Set this to true to create three separate APKs instead of one: - * - A universal APK that works on all devices - * - An APK that only works on ARM devices - * - An APK that only works on x86 devices - * The advantage is the size of the APK is reduced by about 4MB. - * Upload all the APKs to the Play Store and people will download - * the correct one based on the CPU architecture of their device. - */ -def enableSeparateBuildPerCPUArchitecture = true - -/** - * Run Proguard to shrink the Java bytecode in release builds. - */ -def enableProguardInReleaseBuilds = true - -/** - * Use the international variant of JavaScriptCore - * This variant includes the ICU i18n library to make APIs like `Date.toLocaleString` - * and `String.localeCompare` work when using with locales other than en-US. - * Note that this variant is about 6MiB larger per architecture than the default. - */ -def useIntlJsc = false - -android { - compileSdkVersion 29 - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - flavorDimensions "vm" - productFlavors { - hermes { - dimension "vm" - } - jsc { - dimension "vm" - } - } - - defaultConfig { - applicationId "com.facebook.react.uiapp" - minSdkVersion 18 - targetSdkVersion 29 - versionCode 1 - versionName "1.0" - testBuildType System.getProperty('testBuildType', 'debug') // This will later be used to control the test apk build type - testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' - } - signingConfigs { - release { - storeFile file(MYAPP_RELEASE_STORE_FILE) - storePassword MYAPP_RELEASE_STORE_PASSWORD - keyAlias MYAPP_RELEASE_KEY_ALIAS - keyPassword MYAPP_RELEASE_KEY_PASSWORD - } - } - splits { - abi { - enable enableSeparateBuildPerCPUArchitecture - universalApk false - reset() - include "armeabi-v7a", "x86", "x86_64", "arm64-v8a" - } - } - buildTypes { - debug { - signingConfig signingConfigs.release - } - release { - minifyEnabled enableProguardInReleaseBuilds - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - signingConfig signingConfigs.release - // Detox-specific additions to pro-guard - proguardFile "${rootProject.projectDir}/../node_modules/detox/android/detox/proguard-rules-app.pro" - } - } -} - -configurations { - hermesDebugImplementation {} - hermesReleaseImplementation {} -} - -dependencies { - implementation fileTree(dir: 'libs', include: ['*.jar']) - - // Build React Native from source - implementation project(':ReactAndroid') - - implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0" - - def hermesPath = '$projectDir/../../../../node_modules/hermes-engine/android/' - hermesDebugImplementation files(hermesPath + "hermes-debug.aar") - hermesReleaseImplementation files(hermesPath + "hermes-release.aar") - - debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") { - exclude group:'com.facebook.fbjni' - } - - debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") { - exclude group:'com.facebook.flipper' - } - - debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") { - exclude group:'com.facebook.flipper' - } - - if (useIntlJsc) { - jscImplementation 'org.webkit:android-jsc-intl:+' - } else { - jscImplementation 'org.webkit:android-jsc:+' - } - - // Use detox test library - androidTestImplementation('com.wix:detox:+') { transitive = true } - androidTestImplementation 'junit:junit:4.12' -} diff --git a/RNTester/android/app/gradle.properties b/RNTester/android/app/gradle.properties deleted file mode 100644 index 4ff9751aab7d8b..00000000000000 --- a/RNTester/android/app/gradle.properties +++ /dev/null @@ -1,12 +0,0 @@ -org.gradle.parallel=true -org.gradle.configureondemand=true -MYAPP_RELEASE_STORE_FILE=my-release-key.keystore -MYAPP_RELEASE_KEY_ALIAS=androiddebugkey -MYAPP_RELEASE_STORE_PASSWORD=android -MYAPP_RELEASE_KEY_PASSWORD=android - -android.useAndroidX=true -android.enableJetifier=true - -# Version of flipper SDK to use with React Native -FLIPPER_VERSION=0.37.0 diff --git a/RNTester/android/app/src/androidTest/java/com/facebook/react/uiapp/DetoxTest.java b/RNTester/android/app/src/androidTest/java/com/facebook/react/uiapp/DetoxTest.java deleted file mode 100644 index f9febfa3b3845f..00000000000000 --- a/RNTester/android/app/src/androidTest/java/com/facebook/react/uiapp/DetoxTest.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * 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. - */ - -// This uses instructions from -// https://github.com/wix/Detox/blob/master/docs/Introduction.Android.md#4-create-android-test-class - -package com.facebook.react.uiapp; - -import androidx.test.ext.junit.runners.AndroidJUnit4; -import androidx.test.filters.LargeTest; -import androidx.test.rule.ActivityTestRule; -import com.wix.detox.Detox; -import org.junit.Rule; -import org.junit.Test; -import org.junit.runner.RunWith; - -@RunWith(AndroidJUnit4.class) -@LargeTest -public class DetoxTest { - - @Rule - public ActivityTestRule mActivityRule = - new ActivityTestRule<>(RNTesterActivity.class, false, false); - - @Test - public void runDetoxTests() { - Detox.runTests(mActivityRule); - } -} diff --git a/RNTester/android/app/src/main/AndroidManifest.xml b/RNTester/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index d47ee519ae3180..00000000000000 --- a/RNTester/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/RNTester/android/app/src/main/assets/fonts/notoserif.ttf b/RNTester/android/app/src/main/assets/fonts/notoserif.ttf deleted file mode 100755 index a1c6f1059970cd..00000000000000 Binary files a/RNTester/android/app/src/main/assets/fonts/notoserif.ttf and /dev/null differ diff --git a/RNTester/android/app/src/main/assets/fonts/notoserif_bold_italic.ttf b/RNTester/android/app/src/main/assets/fonts/notoserif_bold_italic.ttf deleted file mode 100755 index 32d38afee8dd86..00000000000000 Binary files a/RNTester/android/app/src/main/assets/fonts/notoserif_bold_italic.ttf and /dev/null differ diff --git a/RNTester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterActivity.java b/RNTester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterActivity.java deleted file mode 100644 index 276a1d899d340f..00000000000000 --- a/RNTester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterActivity.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * 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. - */ - -package com.facebook.react.uiapp; - -import android.content.res.Configuration; -import android.os.Bundle; -import androidx.annotation.Nullable; -import com.facebook.react.ReactActivity; -import com.facebook.react.ReactActivityDelegate; -import com.facebook.react.ReactInstanceManager; - -public class RNTesterActivity extends ReactActivity { - public static class RNTesterActivityDelegate extends ReactActivityDelegate { - private static final String PARAM_ROUTE = "route"; - private Bundle mInitialProps = null; - private final @Nullable ReactActivity mActivity; - - public RNTesterActivityDelegate(ReactActivity activity, String mainComponentName) { - super(activity, mainComponentName); - this.mActivity = activity; - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - // Get remote param before calling super which uses it - Bundle bundle = mActivity.getIntent().getExtras(); - if (bundle != null && bundle.containsKey(PARAM_ROUTE)) { - String routeUri = - new StringBuilder("rntester://example/") - .append(bundle.getString(PARAM_ROUTE)) - .append("Example") - .toString(); - mInitialProps = new Bundle(); - mInitialProps.putString("exampleFromAppetizeParams", routeUri); - } - super.onCreate(savedInstanceState); - } - - @Override - protected Bundle getLaunchOptions() { - return mInitialProps; - } - } - - @Override - protected ReactActivityDelegate createReactActivityDelegate() { - return new RNTesterActivityDelegate(this, getMainComponentName()); - } - - @Override - protected String getMainComponentName() { - return "RNTesterApp"; - } - - @Override - public void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - ReactInstanceManager instanceManager = getReactInstanceManager(); - - if (instanceManager != null) { - instanceManager.onConfigurationChanged(this, newConfig); - } - } -} diff --git a/RNTester/android/app/src/main/res/drawable/ic_create_black_48dp.png b/RNTester/android/app/src/main/res/drawable/ic_create_black_48dp.png deleted file mode 100644 index d3c4ccef2f5b4f..00000000000000 Binary files a/RNTester/android/app/src/main/res/drawable/ic_create_black_48dp.png and /dev/null differ diff --git a/RNTester/android/app/src/main/res/drawable/ic_menu_black_24dp.png b/RNTester/android/app/src/main/res/drawable/ic_menu_black_24dp.png deleted file mode 100644 index ac882bca8968ed..00000000000000 Binary files a/RNTester/android/app/src/main/res/drawable/ic_menu_black_24dp.png and /dev/null differ diff --git a/RNTester/android/app/src/main/res/drawable/ic_settings_black_48dp.png b/RNTester/android/app/src/main/res/drawable/ic_settings_black_48dp.png deleted file mode 100644 index bce161d005a26e..00000000000000 Binary files a/RNTester/android/app/src/main/res/drawable/ic_settings_black_48dp.png and /dev/null differ diff --git a/RNTester/android/app/src/main/res/drawable/launcher_icon.png b/RNTester/android/app/src/main/res/drawable/launcher_icon.png deleted file mode 100644 index a4aa3bd6d9acdc..00000000000000 Binary files a/RNTester/android/app/src/main/res/drawable/launcher_icon.png and /dev/null differ diff --git a/RNTester/android/app/src/main/res/drawable/legacy_image.png b/RNTester/android/app/src/main/res/drawable/legacy_image.png deleted file mode 100644 index 7205b1e47d08ad..00000000000000 Binary files a/RNTester/android/app/src/main/res/drawable/legacy_image.png and /dev/null differ diff --git a/RNTester/android/app/src/main/res/drawable/tv_banner.png b/RNTester/android/app/src/main/res/drawable/tv_banner.png deleted file mode 100644 index d67884677f12f9..00000000000000 Binary files a/RNTester/android/app/src/main/res/drawable/tv_banner.png and /dev/null differ diff --git a/RNTester/android/app/src/main/res/font/rubik.xml b/RNTester/android/app/src/main/res/font/rubik.xml deleted file mode 100644 index e850a0bc78aa35..00000000000000 --- a/RNTester/android/app/src/main/res/font/rubik.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/RNTester/android/app/src/main/res/font/rubik_bold.ttf b/RNTester/android/app/src/main/res/font/rubik_bold.ttf deleted file mode 100755 index 9b947dbf9df662..00000000000000 Binary files a/RNTester/android/app/src/main/res/font/rubik_bold.ttf and /dev/null differ diff --git a/RNTester/android/app/src/main/res/font/rubik_light.ttf b/RNTester/android/app/src/main/res/font/rubik_light.ttf deleted file mode 100755 index 1adb7d5815e302..00000000000000 Binary files a/RNTester/android/app/src/main/res/font/rubik_light.ttf and /dev/null differ diff --git a/RNTester/android/app/src/main/res/font/rubik_medium.ttf b/RNTester/android/app/src/main/res/font/rubik_medium.ttf deleted file mode 100755 index 24519e56fd46c7..00000000000000 Binary files a/RNTester/android/app/src/main/res/font/rubik_medium.ttf and /dev/null differ diff --git a/RNTester/android/app/src/main/res/font/rubik_medium_italic.ttf b/RNTester/android/app/src/main/res/font/rubik_medium_italic.ttf deleted file mode 100755 index 8a8c7fc6c6cc42..00000000000000 Binary files a/RNTester/android/app/src/main/res/font/rubik_medium_italic.ttf and /dev/null differ diff --git a/RNTester/android/app/src/main/res/font/rubik_regular.ttf b/RNTester/android/app/src/main/res/font/rubik_regular.ttf deleted file mode 100755 index f99fe1587432dd..00000000000000 Binary files a/RNTester/android/app/src/main/res/font/rubik_regular.ttf and /dev/null differ diff --git a/RNTester/android/app/src/main/res/layout/activity_main.xml b/RNTester/android/app/src/main/res/layout/activity_main.xml deleted file mode 100644 index d6793659dec6ff..00000000000000 --- a/RNTester/android/app/src/main/res/layout/activity_main.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - diff --git a/RNTester/android/app/src/main/res/values/strings.xml b/RNTester/android/app/src/main/res/values/strings.xml deleted file mode 100644 index 10487f504c9208..00000000000000 --- a/RNTester/android/app/src/main/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - RNTester App - diff --git a/packages/RNTester/.buckconfig b/packages/RNTester/.buckconfig new file mode 100644 index 00000000000000..934256cb29d4a3 --- /dev/null +++ b/packages/RNTester/.buckconfig @@ -0,0 +1,6 @@ + +[android] + target = Google Inc.:Google APIs:23 + +[maven_repositories] + central = https://repo1.maven.org/maven2 diff --git a/packages/RNTester/.detoxrc.json b/packages/RNTester/.detoxrc.json new file mode 100644 index 00000000000000..02a17cb463d670 --- /dev/null +++ b/packages/RNTester/.detoxrc.json @@ -0,0 +1,34 @@ +{ + "testRunner": "jest", + "runnerConfig": "e2e/config.json", + "configurations": { + "android.emu.debug": { + "binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk", + "build": "cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd ..", + "type": "android.emulator", + "device": { + "avdName": "testAVD" + } + }, + "android.emu.release": { + "binaryPath": "android/app/build/outputs/apk/release/app-release.apk", + "build": "cd android && ./gradlew assembleRelease assembleAndroidTest -DtestBuildType=release && cd ..", + "type": "android.emulator", + "device": { + "avdName": "Pixel_API_28" + } + }, + "ios.sim.release": { + "binaryPath": "ios/build/Build/Products/Release-iphonesimulator/RNTester.app/", + "build": "xcodebuild -workspace ios/RNTester.xcworkspace -scheme RNTester -configuration Release -sdk iphonesimulator -derivedDataPath ios/build -UseModernBuildSystem=NO -quiet", + "type": "ios.simulator", + "name": "iPhone 8" + }, + "ios.sim.debug": { + "binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/RNTester.app/", + "build": "xcodebuild -workspace ios/RNTester.xcworkspace -scheme RNTester -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build -UseModernBuildSystem=NO -quiet", + "type": "ios.simulator", + "name": "iPhone 8" + } + } +} diff --git a/packages/RNTester/.eslintrc.js b/packages/RNTester/.eslintrc.js new file mode 100644 index 00000000000000..40c6dcd05f3100 --- /dev/null +++ b/packages/RNTester/.eslintrc.js @@ -0,0 +1,4 @@ +module.exports = { + root: true, + extends: '@react-native-community', +}; diff --git a/packages/RNTester/.flowconfig b/packages/RNTester/.flowconfig new file mode 100644 index 00000000000000..cf6ed13e017b7c --- /dev/null +++ b/packages/RNTester/.flowconfig @@ -0,0 +1,74 @@ +[ignore] +; We fork some components by platform +.*/*[.]android.js + +; Ignore "BUCK" generated dirs +/\.buckd/ + +; Ignore polyfills +node_modules/react-native/Libraries/polyfills/.* + +; These should not be required directly +; require from fbjs/lib instead: require('fbjs/lib/warning') +node_modules/warning/.* + +; Flow doesn't support platforms +.*/Libraries/Utilities/LoadingView.js + +[untyped] +.*/node_modules/@react-native-community/cli/.*/.* + +[include] + +[libs] +node_modules/react-native/interface.js +node_modules/react-native/flow/ + +[options] +emoji=true + +esproposal.optional_chaining=enable +esproposal.nullish_coalescing=enable + +module.file_ext=.js +module.file_ext=.json +module.file_ext=.ios.js + +munge_underscores=true + +module.name_mapper='^react-native/\(.*\)$' -> '/node_modules/react-native/\1' +module.name_mapper='^@?[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '/node_modules/react-native/Libraries/Image/RelativeImageStub' + +suppress_type=$FlowIssue +suppress_type=$FlowFixMe +suppress_type=$FlowFixMeProps +suppress_type=$FlowFixMeState + +suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\) +suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)?:? #[0-9]+ +suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError + +[lints] +sketchy-null-number=warn +sketchy-null-mixed=warn +sketchy-number=warn +untyped-type-import=warn +nonstrict-import=warn +deprecated-type=warn +unsafe-getters-setters=warn +; inexact-spread=warn +unnecessary-invariant=warn +signature-verification-failure=warn +deprecated-utility=error + +[strict] +deprecated-type +nonstrict-import +sketchy-null +unclear-type +unsafe-getters-setters +untyped-import +untyped-type-import + +[version] +^0.113.0 diff --git a/packages/RNTester/.gitattributes b/packages/RNTester/.gitattributes new file mode 100644 index 00000000000000..d42ff18354df61 --- /dev/null +++ b/packages/RNTester/.gitattributes @@ -0,0 +1 @@ +*.pbxproj -text diff --git a/packages/RNTester/.gitignore b/packages/RNTester/.gitignore new file mode 100644 index 00000000000000..ad572e632bc8ce --- /dev/null +++ b/packages/RNTester/.gitignore @@ -0,0 +1,59 @@ +# OSX +# +.DS_Store + +# Xcode +# +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcuserstate + +# Android/IntelliJ +# +build/ +.idea +.gradle +local.properties +*.iml + +# node.js +# +node_modules/ +npm-debug.log +yarn-error.log + +# BUCK +buck-out/ +\.buckd/ +*.keystore +!debug.keystore + +# fastlane +# +# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the +# screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/ + +*/fastlane/report.xml +*/fastlane/Preview.html +*/fastlane/screenshots + +# Bundle artifact +*.jsbundle + +# CocoaPods +/ios/Pods/ diff --git a/packages/RNTester/.prettierrc.js b/packages/RNTester/.prettierrc.js new file mode 100644 index 00000000000000..5c4de1a4f6592d --- /dev/null +++ b/packages/RNTester/.prettierrc.js @@ -0,0 +1,6 @@ +module.exports = { + bracketSpacing: false, + jsxBracketSameLine: true, + singleQuote: true, + trailingComma: 'all', +}; diff --git a/packages/RNTester/App.js b/packages/RNTester/App.js new file mode 100644 index 00000000000000..1165b15c5215bf --- /dev/null +++ b/packages/RNTester/App.js @@ -0,0 +1,31 @@ +/** + * 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. + * + * @format + * @flow + */ + +'use strict'; + +import React from 'react'; +import {StyleSheet, View} from 'react-native'; +import RNTesterApp from './js/RNTesterApp'; + +const App: () => React$Node = () => { + return ( + + + + ); +}; + +const styles = StyleSheet.create({ + container: { + flex: 1, + }, +}); + +export default App; diff --git a/RNTester/RCTTest/FBSnapshotTestCase/FBSnapshotTestCase.h b/packages/RNTester/RCTTest/FBSnapshotTestCase/FBSnapshotTestCase.h similarity index 100% rename from RNTester/RCTTest/FBSnapshotTestCase/FBSnapshotTestCase.h rename to packages/RNTester/RCTTest/FBSnapshotTestCase/FBSnapshotTestCase.h diff --git a/RNTester/RCTTest/FBSnapshotTestCase/FBSnapshotTestCase.m b/packages/RNTester/RCTTest/FBSnapshotTestCase/FBSnapshotTestCase.m similarity index 100% rename from RNTester/RCTTest/FBSnapshotTestCase/FBSnapshotTestCase.m rename to packages/RNTester/RCTTest/FBSnapshotTestCase/FBSnapshotTestCase.m diff --git a/RNTester/RCTTest/FBSnapshotTestCase/FBSnapshotTestController.h b/packages/RNTester/RCTTest/FBSnapshotTestCase/FBSnapshotTestController.h similarity index 100% rename from RNTester/RCTTest/FBSnapshotTestCase/FBSnapshotTestController.h rename to packages/RNTester/RCTTest/FBSnapshotTestCase/FBSnapshotTestController.h diff --git a/RNTester/RCTTest/FBSnapshotTestCase/FBSnapshotTestController.m b/packages/RNTester/RCTTest/FBSnapshotTestCase/FBSnapshotTestController.m similarity index 100% rename from RNTester/RCTTest/FBSnapshotTestCase/FBSnapshotTestController.m rename to packages/RNTester/RCTTest/FBSnapshotTestCase/FBSnapshotTestController.m diff --git a/RNTester/RCTTest/FBSnapshotTestCase/UIImage+Compare.h b/packages/RNTester/RCTTest/FBSnapshotTestCase/UIImage+Compare.h similarity index 100% rename from RNTester/RCTTest/FBSnapshotTestCase/UIImage+Compare.h rename to packages/RNTester/RCTTest/FBSnapshotTestCase/UIImage+Compare.h diff --git a/RNTester/RCTTest/FBSnapshotTestCase/UIImage+Compare.m b/packages/RNTester/RCTTest/FBSnapshotTestCase/UIImage+Compare.m similarity index 100% rename from RNTester/RCTTest/FBSnapshotTestCase/UIImage+Compare.m rename to packages/RNTester/RCTTest/FBSnapshotTestCase/UIImage+Compare.m diff --git a/RNTester/RCTTest/FBSnapshotTestCase/UIImage+Diff.h b/packages/RNTester/RCTTest/FBSnapshotTestCase/UIImage+Diff.h similarity index 100% rename from RNTester/RCTTest/FBSnapshotTestCase/UIImage+Diff.h rename to packages/RNTester/RCTTest/FBSnapshotTestCase/UIImage+Diff.h diff --git a/RNTester/RCTTest/FBSnapshotTestCase/UIImage+Diff.m b/packages/RNTester/RCTTest/FBSnapshotTestCase/UIImage+Diff.m similarity index 100% rename from RNTester/RCTTest/FBSnapshotTestCase/UIImage+Diff.m rename to packages/RNTester/RCTTest/FBSnapshotTestCase/UIImage+Diff.m diff --git a/RNTester/RCTTest/RCTSnapshotManager.h b/packages/RNTester/RCTTest/RCTSnapshotManager.h similarity index 100% rename from RNTester/RCTTest/RCTSnapshotManager.h rename to packages/RNTester/RCTTest/RCTSnapshotManager.h diff --git a/RNTester/RCTTest/RCTSnapshotManager.m b/packages/RNTester/RCTTest/RCTSnapshotManager.m similarity index 100% rename from RNTester/RCTTest/RCTSnapshotManager.m rename to packages/RNTester/RCTTest/RCTSnapshotManager.m diff --git a/RNTester/RCTTest/RCTSnapshotNativeComponent.js b/packages/RNTester/RCTTest/RCTSnapshotNativeComponent.js similarity index 100% rename from RNTester/RCTTest/RCTSnapshotNativeComponent.js rename to packages/RNTester/RCTTest/RCTSnapshotNativeComponent.js diff --git a/RNTester/RCTTest/RCTTestModule.h b/packages/RNTester/RCTTest/RCTTestModule.h similarity index 100% rename from RNTester/RCTTest/RCTTestModule.h rename to packages/RNTester/RCTTest/RCTTestModule.h diff --git a/RNTester/RCTTest/RCTTestModule.mm b/packages/RNTester/RCTTest/RCTTestModule.mm similarity index 100% rename from RNTester/RCTTest/RCTTestModule.mm rename to packages/RNTester/RCTTest/RCTTestModule.mm diff --git a/RNTester/RCTTest/RCTTestPlugins.h b/packages/RNTester/RCTTest/RCTTestPlugins.h similarity index 100% rename from RNTester/RCTTest/RCTTestPlugins.h rename to packages/RNTester/RCTTest/RCTTestPlugins.h diff --git a/RNTester/RCTTest/RCTTestPlugins.mm b/packages/RNTester/RCTTest/RCTTestPlugins.mm similarity index 100% rename from RNTester/RCTTest/RCTTestPlugins.mm rename to packages/RNTester/RCTTest/RCTTestPlugins.mm diff --git a/RNTester/RCTTest/RCTTestRunner.h b/packages/RNTester/RCTTest/RCTTestRunner.h similarity index 100% rename from RNTester/RCTTest/RCTTestRunner.h rename to packages/RNTester/RCTTest/RCTTestRunner.h diff --git a/RNTester/RCTTest/RCTTestRunner.m b/packages/RNTester/RCTTest/RCTTestRunner.m similarity index 100% rename from RNTester/RCTTest/RCTTestRunner.m rename to packages/RNTester/RCTTest/RCTTestRunner.m diff --git a/RNTester/RCTTest/React-RCTTest.podspec b/packages/RNTester/RCTTest/React-RCTTest.podspec similarity index 95% rename from RNTester/RCTTest/React-RCTTest.podspec rename to packages/RNTester/RCTTest/React-RCTTest.podspec index 3391cc248908fd..46f891c0988457 100644 --- a/RNTester/RCTTest/React-RCTTest.podspec +++ b/packages/RNTester/RCTTest/React-RCTTest.podspec @@ -5,7 +5,7 @@ require "json" -package = JSON.parse(File.read(File.join(__dir__, "..", "..", "package.json"))) +package = JSON.parse(File.read(File.join(__dir__, "..", "package.json"))) version = package['version'] source = { :git => 'https://github.com/facebook/react-native.git' } diff --git a/RNTester/README.md b/packages/RNTester/README.md similarity index 90% rename from RNTester/README.md rename to packages/RNTester/README.md index e286de8cb51702..2d69d8061cee10 100644 --- a/RNTester/README.md +++ b/packages/RNTester/README.md @@ -10,12 +10,16 @@ Before running the app, make sure you ran: cd react-native yarn install +Also, make sure you run the following commands: +In the root `react-native` directory, run `yarn link`. Following this, in `react-native/packages/RNTester`, run `yarn link react-native`. + ### Running on iOS Both macOS and Xcode are required. - Install [Bundler](https://bundler.io/): `gem install bundler`. We use bundler to install the right version of [CocoaPods](https://cocoapods.org/) locally. - Install Bundler and CocoaPods dependencies: `bundle install && bundle exec pod install` +- Run `react-native start` or `yarn start` in `packages/RNTester`. - 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 @@ -49,7 +53,7 @@ Run the following commands from the react-native folder: _Note: The native libs are still built using gradle. Full build with buck is coming soon(tm)._ -## Running Detox Tests on iOS +## Running Detox Tests on iOS (Note: Detox tests aren't completely configured yet.) Install Detox from [here](https://github.com/wix/Detox/blob/master/docs/Introduction.GettingStarted.md). diff --git a/packages/RNTester/__tests__/App-test.js b/packages/RNTester/__tests__/App-test.js new file mode 100644 index 00000000000000..178476699b6055 --- /dev/null +++ b/packages/RNTester/__tests__/App-test.js @@ -0,0 +1,14 @@ +/** + * @format + */ + +import 'react-native'; +import React from 'react'; +import App from '../App'; + +// Note: test renderer must be required after react-native. +import renderer from 'react-test-renderer'; + +it('renders correctly', () => { + renderer.create(); +}); diff --git a/packages/RNTester/android/app/BUCK b/packages/RNTester/android/app/BUCK new file mode 100644 index 00000000000000..c05437cb002cab --- /dev/null +++ b/packages/RNTester/android/app/BUCK @@ -0,0 +1,55 @@ +# To learn about Buck see [Docs](https://buckbuild.com/). +# To run your application with Buck: +# - install Buck +# - `npm start` - to start the packager +# - `cd android` +# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"` +# - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck +# - `buck install -r android/app` - compile, install and run application +# + +load(":build_defs.bzl", "create_aar_targets", "create_jar_targets") + +lib_deps = [] + +create_aar_targets(glob(["libs/*.aar"])) + +create_jar_targets(glob(["libs/*.jar"])) + +android_library( + name = "all-libs", + exported_deps = lib_deps, +) + +android_library( + name = "app-code", + srcs = glob([ + "src/main/java/**/*.java", + ]), + deps = [ + ":all-libs", + ":build_config", + ":res", + ], +) + +android_build_config( + name = "build_config", + package = "com.rntester", +) + +android_resource( + name = "res", + package = "com.rntester", + res = "src/main/res", +) + +android_binary( + name = "app", + keystore = "//android/keystores:debug", + manifest = "src/main/AndroidManifest.xml", + package_type = "debug", + deps = [ + ":app-code", + ], +) diff --git a/packages/RNTester/android/app/build.gradle b/packages/RNTester/android/app/build.gradle new file mode 100644 index 00000000000000..65f37f94477963 --- /dev/null +++ b/packages/RNTester/android/app/build.gradle @@ -0,0 +1,228 @@ +apply plugin: "com.android.application" + +import com.android.build.OutputFile + +/** + * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets + * and bundleReleaseJsAndAssets). + * These basically call `react-native bundle` with the correct arguments during the Android build + * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the + * bundle directly from the development server. Below you can see all the possible configurations + * and their defaults. If you decide to add a configuration block, make sure to add it before the + * `apply from: "../../node_modules/react-native/react.gradle"` line. + * + * project.ext.react = [ + * // the name of the generated asset file containing your JS bundle + * bundleAssetName: "index.android.bundle", + * + * // the entry file for bundle generation. If none specified and + * // "index.android.js" exists, it will be used. Otherwise "index.js" is + * // default. Can be overridden with ENTRY_FILE environment variable. + * entryFile: "index.android.js", + * + * // https://facebook.github.io/react-native/docs/performance#enable-the-ram-format + * bundleCommand: "ram-bundle", + * + * // whether to bundle JS and assets in debug mode + * bundleInDebug: false, + * + * // whether to bundle JS and assets in release mode + * bundleInRelease: true, + * + * // whether to bundle JS and assets in another build variant (if configured). + * // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants + * // The configuration property can be in the following formats + * // 'bundleIn${productFlavor}${buildType}' + * // 'bundleIn${buildType}' + * // bundleInFreeDebug: true, + * // bundleInPaidRelease: true, + * // bundleInBeta: true, + * + * // whether to disable dev mode in custom build variants (by default only disabled in release) + * // for example: to disable dev mode in the staging build type (if configured) + * devDisabledInStaging: true, + * // The configuration property can be in the following formats + * // 'devDisabledIn${productFlavor}${buildType}' + * // 'devDisabledIn${buildType}' + * + * // the root of your project, i.e. where "package.json" lives + * root: "../../", + * + * // where to put the JS bundle asset in debug mode + * jsBundleDirDebug: "$buildDir/intermediates/assets/debug", + * + * // where to put the JS bundle asset in release mode + * jsBundleDirRelease: "$buildDir/intermediates/assets/release", + * + * // where to put drawable resources / React Native assets, e.g. the ones you use via + * // require('./image.png')), in debug mode + * resourcesDirDebug: "$buildDir/intermediates/res/merged/debug", + * + * // where to put drawable resources / React Native assets, e.g. the ones you use via + * // require('./image.png')), in release mode + * resourcesDirRelease: "$buildDir/intermediates/res/merged/release", + * + * // by default the gradle tasks are skipped if none of the JS files or assets change; this means + * // that we don't look at files in android/ or ios/ to determine whether the tasks are up to + * // date; if you have any other folders that you want to ignore for performance reasons (gradle + * // indexes the entire tree), add them here. Alternatively, if you have JS files in android/ + * // for example, you might want to remove it from here. + * inputExcludes: ["android/**", "ios/**"], + * + * // override which node gets called and with what additional arguments + * nodeExecutableAndArgs: ["node"], + * + * // supply additional arguments to the packager + * extraPackagerArgs: [] + * ] + */ + +project.ext.react = [ + enableHermes: false, // clean and rebuild if changing +] + +apply from: "../../node_modules/react-native/react.gradle" + +/** + * Set this to true to create two separate APKs instead of one: + * - An APK that only works on ARM devices + * - An APK that only works on x86 devices + * The advantage is the size of the APK is reduced by about 4MB. + * Upload all the APKs to the Play Store and people will download + * the correct one based on the CPU architecture of their device. + */ +def enableSeparateBuildPerCPUArchitecture = false + +/** + * Run Proguard to shrink the Java bytecode in release builds. + */ +def enableProguardInReleaseBuilds = false + +/** + * The preferred build flavor of JavaScriptCore. + * + * For example, to use the international variant, you can use: + * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` + * + * The international variant includes ICU i18n library and necessary data + * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that + * give correct results when using with locales other than en-US. Note that + * this variant is about 6MiB larger per architecture than default. + */ +def jscFlavor = 'org.webkit:android-jsc:+' + +/** + * Whether to enable the Hermes VM. + * + * This should be set on project.ext.react and mirrored here. If it is not set + * on project.ext.react, JavaScript will not be compiled to Hermes Bytecode + * and the benefits of using Hermes will therefore be sharply reduced. + */ +def enableHermes = project.ext.react.get("enableHermes", false); + +android { + compileSdkVersion rootProject.ext.compileSdkVersion + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + defaultConfig { + applicationId "com.rntester" + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion + versionCode 1 + versionName "1.0" + testBuildType System.getProperty('testBuildType', 'debug') // This will later be used to control the test apk build type + testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' + } + splits { + abi { + reset() + enable enableSeparateBuildPerCPUArchitecture + universalApk false // If true, also generate a universal APK + include "armeabi-v7a", "x86", "arm64-v8a", "x86_64" + } + } + signingConfigs { + debug { + storeFile file('debug.keystore') + storePassword 'android' + keyAlias 'androiddebugkey' + keyPassword 'android' + } + } + buildTypes { + debug { + signingConfig signingConfigs.debug + } + release { + // Caution! In production, you need to generate your own keystore file. + // see https://facebook.github.io/react-native/docs/signed-apk-android. + signingConfig signingConfigs.debug + minifyEnabled enableProguardInReleaseBuilds + proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" + } + } + + packagingOptions { + pickFirst "lib/armeabi-v7a/libc++_shared.so" + pickFirst "lib/arm64-v8a/libc++_shared.so" + pickFirst "lib/x86/libc++_shared.so" + pickFirst "lib/x86_64/libc++_shared.so" + } + + // applicationVariants are e.g. debug, release + applicationVariants.all { variant -> + variant.outputs.each { output -> + // For each separate APK per architecture, set a unique version code as described here: + // https://developer.android.com/studio/build/configure-apk-splits.html + def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4] + def abi = output.getFilter(OutputFile.ABI) + if (abi != null) { // null for the universal-debug, universal-release variants + output.versionCodeOverride = + versionCodes.get(abi) * 1048576 + defaultConfig.versionCode + } + + } + } +} + +dependencies { + implementation fileTree(dir: "libs", include: ["*.jar"]) + //noinspection GradleDynamicVersion + implementation project(':ReactAndroid') + + implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0" + + debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") { + exclude group:'com.facebook.fbjni' + } + + debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") { + exclude group:'com.facebook.flipper' + } + + debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") { + exclude group:'com.facebook.flipper' + } + + if (enableHermes) { + def hermesPath = "../../node_modules/hermes-engine/android/"; + debugImplementation files(hermesPath + "hermes-debug.aar") + releaseImplementation files(hermesPath + "hermes-release.aar") + } else { + implementation jscFlavor + } + androidTestImplementation('com.wix:detox:+') +} + +// Run this once to be able to run the application with BUCK +// puts all compile dependencies into folder libs for BUCK to use +task copyDownloadableDepsToLibs(type: Copy) { + from configurations.compile + into 'libs' +} + +apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) diff --git a/packages/RNTester/android/app/build_defs.bzl b/packages/RNTester/android/app/build_defs.bzl new file mode 100644 index 00000000000000..fff270f8d1d484 --- /dev/null +++ b/packages/RNTester/android/app/build_defs.bzl @@ -0,0 +1,19 @@ +"""Helper definitions to glob .aar and .jar targets""" + +def create_aar_targets(aarfiles): + for aarfile in aarfiles: + name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")] + lib_deps.append(":" + name) + android_prebuilt_aar( + name = name, + aar = aarfile, + ) + +def create_jar_targets(jarfiles): + for jarfile in jarfiles: + name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")] + lib_deps.append(":" + name) + prebuilt_jar( + name = name, + binary_jar = jarfile, + ) diff --git a/RNTester/android/app/my-release-key.keystore b/packages/RNTester/android/app/debug.keystore similarity index 100% rename from RNTester/android/app/my-release-key.keystore rename to packages/RNTester/android/app/debug.keystore diff --git a/RNTester/android/app/proguard-rules.pro b/packages/RNTester/android/app/proguard-rules.pro similarity index 70% rename from RNTester/android/app/proguard-rules.pro rename to packages/RNTester/android/app/proguard-rules.pro index f28b70eeded795..11b025724a3f7a 100644 --- a/RNTester/android/app/proguard-rules.pro +++ b/packages/RNTester/android/app/proguard-rules.pro @@ -1,8 +1,3 @@ -# 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. - # Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt diff --git a/packages/RNTester/android/app/src/androidTest/java/com/rntester/DetoxTest.java b/packages/RNTester/android/app/src/androidTest/java/com/rntester/DetoxTest.java new file mode 100644 index 00000000000000..e859d4b702e21c --- /dev/null +++ b/packages/RNTester/android/app/src/androidTest/java/com/rntester/DetoxTest.java @@ -0,0 +1,30 @@ +package com.rntester; + +import com.wix.detox.Detox; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; + +import androidx.test.ext.junit.runners.AndroidJUnit4; +import androidx.test.filters.LargeTest; +import androidx.test.rule.ActivityTestRule; + +@RunWith(AndroidJUnit4.class) +@LargeTest +public class DetoxTest { + + @Rule + // Replace 'MainActivity' with the value of android:name entry in + // in AndroidManifest.xml + public ActivityTestRule mActivityRule = new ActivityTestRule<>(MainActivity.class, false, false); + + @Test + public void runDetoxTests() { + Detox.DetoxIdlePolicyConfig idlePolicyConfig = new Detox.DetoxIdlePolicyConfig(); + idlePolicyConfig.masterTimeoutSec = 60; + idlePolicyConfig.idleResourceTimeoutSec = 30; + + Detox.runTests(mActivityRule, idlePolicyConfig); + } +} \ No newline at end of file diff --git a/RNTester/android/app/src/debug/AndroidManifest.xml b/packages/RNTester/android/app/src/debug/AndroidManifest.xml similarity index 100% rename from RNTester/android/app/src/debug/AndroidManifest.xml rename to packages/RNTester/android/app/src/debug/AndroidManifest.xml diff --git a/RNTester/android/app/src/debug/java/com/facebook/react/uiapp/ReactNativeFlipper.java b/packages/RNTester/android/app/src/debug/java/com/rntester/ReactNativeFlipper.java similarity index 95% rename from RNTester/android/app/src/debug/java/com/facebook/react/uiapp/ReactNativeFlipper.java rename to packages/RNTester/android/app/src/debug/java/com/rntester/ReactNativeFlipper.java index 4a9072566f642e..37e52324ae8102 100644 --- a/RNTester/android/app/src/debug/java/com/facebook/react/uiapp/ReactNativeFlipper.java +++ b/packages/RNTester/android/app/src/debug/java/com/rntester/ReactNativeFlipper.java @@ -1,10 +1,10 @@ -/* +/** * 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. + *

This source code is licensed under the MIT license found in the LICENSE file in the root + * directory of this source tree. */ -package com.facebook.react.uiapp; +package com.rntester; import android.content.Context; import com.facebook.flipper.android.AndroidFlipperClient; diff --git a/packages/RNTester/android/app/src/main/AndroidManifest.xml b/packages/RNTester/android/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000000000..fdf03ae0283418 --- /dev/null +++ b/packages/RNTester/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + diff --git a/packages/RNTester/android/app/src/main/java/com/rntester/MainActivity.java b/packages/RNTester/android/app/src/main/java/com/rntester/MainActivity.java new file mode 100644 index 00000000000000..f1c04bb4d51821 --- /dev/null +++ b/packages/RNTester/android/app/src/main/java/com/rntester/MainActivity.java @@ -0,0 +1,15 @@ +package com.rntester; + +import com.facebook.react.ReactActivity; + +public class MainActivity extends ReactActivity { + + /** + * Returns the name of the main component registered from JavaScript. This is used to schedule + * rendering of the component. + */ + @Override + protected String getMainComponentName() { + return "RNTester"; + } +} diff --git a/RNTester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterApplication.java b/packages/RNTester/android/app/src/main/java/com/rntester/MainApplication.java similarity index 66% rename from RNTester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterApplication.java rename to packages/RNTester/android/app/src/main/java/com/rntester/MainApplication.java index f272cd46d4c982..47a33efb82a896 100644 --- a/RNTester/android/app/src/main/java/com/facebook/react/uiapp/RNTesterApplication.java +++ b/packages/RNTester/android/app/src/main/java/com/rntester/MainApplication.java @@ -1,63 +1,53 @@ -/* - * 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. - */ - -package com.facebook.react.uiapp; +package com.rntester; import android.app.Application; import android.content.Context; -import com.facebook.react.BuildConfig; +import com.facebook.react.PackageList; import com.facebook.react.ReactApplication; +import com.reactnativecommunity.asyncstorage.AsyncStoragePackage; import com.facebook.react.ReactInstanceManager; import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; -import com.facebook.react.shell.MainReactPackage; -import com.facebook.react.views.text.ReactFontManager; import com.facebook.soloader.SoLoader; import java.lang.reflect.InvocationTargetException; -import java.util.Arrays; import java.util.List; -public class RNTesterApplication extends Application implements ReactApplication { +public class MainApplication extends Application implements ReactApplication { + private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { @Override - public String getJSMainModuleName() { - return "RNTester/js/RNTesterApp.android"; - } - - @Override - public String getBundleAssetName() { - return "RNTesterApp.android.bundle"; + public boolean getUseDeveloperSupport() { + return BuildConfig.DEBUG; } @Override - public boolean getUseDeveloperSupport() { - return BuildConfig.DEBUG; + protected List getPackages() { + @SuppressWarnings("UnnecessaryLocalVariable") + List packages = new PackageList(this).getPackages(); + // Packages that cannot be autolinked yet can be added manually here, for example: + // packages.add(new MyReactNativePackage()); + return packages; } @Override - public List getPackages() { - return Arrays.asList(new MainReactPackage()); + protected String getJSMainModuleName() { + return "index"; } }; + @Override + public ReactNativeHost getReactNativeHost() { + return mReactNativeHost; + } + @Override public void onCreate() { - ReactFontManager.getInstance().addCustomFont(this, "Rubik", R.font.rubik); super.onCreate(); SoLoader.init(this, /* native exopackage */ false); initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); } - @Override - public ReactNativeHost getReactNativeHost() { - return mReactNativeHost; - } - /** * Loads Flipper in React Native templates. Call this in the onCreate method with something like * initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); @@ -73,7 +63,7 @@ private static void initializeFlipper( We use reflection here to pick up the class that initializes Flipper, since Flipper library is not available in release mode */ - Class aClass = Class.forName("com.facebook.react.uiapp.ReactNativeFlipper"); + Class aClass = Class.forName("com.rntester.ReactNativeFlipper"); aClass .getMethod("initializeFlipper", Context.class, ReactInstanceManager.class) .invoke(null, context, reactInstanceManager); @@ -88,4 +78,4 @@ private static void initializeFlipper( } } } -}; +} diff --git a/packages/RNTester/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/packages/RNTester/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 00000000000000..a2f5908281d070 Binary files /dev/null and b/packages/RNTester/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/packages/RNTester/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/packages/RNTester/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 00000000000000..1b523998081149 Binary files /dev/null and b/packages/RNTester/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ diff --git a/packages/RNTester/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/packages/RNTester/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 00000000000000..ff10afd6e182ed Binary files /dev/null and b/packages/RNTester/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/packages/RNTester/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/packages/RNTester/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 00000000000000..115a4c768a20c9 Binary files /dev/null and b/packages/RNTester/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ diff --git a/packages/RNTester/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/packages/RNTester/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 00000000000000..dcd3cd80833582 Binary files /dev/null and b/packages/RNTester/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/packages/RNTester/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/packages/RNTester/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 00000000000000..459ca609d3ae0d Binary files /dev/null and b/packages/RNTester/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ diff --git a/packages/RNTester/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/packages/RNTester/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 00000000000000..8ca12fe024be86 Binary files /dev/null and b/packages/RNTester/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/packages/RNTester/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/packages/RNTester/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 00000000000000..8e19b410a1b15f Binary files /dev/null and b/packages/RNTester/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ diff --git a/packages/RNTester/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/packages/RNTester/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 00000000000000..b824ebdd48db91 Binary files /dev/null and b/packages/RNTester/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/packages/RNTester/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/packages/RNTester/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 00000000000000..4c19a13c239cb6 Binary files /dev/null and b/packages/RNTester/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ diff --git a/packages/RNTester/android/app/src/main/res/values/strings.xml b/packages/RNTester/android/app/src/main/res/values/strings.xml new file mode 100644 index 00000000000000..81082d6cb29564 --- /dev/null +++ b/packages/RNTester/android/app/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + RNTester + diff --git a/RNTester/android/app/src/main/res/values/styles.xml b/packages/RNTester/android/app/src/main/res/values/styles.xml similarity index 100% rename from RNTester/android/app/src/main/res/values/styles.xml rename to packages/RNTester/android/app/src/main/res/values/styles.xml diff --git a/packages/RNTester/android/build.gradle b/packages/RNTester/android/build.gradle new file mode 100644 index 00000000000000..037f325077a408 --- /dev/null +++ b/packages/RNTester/android/build.gradle @@ -0,0 +1,50 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + ext { + buildToolsVersion = "28.0.3" + minSdkVersion = 18 + compileSdkVersion = 28 + targetSdkVersion = 28 + kotlinVersion = "1.3.70" + } + repositories { + google() + jcenter() + } + dependencies { + classpath("com.android.tools.build:gradle:3.4.2") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion") + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + mavenLocal() + maven { + // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm + url("$rootDir/../node_modules/react-native/ReactAndroid") + } + maven { + // All of Detox' artifacts are provided via the npm module + url "$rootDir/../node_modules/detox/Detox-android" + } + maven { + // Android JSC is installed from npm + url("$rootDir/../node_modules/jsc-android/dist") + } + + google() + jcenter() + maven { url 'https://www.jitpack.io' } + } + configurations.all { + resolutionStrategy { + dependencySubstitution { + substitute module("com.facebook.react:react-native:+") with project(":ReactAndroid") + } + } + } +} diff --git a/packages/RNTester/android/gradle.properties b/packages/RNTester/android/gradle.properties new file mode 100644 index 00000000000000..6ec722920f4110 --- /dev/null +++ b/packages/RNTester/android/gradle.properties @@ -0,0 +1,30 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx10248m -XX:MaxPermSize=256m +# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true + +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=true + +# Version of flipper SDK to use with React Native +FLIPPER_VERSION=0.33.1 +org.gradle.daemon=true +org.gradle.jvmargs=-Xmx4096m \ No newline at end of file diff --git a/packages/RNTester/android/gradle/wrapper/gradle-wrapper.jar b/packages/RNTester/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 00000000000000..5c2d1cf016b388 Binary files /dev/null and b/packages/RNTester/android/gradle/wrapper/gradle-wrapper.jar differ diff --git a/packages/RNTester/android/gradle/wrapper/gradle-wrapper.properties b/packages/RNTester/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000000000..1ba7206f882daf --- /dev/null +++ b/packages/RNTester/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/packages/RNTester/android/gradlew b/packages/RNTester/android/gradlew new file mode 100755 index 00000000000000..83f2acfdc319a2 --- /dev/null +++ b/packages/RNTester/android/gradlew @@ -0,0 +1,188 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://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. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/packages/RNTester/android/gradlew.bat b/packages/RNTester/android/gradlew.bat new file mode 100644 index 00000000000000..24467a141f7916 --- /dev/null +++ b/packages/RNTester/android/gradlew.bat @@ -0,0 +1,100 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/packages/RNTester/android/settings.gradle b/packages/RNTester/android/settings.gradle new file mode 100644 index 00000000000000..4b3b188f1e998c --- /dev/null +++ b/packages/RNTester/android/settings.gradle @@ -0,0 +1,8 @@ +rootProject.name = 'RNTester' +include ':@react-native-community_async-storage' +include ':ReactAndroid' +project(':@react-native-community_async-storage').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/async-storage/android') +apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) +project(':ReactAndroid').projectDir = new File( + rootProject.projectDir, '../node_modules/react-native/ReactAndroid') +include ':app' \ No newline at end of file diff --git a/packages/RNTester/app.json b/packages/RNTester/app.json new file mode 100644 index 00000000000000..afacf784c680ab --- /dev/null +++ b/packages/RNTester/app.json @@ -0,0 +1,4 @@ +{ + "name": "RNTester", + "displayName": "RNTester" +} \ No newline at end of file diff --git a/packages/RNTester/babel.config.js b/packages/RNTester/babel.config.js new file mode 100644 index 00000000000000..f842b77fcfb8b7 --- /dev/null +++ b/packages/RNTester/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: ['module:metro-react-native-babel-preset'], +}; diff --git a/packages/RNTester/e2e/__tests__/ActionSheetIOS-test.js b/packages/RNTester/e2e/__tests__/ActionSheetIOS-test.js new file mode 100644 index 00000000000000..97470f435cf6ff --- /dev/null +++ b/packages/RNTester/e2e/__tests__/ActionSheetIOS-test.js @@ -0,0 +1,64 @@ +/** + * 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. + * + * @emails oncall+react_native + * @format + */ + +/* global device, element, by, expect */ +const { + openComponentWithLabel, + openExampleWithTitle, +} = require('../e2e-helpers'); + +describe('ActionSheetIOS', () => { + beforeAll(async () => { + await device.reloadReactNative(); + await openComponentWithLabel( + 'ActionSheetIOS', + "ActionSheetIOS Interface to show iOS' action sheets", + ); + }); + + it( + 'Should load the correct options for a simple action sheet and behave ' + + 'correctly for all options and clicks outside the frame of the action sheet', + async () => { + await openExampleWithTitle('Show Standard Action Sheet'); + await element(by.id('normal-action-sheet')).tap(); + + // ensure all items are visible and not covered + await expect(element(by.text('Option 0'))).toBeVisible(); + await expect(element(by.text('Option 1'))).toBeVisible(); + await expect(element(by.text('Option 2'))).toBeVisible(); + await expect(element(by.text('Delete'))).toBeVisible(); + + await element(by.text('Option 0')).tap(); + + // ensure all items are hidden when the action sheet is dismissed + await expect(element(by.text('Option 0'))).toBeNotVisible(); + await expect(element(by.text('Option 1'))).toBeNotVisible(); + await expect(element(by.text('Option 2'))).toBeNotVisible(); + await expect(element(by.text('Delete'))).toBeNotVisible(); + + await expect( + element(by.id('normal-action-sheet-button-status')), + ).toHaveText('Clicked button: Option 0'); + + await element(by.id('normal-action-sheet')).tap(); + await element(by.text('Click to show the ActionSheet')).tap(); //click outside + await expect( + element(by.id('normal-action-sheet-button-status')), + ).toHaveText('Clicked button: Cancel'); + + await element(by.id('normal-action-sheet')).tap(); + await element(by.text('Delete')).tap(); + await expect( + element(by.id('normal-action-sheet-button-status')), + ).toHaveText('Clicked button: Delete'); + }, + ); +}); diff --git a/RNTester/e2e/__tests__/Button-test.js b/packages/RNTester/e2e/__tests__/Button-test.js similarity index 100% rename from RNTester/e2e/__tests__/Button-test.js rename to packages/RNTester/e2e/__tests__/Button-test.js diff --git a/RNTester/e2e/__tests__/DatePickerIOS-test.js b/packages/RNTester/e2e/__tests__/DatePickerIOS-test.js similarity index 97% rename from RNTester/e2e/__tests__/DatePickerIOS-test.js rename to packages/RNTester/e2e/__tests__/DatePickerIOS-test.js index 11c73fcb2d5f4b..6a7c961991aecf 100644 --- a/RNTester/e2e/__tests__/DatePickerIOS-test.js +++ b/packages/RNTester/e2e/__tests__/DatePickerIOS-test.js @@ -44,7 +44,7 @@ describe('DatePickerIOS', () => { await testElement.setColumnToValue(3, 'AM'); await expect(dateIndicator).toHaveText('12/4/2006'); - await expect(timeIndicator).toHaveText('04:10 AM'); + await expect(timeIndicator).toHaveText('4:10 AM'); }); it('Should change indicator with date-only picker', async () => { diff --git a/RNTester/e2e/__tests__/Picker-test.js b/packages/RNTester/e2e/__tests__/Picker-test.js similarity index 100% rename from RNTester/e2e/__tests__/Picker-test.js rename to packages/RNTester/e2e/__tests__/Picker-test.js diff --git a/RNTester/e2e/__tests__/TextInput-test.js b/packages/RNTester/e2e/__tests__/TextInput-test.js similarity index 100% rename from RNTester/e2e/__tests__/TextInput-test.js rename to packages/RNTester/e2e/__tests__/TextInput-test.js diff --git a/RNTester/e2e/__tests__/Touchable-test.js b/packages/RNTester/e2e/__tests__/Touchable-test.js similarity index 100% rename from RNTester/e2e/__tests__/Touchable-test.js rename to packages/RNTester/e2e/__tests__/Touchable-test.js diff --git a/RNTester/e2e/config.json b/packages/RNTester/e2e/config.json similarity index 100% rename from RNTester/e2e/config.json rename to packages/RNTester/e2e/config.json diff --git a/RNTester/e2e/e2e-helpers.js b/packages/RNTester/e2e/e2e-helpers.js similarity index 100% rename from RNTester/e2e/e2e-helpers.js rename to packages/RNTester/e2e/e2e-helpers.js diff --git a/packages/RNTester/e2e/environment.js b/packages/RNTester/e2e/environment.js new file mode 100644 index 00000000000000..ad46bec5f33e81 --- /dev/null +++ b/packages/RNTester/e2e/environment.js @@ -0,0 +1,23 @@ +const { + DetoxCircusEnvironment, + SpecReporter, + WorkerAssignReporter, +} = require('detox/runners/jest-circus'); + +class CustomDetoxEnvironment extends DetoxCircusEnvironment { + constructor(config) { + super(config); + + // Can be safely removed, if you are content with the default value (=300000ms) + this.initTimeout = 300000; + + // This takes care of generating status logs on a per-spec basis. By default, Jest only reports at file-level. + // This is strictly optional. + this.registerListeners({ + SpecReporter, + WorkerAssignReporter, + }); + } +} + +module.exports = CustomDetoxEnvironment; diff --git a/RNTester/e2e/test-init.js b/packages/RNTester/e2e/test-init.js similarity index 93% rename from RNTester/e2e/test-init.js rename to packages/RNTester/e2e/test-init.js index 4e95bbe7c3e8ab..b005d0f388e6ae 100644 --- a/RNTester/e2e/test-init.js +++ b/packages/RNTester/e2e/test-init.js @@ -11,7 +11,7 @@ /* global device */ const detox = require('detox'); -const config = require('../../package.json').detox; +const config = require('../.detoxrc.json').detox; const adapter = require('detox/runners/jest/adapter'); jest.setTimeout(120000); jasmine.getEnv().addReporter(adapter); @@ -35,7 +35,7 @@ beforeAll(async () => { }); }); -beforeEach(async function() { +beforeEach(async function () { await adapter.beforeEach(); }); diff --git a/packages/RNTester/index.js b/packages/RNTester/index.js new file mode 100644 index 00000000000000..a850d031de7911 --- /dev/null +++ b/packages/RNTester/index.js @@ -0,0 +1,9 @@ +/** + * @format + */ + +import {AppRegistry} from 'react-native'; +import App from './App'; +import {name as appName} from './app.json'; + +AppRegistry.registerComponent(appName, () => App); diff --git a/RNTester/Gemfile b/packages/RNTester/ios/Gemfile similarity index 100% rename from RNTester/Gemfile rename to packages/RNTester/ios/Gemfile diff --git a/packages/RNTester/ios/Gemfile.lock b/packages/RNTester/ios/Gemfile.lock new file mode 100644 index 00000000000000..c1d456cbec4dd3 --- /dev/null +++ b/packages/RNTester/ios/Gemfile.lock @@ -0,0 +1,83 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.2) + activesupport (4.2.11.3) + i18n (~> 0.7) + minitest (~> 5.1) + thread_safe (~> 0.3, >= 0.3.4) + tzinfo (~> 1.1) + algoliasearch (1.27.3) + httpclient (~> 2.8, >= 2.8.3) + json (>= 1.5.1) + atomos (0.1.3) + claide (1.0.3) + cocoapods (1.8.4) + activesupport (>= 4.0.2, < 5) + claide (>= 1.0.2, < 2.0) + cocoapods-core (= 1.8.4) + cocoapods-deintegrate (>= 1.0.3, < 2.0) + cocoapods-downloader (>= 1.2.2, < 2.0) + cocoapods-plugins (>= 1.0.0, < 2.0) + cocoapods-search (>= 1.0.0, < 2.0) + cocoapods-stats (>= 1.0.0, < 2.0) + cocoapods-trunk (>= 1.4.0, < 2.0) + cocoapods-try (>= 1.1.0, < 2.0) + colored2 (~> 3.1) + escape (~> 0.0.4) + fourflusher (>= 2.3.0, < 3.0) + gh_inspector (~> 1.0) + molinillo (~> 0.6.6) + nap (~> 1.0) + ruby-macho (~> 1.4) + xcodeproj (>= 1.11.1, < 2.0) + cocoapods-core (1.8.4) + activesupport (>= 4.0.2, < 6) + algoliasearch (~> 1.0) + concurrent-ruby (~> 1.1) + fuzzy_match (~> 2.0.4) + nap (~> 1.0) + cocoapods-deintegrate (1.0.4) + cocoapods-downloader (1.3.0) + cocoapods-plugins (1.0.0) + nap + cocoapods-search (1.0.0) + cocoapods-stats (1.1.0) + cocoapods-trunk (1.5.0) + nap (>= 0.8, < 2.0) + netrc (~> 0.11) + cocoapods-try (1.2.0) + colored2 (3.1.2) + concurrent-ruby (1.1.6) + escape (0.0.4) + fourflusher (2.3.1) + fuzzy_match (2.0.4) + gh_inspector (1.1.3) + httpclient (2.8.3) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + json (2.3.0) + minitest (5.14.1) + molinillo (0.6.6) + nanaimo (0.2.6) + nap (1.1.0) + netrc (0.11.0) + ruby-macho (1.4.0) + thread_safe (0.3.6) + tzinfo (1.2.7) + thread_safe (~> 0.1) + xcodeproj (1.16.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.2.6) + +PLATFORMS + ruby + +DEPENDENCIES + cocoapods (= 1.8.4) + +BUNDLED WITH + 2.1.4 diff --git a/RNTester/Podfile b/packages/RNTester/ios/Podfile similarity index 69% rename from RNTester/Podfile rename to packages/RNTester/ios/Podfile index deb6b77c5b61f2..c3623334ea1978 100644 --- a/RNTester/Podfile +++ b/packages/RNTester/ios/Podfile @@ -1,4 +1,4 @@ -require_relative '../scripts/react_native_pods' +require_relative './react_native_pods' source 'https://cdn.cocoapods.org/' platform :ios, '10.0' @@ -9,16 +9,17 @@ if ENV['USE_FRAMEWORKS'] == '1' end def pods() - project 'RNTesterPods.xcodeproj' + project 'RNTester.xcodeproj' # Enable TurboModule - use_react_native!(path: "..") - pod 'ReactCommon/turbomodule/samples', :path => '../ReactCommon' + use_react_native!(path: "../node_modules/react-native") + pod 'ReactCommon/turbomodule/samples', :path => "../node_modules/react-native/ReactCommon" # Additional Pods which aren't included in the default Podfile - pod 'React-ART', :path => '../Libraries/ART' - pod 'React-RCTPushNotification', :path => '../Libraries/PushNotificationIOS' - pod 'Yoga',:path => '../ReactCommon/yoga', :modular_headers => true + pod 'React-ART', :path => '../node_modules/react-native/Libraries/ART' + pod 'React-RCTPushNotification', :path => '../node_modules/react-native/Libraries/PushNotificationIOS' + + pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga', :modular_headers => true # Additional Pods which are classed as unstable # # To use fabric: add `fabric_enabled` option to the use_react_native method above, like below @@ -32,12 +33,12 @@ end target 'RNTesterUnitTests' do pods() - pod 'React-RCTTest', :path => "./RCTTest" + pod 'React-RCTTest', :path => “../RCTTest" end target 'RNTesterIntegrationTests' do pods() - pod 'React-RCTTest', :path => "./RCTTest" + pod 'React-RCTTest', :path => “../RCTTest" end if ENV['USE_FRAMEWORKS'] == '1' diff --git a/RNTester/Podfile.lock b/packages/RNTester/ios/Podfile.lock similarity index 69% rename from RNTester/Podfile.lock rename to packages/RNTester/ios/Podfile.lock index 2f8e22d94d5643..91a47ab947e0dd 100644 --- a/RNTester/Podfile.lock +++ b/packages/RNTester/ios/Podfile.lock @@ -365,9 +365,9 @@ PODS: - Yoga (~> 1.14) DEPENDENCIES: - - DoubleConversion (from `../third-party-podspecs/DoubleConversion.podspec`) - - FBLazyVector (from `../Libraries/FBLazyVector`) - - FBReactNativeSpec (from `../Libraries/FBReactNativeSpec`) + - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) + - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) + - FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`) - Flipper (~> 0.41.1) - Flipper-DoubleConversion (= 1.1.7) - Flipper-Folly (~> 2.2) @@ -387,37 +387,37 @@ DEPENDENCIES: - FlipperKit/FlipperKitReactPlugin (~> 0.41.1) - FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.41.1) - FlipperKit/SKIOSNetworkPlugin (~> 0.41.1) - - Folly (from `../third-party-podspecs/Folly.podspec`) - - glog (from `../third-party-podspecs/glog.podspec`) - - RCTRequired (from `../Libraries/RCTRequired`) - - RCTTypeSafety (from `../Libraries/TypeSafety`) - - React (from `../`) - - React-ART (from `../Libraries/ART`) - - React-callinvoker (from `../ReactCommon/callinvoker`) - - React-Core (from `../`) - - React-Core/DevSupport (from `../`) - - React-Core/RCTWebSocket (from `../`) - - React-CoreModules (from `../React/CoreModules`) - - React-cxxreact (from `../ReactCommon/cxxreact`) - - React-jsi (from `../ReactCommon/jsi`) - - React-jsiexecutor (from `../ReactCommon/jsiexecutor`) - - React-jsinspector (from `../ReactCommon/jsinspector`) - - React-perflogger (from `../ReactCommon/reactperflogger`) - - React-RCTActionSheet (from `../Libraries/ActionSheetIOS`) - - React-RCTAnimation (from `../Libraries/NativeAnimation`) - - React-RCTBlob (from `../Libraries/Blob`) - - React-RCTImage (from `../Libraries/Image`) - - React-RCTLinking (from `../Libraries/LinkingIOS`) - - React-RCTNetwork (from `../Libraries/Network`) - - React-RCTPushNotification (from `../Libraries/PushNotificationIOS`) - - React-RCTSettings (from `../Libraries/Settings`) - - React-RCTTest (from `./RCTTest`) - - React-RCTText (from `../Libraries/Text`) - - React-RCTVibration (from `../Libraries/Vibration`) - - React-runtimeexecutor (from `../ReactCommon/runtimeexecutor`) - - ReactCommon/turbomodule/core (from `../ReactCommon`) - - ReactCommon/turbomodule/samples (from `../ReactCommon`) - - Yoga (from `../ReactCommon/yoga`) + - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`) + - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) + - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) + - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../node_modules/react-native/`) + - React-ART (from `../node_modules/react-native/Libraries/ART`) + - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) + - React-Core (from `../node_modules/react-native/`) + - React-Core/DevSupport (from `../node_modules/react-native/`) + - React-Core/RCTWebSocket (from `../node_modules/react-native/`) + - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) + - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) + - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) + - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) + - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) + - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) + - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) + - React-RCTPushNotification (from `../node_modules/react-native/Libraries/PushNotificationIOS`) + - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) + - React-RCTTest (from `../RCTTest`) + - React-RCTText (from `../node_modules/react-native/Libraries/Text`) + - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) + - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) + - ReactCommon/turbomodule/samples (from `../node_modules/react-native/ReactCommon`) + - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: trunk: @@ -436,75 +436,75 @@ SPEC REPOS: EXTERNAL SOURCES: DoubleConversion: - :podspec: "../third-party-podspecs/DoubleConversion.podspec" + :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" FBLazyVector: - :path: "../Libraries/FBLazyVector" + :path: "../node_modules/react-native/Libraries/FBLazyVector" FBReactNativeSpec: - :path: "../Libraries/FBReactNativeSpec" + :path: "../node_modules/react-native/Libraries/FBReactNativeSpec" Folly: - :podspec: "../third-party-podspecs/Folly.podspec" + :podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec" glog: - :podspec: "../third-party-podspecs/glog.podspec" + :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" RCTRequired: - :path: "../Libraries/RCTRequired" + :path: "../node_modules/react-native/Libraries/RCTRequired" RCTTypeSafety: - :path: "../Libraries/TypeSafety" + :path: "../node_modules/react-native/Libraries/TypeSafety" React: - :path: "../" + :path: "../node_modules/react-native/" React-ART: - :path: "../Libraries/ART" + :path: "../node_modules/react-native/Libraries/ART" React-callinvoker: - :path: "../ReactCommon/callinvoker" + :path: "../node_modules/react-native/ReactCommon/callinvoker" React-Core: - :path: "../" + :path: "../node_modules/react-native/" React-CoreModules: - :path: "../React/CoreModules" + :path: "../node_modules/react-native/React/CoreModules" React-cxxreact: - :path: "../ReactCommon/cxxreact" + :path: "../node_modules/react-native/ReactCommon/cxxreact" React-jsi: - :path: "../ReactCommon/jsi" + :path: "../node_modules/react-native/ReactCommon/jsi" React-jsiexecutor: - :path: "../ReactCommon/jsiexecutor" + :path: "../node_modules/react-native/ReactCommon/jsiexecutor" React-jsinspector: - :path: "../ReactCommon/jsinspector" + :path: "../node_modules/react-native/ReactCommon/jsinspector" React-perflogger: - :path: "../ReactCommon/reactperflogger" + :path: "../node_modules/react-native/ReactCommon/reactperflogger" React-RCTActionSheet: - :path: "../Libraries/ActionSheetIOS" + :path: "../node_modules/react-native/Libraries/ActionSheetIOS" React-RCTAnimation: - :path: "../Libraries/NativeAnimation" + :path: "../node_modules/react-native/Libraries/NativeAnimation" React-RCTBlob: - :path: "../Libraries/Blob" + :path: "../node_modules/react-native/Libraries/Blob" React-RCTImage: - :path: "../Libraries/Image" + :path: "../node_modules/react-native/Libraries/Image" React-RCTLinking: - :path: "../Libraries/LinkingIOS" + :path: "../node_modules/react-native/Libraries/LinkingIOS" React-RCTNetwork: - :path: "../Libraries/Network" + :path: "../node_modules/react-native/Libraries/Network" React-RCTPushNotification: - :path: "../Libraries/PushNotificationIOS" + :path: "../node_modules/react-native/Libraries/PushNotificationIOS" React-RCTSettings: - :path: "../Libraries/Settings" + :path: "../node_modules/react-native/Libraries/Settings" React-RCTTest: - :path: "./RCTTest" + :path: "../RCTTest" React-RCTText: - :path: "../Libraries/Text" + :path: "../node_modules/react-native/Libraries/Text" React-RCTVibration: - :path: "../Libraries/Vibration" + :path: "../node_modules/react-native/Libraries/Vibration" React-runtimeexecutor: - :path: "../ReactCommon/runtimeexecutor" + :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" ReactCommon: - :path: "../ReactCommon" + :path: "../node_modules/react-native/ReactCommon" Yoga: - :path: "../ReactCommon/yoga" + :path: "../node_modules/react-native/ReactCommon/yoga" SPEC CHECKSUMS: boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c CocoaAsyncSocket: 694058e7c0ed05a9e217d1b3c7ded962f4180845 CocoaLibEvent: 2fab71b8bd46dd33ddb959f7928ec5909f838e3f DoubleConversion: cde416483dac037923206447da6e1454df403714 - FBLazyVector: 8ea0285646adaf7fa725c20ed737c49ee5ea680a - FBReactNativeSpec: e8f07c749b9cf184c819f5a8ca44b91ab61fca12 + FBLazyVector: 67bcc3a5ffca81fbbc971305a6249a1815d9eae2 + FBReactNativeSpec: d53b74f03c75f43c408a893993627cfe9382cf09 Flipper: 33585e2d9810fe5528346be33bcf71b37bb7ae13 Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41 Flipper-Folly: c12092ea368353b58e992843a990a3225d4533c3 @@ -515,34 +515,34 @@ SPEC CHECKSUMS: Folly: b73c3869541e86821df3c387eb0af5f65addfab4 glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3 OpenSSL-Universal: 8b48cc0d10c1b2923617dfe5c178aa9ed2689355 - RCTRequired: 34582e9b3ebe69f244e091f37218d318406d5c4a - RCTTypeSafety: 1ade47a69b092cddf1e4ea21e0c5bdc65cc950b4 - React: cafb3c2321f7df55ce90dbf29d513799a79e4418 - React-ART: df0460bdff42ef039e28ee3ffd41f50b75644788 - React-callinvoker: 0dada022d38b73e6e15b33e2a96476153f79bbf6 - React-Core: d85e4563acbfbb6e6be7414a813ad55d05d675df - React-CoreModules: d13d148c851af5780f864be74bc2165140923dc7 - React-cxxreact: 4661b3295e62c6eaada084e2f826c70c71ef11ea - React-jsi: fe94132da767bfc4801968c2a12abae43e9a833e - React-jsiexecutor: 959bb48c75a3bfc1b1d2b991087a6d8df721cbcf - React-jsinspector: 7fbf9b42b58b02943a0d89b0ba9fff0070f2de98 - React-perflogger: 1f668f3e4d1adef1fafb3b95e7d6cf922113fe31 - React-RCTActionSheet: 51c43beeb74ef41189e87fe9823e53ebf6210359 - React-RCTAnimation: 9d09196c641c1ebfef3a4e9ae670bcda5fadb420 - React-RCTBlob: 715489626cf44d28ee51e5277a4d559167351696 - React-RCTImage: 19151d2d071b05c3832a0b212473cafa4ea8948f - React-RCTLinking: 7c94c0f2fcc658cb4043dacb4f6621dca2f8f8b5 - React-RCTNetwork: 7596e84acacd5d0674e9743b55c5bf61a626af69 - React-RCTPushNotification: 88c9f47ff0d4391d5136d70745f15713cdc5f6bb - React-RCTSettings: a29c61f85f535ba2eff54d80bef2ea3cdb6e5fba - React-RCTTest: cfe25fcf70b04a747dba4326105db398250caa9a - React-RCTText: 6c01963d3e562109f5548262b09b1b2bc260dd60 - React-RCTVibration: d42d73dafd9f63cf758656ee743aa80c566798ff - React-runtimeexecutor: 60dd6204a13f68a1aa1118870edcc604a791df2b - ReactCommon: 511b4a9ea129c129c6dbc982942007d195903a9a - Yoga: f7fa200d8c49f97b54c9421079e781fb900b5cae + RCTRequired: 52b88fc8d621dbc10b47ae37704137f1c378b674 + RCTTypeSafety: bd35f66009976ba8c5b531a5be9aca62eee0dd0d + React: 9e535b7a03a80d7d83f80d9adddabbfd88e4e902 + React-ART: 124817485e9ae86a663a51acd446a2c95f95acb1 + React-callinvoker: bd2c937119c4e93b97da82b903bb1be60551ee4f + React-Core: 6ca4878b9ca685bdc03ab169c31ff879f5a5398c + React-CoreModules: bda0a8c1fe095f8ebdca662fa666b8e2207b57e7 + React-cxxreact: 82d9c18b1020a89b12dec6253cebd334cf68731c + React-jsi: 91b5a9094ce0f0e50ed32b7175b882878e77a473 + React-jsiexecutor: 42921649eead88629a5bd580ab1aa7c45d7a282a + React-jsinspector: 07a777c7893444d1d57929cd459f76dfd67438a0 + React-perflogger: 966e21021a2968c5a0f8907d31d4ff1289b1a390 + React-RCTActionSheet: d10f11fabc8137b49208001350e313729c89f040 + React-RCTAnimation: 1d69d1f70489ebf49d7bdc23a1bcbda41c2bd44b + React-RCTBlob: 86fa75ce4e82397dbe4558f87c6bfeac83b2023b + React-RCTImage: 9f68828c8e916347d2af9e0461c6b3be03e03ba7 + React-RCTLinking: 74658e920a87fb28e564687988dcb4cc8eadeb8f + React-RCTNetwork: dfbb0b8067955062681f2f9c54ee716c58af2fa0 + React-RCTPushNotification: 506a9fd9b6aad1372bf213097de4b2508fea487e + React-RCTSettings: 8351388e45ecd3067249011128de52a3081b9bad + React-RCTTest: bd5a1eb7baaf56cfb2215608f9c562ddd46a7f1c + React-RCTText: 5adc8bac395418b51f104b11fbfa332e5960abfa + React-RCTVibration: 877739dd87cd4e60a9a0da0e58f0dce3565baa98 + React-runtimeexecutor: b52b612ab82d286941048f46a3ad8fbd13713334 + ReactCommon: 8973189c307af695619795e7414dea3ebda0c41d + Yoga: 1de351076c5cf8081b2c20644fc8f82f34cc367c YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: 5f0be4be03d6934478b9dd621bfbab4383b8c85d +PODFILE CHECKSUM: 31829c6310cb82462e0cc9262180605a9b0cabe9 -COCOAPODS: 1.8.4 +COCOAPODS: 1.9.2 diff --git a/packages/RNTester/ios/RNTester-tvOS/Info.plist b/packages/RNTester/ios/RNTester-tvOS/Info.plist new file mode 100644 index 00000000000000..ecbd496be7dfa3 --- /dev/null +++ b/packages/RNTester/ios/RNTester-tvOS/Info.plist @@ -0,0 +1,53 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + NSAppTransportSecurity + + NSExceptionDomains + + localhost + + NSExceptionAllowsInsecureHTTPLoads + + + + + NSLocationWhenInUseUsageDescription + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/RNTester/RNTester-tvOS/Info.plist b/packages/RNTester/ios/RNTester-tvOSTests/Info.plist similarity index 59% rename from RNTester/RNTester-tvOS/Info.plist rename to packages/RNTester/ios/RNTester-tvOSTests/Info.plist index 1f05733996acbd..886825ccc9bf0d 100644 --- a/RNTester/RNTester-tvOS/Info.plist +++ b/packages/RNTester/ios/RNTester-tvOSTests/Info.plist @@ -7,31 +7,18 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - + org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) CFBundleInfoDictionaryVersion 6.0 CFBundleName $(PRODUCT_NAME) CFBundlePackageType - APPL + BNDL CFBundleShortVersionString 1.0 + CFBundleSignature + ???? CFBundleVersion 1 - LSRequiresIPhoneOS - - UIRequiredDeviceCapabilities - - arm64 - - UIUserInterfaceStyle - Automatic - RN_BUNDLE_PREFIX - $(RN_BUNDLE_PREFIX) diff --git a/packages/RNTester/ios/RNTester.xcodeproj/project.pbxproj b/packages/RNTester/ios/RNTester.xcodeproj/project.pbxproj new file mode 100644 index 00000000000000..f171d2a1f48ec8 --- /dev/null +++ b/packages/RNTester/ios/RNTester.xcodeproj/project.pbxproj @@ -0,0 +1,1307 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 115C99DEE74C582AFFFE7571 /* libPods-RNTester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E1A96F0186510864290C28F /* libPods-RNTester.a */; }; + 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; + 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; + 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; + 28E11BDA249A6B9C00293E3B /* RNTesterTurboModuleProvider.mm in Sources */ = {isa = PBXBuildFile; fileRef = 28E11BD9249A6B9C00293E3B /* RNTesterTurboModuleProvider.mm */; }; + B8D262B38B967F5FC2282C29 /* libPods-RNTesterIntegrationTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EF90C60F8432AC6D489D9635 /* libPods-RNTesterIntegrationTests.a */; }; + EE3C195F24B33F7C00B4EB0E /* OtherImages.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EE3C195C24B33F7C00B4EB0E /* OtherImages.xcassets */; }; + EE3C196624B33F8F00B4EB0E /* FlexibleSizeExampleView.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C196224B33F8F00B4EB0E /* FlexibleSizeExampleView.m */; }; + EE3C196724B33F8F00B4EB0E /* UpdatePropertiesExampleView.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C196524B33F8F00B4EB0E /* UpdatePropertiesExampleView.m */; }; + EE3C19DA24B33FD500B4EB0E /* libOCMock.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EE3C19B024B33FD500B4EB0E /* libOCMock.a */; }; + EE3C1A3424B4772600B4EB0E /* RCTBundleURLProviderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19A124B33FD500B4EB0E /* RCTBundleURLProviderTests.m */; }; + EE3C1A3524B4772600B4EB0E /* RCTURLUtilsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19A324B33FD500B4EB0E /* RCTURLUtilsTests.m */; }; + EE3C1A3624B4772600B4EB0E /* RCTModuleInitTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19A424B33FD500B4EB0E /* RCTModuleInitTests.m */; }; + EE3C1A3724B4772600B4EB0E /* RCTComponentPropsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19A524B33FD500B4EB0E /* RCTComponentPropsTests.m */; }; + EE3C1A3824B4772600B4EB0E /* RCTModuleMethodTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19A624B33FD500B4EB0E /* RCTModuleMethodTests.mm */; }; + EE3C1A3924B4772600B4EB0E /* RCTMethodArgumentTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19A724B33FD500B4EB0E /* RCTMethodArgumentTests.m */; }; + EE3C1A3A24B4772600B4EB0E /* RCTAnimationUtilsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19A824B33FD500B4EB0E /* RCTAnimationUtilsTests.m */; }; + EE3C1A3B24B4772600B4EB0E /* RCTJSONTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19A924B33FD500B4EB0E /* RCTJSONTests.m */; }; + EE3C1A3C24B4772600B4EB0E /* RCTConvert_UIColorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19AA24B33FD500B4EB0E /* RCTConvert_UIColorTests.m */; }; + EE3C1A3D24B4772600B4EB0E /* RCTMultipartStreamReaderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19AE24B33FD500B4EB0E /* RCTMultipartStreamReaderTests.m */; }; + EE3C1A3E24B4772600B4EB0E /* RCTImageLoaderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19AF24B33FD500B4EB0E /* RCTImageLoaderTests.m */; }; + EE3C1A3F24B4772600B4EB0E /* RCTShadowViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19B124B33FD500B4EB0E /* RCTShadowViewTests.m */; }; + EE3C1A4024B4772600B4EB0E /* RCTUnicodeDecodeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19B224B33FD500B4EB0E /* RCTUnicodeDecodeTests.m */; }; + EE3C1A4124B4772600B4EB0E /* RCTAllocationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19B324B33FD500B4EB0E /* RCTAllocationTests.m */; }; + EE3C1A4224B4772600B4EB0E /* RCTGzipTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19B424B33FD500B4EB0E /* RCTGzipTests.m */; }; + EE3C1A4324B4772600B4EB0E /* RCTModuleInitNotificationRaceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19B524B33FD500B4EB0E /* RCTModuleInitNotificationRaceTests.m */; }; + EE3C1A4424B4772600B4EB0E /* RCTFormatErrorTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19B624B33FD500B4EB0E /* RCTFormatErrorTests.m */; }; + EE3C1A4524B4772600B4EB0E /* RCTConvert_YGValueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19B724B33FD500B4EB0E /* RCTConvert_YGValueTests.m */; }; + EE3C1A4624B4772600B4EB0E /* RCTImageUtilTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19B824B33FD500B4EB0E /* RCTImageUtilTests.m */; }; + EE3C1A4724B4772600B4EB0E /* RCTDevMenuTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19B924B33FD500B4EB0E /* RCTDevMenuTests.m */; }; + EE3C1A4824B4772600B4EB0E /* RCTEventDispatcherTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19BA24B33FD500B4EB0E /* RCTEventDispatcherTests.m */; }; + EE3C1A4924B4772600B4EB0E /* RCTImageLoaderHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19BB24B33FD500B4EB0E /* RCTImageLoaderHelpers.m */; }; + EE3C1A4A24B4772600B4EB0E /* RCTNativeAnimatedNodesManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19C624B33FD500B4EB0E /* RCTNativeAnimatedNodesManagerTests.m */; }; + EE3C1A4B24B4772600B4EB0E /* RCTFontTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19C724B33FD500B4EB0E /* RCTFontTests.m */; }; + EE3C1A4C24B4772600B4EB0E /* RCTBlobManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19C924B33FD500B4EB0E /* RCTBlobManagerTests.m */; }; + EE3C1A4D24B4772600B4EB0E /* RCTPerformanceLoggerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19CA24B33FD500B4EB0E /* RCTPerformanceLoggerTests.m */; }; + EE3C1A4E24B4772600B4EB0E /* RCTConvert_NSURLTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C19CB24B33FD500B4EB0E /* RCTConvert_NSURLTests.m */; }; + EE3C1A4F24B4774800B4EB0E /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED297162215061F000B7C4FE /* JavaScriptCore.framework */; }; + EE3C1A5124B4776500B4EB0E /* libPods-RNTesterUnitTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EE3C1A5024B4776500B4EB0E /* libPods-RNTesterUnitTests.a */; }; + EE3C1A5424B4794F00B4EB0E /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EE3C1A5224B4792B00B4EB0E /* XCTest.framework */; }; + EE3C1A5524B4795B00B4EB0E /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED297162215061F000B7C4FE /* JavaScriptCore.framework */; }; + EEEBD49E24C73981004A7A04 /* RNTesterIntegrationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C196924B33FA800B4EB0E /* RNTesterIntegrationTests.m */; }; + EEEBD49F24C73983004A7A04 /* RCTRootViewIntegrationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C196A24B33FA800B4EB0E /* RCTRootViewIntegrationTests.m */; }; + EEEBD4A024C73987004A7A04 /* RCTLoggingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C197F24B33FA800B4EB0E /* RCTLoggingTests.m */; }; + EEEBD4A124C73994004A7A04 /* RNTesterSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C198124B33FA800B4EB0E /* RNTesterSnapshotTests.m */; }; + EEEBD4A224C73998004A7A04 /* RCTUIManagerScenarioTests.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C198324B33FA800B4EB0E /* RCTUIManagerScenarioTests.m */; }; + EEEBD4A324C7399B004A7A04 /* RNTesterTestModule.m in Sources */ = {isa = PBXBuildFile; fileRef = EE3C198424B33FA800B4EB0E /* RNTesterTestModule.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + EE3C1A0324B345C400B4EB0E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 13B07F861A680F5B00A75B9A; + remoteInfo = RNTester; + }; + EE3C1A2F24B4762600B4EB0E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 13B07F861A680F5B00A75B9A; + remoteInfo = RNTester; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 04AB06A3A577946C264F3D3D /* Pods-RNTesterUnitTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTesterUnitTests.debug.xcconfig"; path = "Target Support Files/Pods-RNTesterUnitTests/Pods-RNTesterUnitTests.debug.xcconfig"; sourceTree = ""; }; + 13B07F961A680F5B00A75B9A /* RNTester.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RNTester.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = RNTester/AppDelegate.h; sourceTree = ""; }; + 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = RNTester/AppDelegate.mm; sourceTree = ""; }; + 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; + 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = RNTester/Images.xcassets; 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 = ""; }; + 1CE9AD9F3D08A3510CBA9C92 /* Pods-RNTesterIntegrationTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTesterIntegrationTests.debug.xcconfig"; path = "Target Support Files/Pods-RNTesterIntegrationTests/Pods-RNTesterIntegrationTests.debug.xcconfig"; sourceTree = ""; }; + 28E11BD8249A6B9C00293E3B /* RNTesterTurboModuleProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RNTesterTurboModuleProvider.h; path = RNTester/RNTesterTurboModuleProvider.h; sourceTree = ""; }; + 28E11BD9249A6B9C00293E3B /* RNTesterTurboModuleProvider.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RNTesterTurboModuleProvider.mm; path = RNTester/RNTesterTurboModuleProvider.mm; sourceTree = ""; }; + 31D370A1CD5094A221C3CAB6 /* libPods-RNTester-RNTesterTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTester-RNTesterTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 324505D8A0C57D869CD6057F /* Pods-RNTesterUnitTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTesterUnitTests.release.xcconfig"; path = "Target Support Files/Pods-RNTesterUnitTests/Pods-RNTesterUnitTests.release.xcconfig"; sourceTree = ""; }; + 651706FB79EAAAF11B331441 /* libPods-RNTesterUnitTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTesterUnitTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 869D1EB0C6D65766DF32D381 /* Pods-RNTester.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTester.debug.xcconfig"; path = "Target Support Files/Pods-RNTester/Pods-RNTester.debug.xcconfig"; sourceTree = ""; }; + 8E1A96F0186510864290C28F /* libPods-RNTester.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTester.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 90FC40FD0D8C581603D8C4F3 /* Pods-RNTesterIntegrationTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTesterIntegrationTests.release.xcconfig"; path = "Target Support Files/Pods-RNTesterIntegrationTests/Pods-RNTesterIntegrationTests.release.xcconfig"; sourceTree = ""; }; + C928D170CCB333FC8E3C7D9B /* Pods-RNTester.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RNTester.release.xcconfig"; path = "Target Support Files/Pods-RNTester/Pods-RNTester.release.xcconfig"; sourceTree = ""; }; + ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; + ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; }; + EE3C195B24B33F7C00B4EB0E /* ImageInBundle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ImageInBundle.png; sourceTree = ""; }; + EE3C195C24B33F7C00B4EB0E /* OtherImages.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = OtherImages.xcassets; sourceTree = ""; }; + EE3C195D24B33F7C00B4EB0E /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + EE3C196224B33F8F00B4EB0E /* FlexibleSizeExampleView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FlexibleSizeExampleView.m; sourceTree = ""; }; + EE3C196324B33F8F00B4EB0E /* UpdatePropertiesExampleView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UpdatePropertiesExampleView.h; sourceTree = ""; }; + EE3C196424B33F8F00B4EB0E /* FlexibleSizeExampleView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FlexibleSizeExampleView.h; sourceTree = ""; }; + EE3C196524B33F8F00B4EB0E /* UpdatePropertiesExampleView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UpdatePropertiesExampleView.m; sourceTree = ""; }; + EE3C196924B33FA800B4EB0E /* RNTesterIntegrationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNTesterIntegrationTests.m; sourceTree = ""; }; + EE3C196A24B33FA800B4EB0E /* RCTRootViewIntegrationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTRootViewIntegrationTests.m; sourceTree = ""; }; + EE3C196D24B33FA800B4EB0E /* testLayoutExample_1-iOS12@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testLayoutExample_1-iOS12@2x.png"; sourceTree = ""; }; + EE3C196E24B33FA800B4EB0E /* testSliderExample_1-iOS12@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testSliderExample_1-iOS12@2x.png"; sourceTree = ""; }; + EE3C196F24B33FA800B4EB0E /* testSwitchExample_1-iOS12@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testSwitchExample_1-iOS12@2x.png"; sourceTree = ""; }; + EE3C197024B33FA800B4EB0E /* testViewExample_1-iOS12@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testViewExample_1-iOS12@2x.png"; sourceTree = ""; }; + EE3C197124B33FA800B4EB0E /* testScrollViewExample_1-iOS13@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testScrollViewExample_1-iOS13@2x.png"; sourceTree = ""; }; + EE3C197224B33FA800B4EB0E /* testTextExample_1-iOS13@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testTextExample_1-iOS13@2x.png"; sourceTree = ""; }; + EE3C197324B33FA800B4EB0E /* testLayoutExample_1-iOS13@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testLayoutExample_1-iOS13@2x.png"; sourceTree = ""; }; + EE3C197424B33FA800B4EB0E /* testSwitchExample_1-iOS13@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testSwitchExample_1-iOS13@2x.png"; sourceTree = ""; }; + EE3C197524B33FA800B4EB0E /* testTextExample_1-iOS12@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testTextExample_1-iOS12@2x.png"; sourceTree = ""; }; + EE3C197624B33FA800B4EB0E /* testViewExample_1-iOS13@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testViewExample_1-iOS13@2x.png"; sourceTree = ""; }; + EE3C197724B33FA800B4EB0E /* testScrollViewExample_1-iOS12@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testScrollViewExample_1-iOS12@2x.png"; sourceTree = ""; }; + EE3C197924B33FA800B4EB0E /* testSimpleSnapshotTest_1@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testSimpleSnapshotTest_1@2x.png"; sourceTree = ""; }; + EE3C197A24B33FA800B4EB0E /* testSimpleSnapshotTest_1@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testSimpleSnapshotTest_1@3x.png"; sourceTree = ""; }; + EE3C197B24B33FA800B4EB0E /* testImageSnapshotTest_1@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testImageSnapshotTest_1@3x.png"; sourceTree = ""; }; + EE3C197C24B33FA800B4EB0E /* testImageSnapshotTest_1@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "testImageSnapshotTest_1@2x.png"; sourceTree = ""; }; + EE3C197D24B33FA800B4EB0E /* testImageSnapshotTest_1_tvOS.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = testImageSnapshotTest_1_tvOS.png; sourceTree = ""; }; + EE3C197E24B33FA800B4EB0E /* testSimpleSnapshotTest_1_tvOS.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = testSimpleSnapshotTest_1_tvOS.png; sourceTree = ""; }; + EE3C197F24B33FA800B4EB0E /* RCTLoggingTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTLoggingTests.m; sourceTree = ""; }; + EE3C198024B33FA800B4EB0E /* blue_square.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = blue_square.png; sourceTree = ""; }; + EE3C198124B33FA800B4EB0E /* RNTesterSnapshotTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNTesterSnapshotTests.m; sourceTree = ""; }; + EE3C198224B33FA800B4EB0E /* red_square.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = red_square.png; sourceTree = ""; }; + EE3C198324B33FA800B4EB0E /* RCTUIManagerScenarioTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTUIManagerScenarioTests.m; sourceTree = ""; }; + EE3C198424B33FA800B4EB0E /* RNTesterTestModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNTesterTestModule.m; sourceTree = ""; }; + EE3C198524B33FA800B4EB0E /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + EE3C19A124B33FD500B4EB0E /* RCTBundleURLProviderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTBundleURLProviderTests.m; sourceTree = ""; }; + EE3C19A324B33FD500B4EB0E /* RCTURLUtilsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTURLUtilsTests.m; sourceTree = ""; }; + EE3C19A424B33FD500B4EB0E /* RCTModuleInitTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTModuleInitTests.m; sourceTree = ""; }; + EE3C19A524B33FD500B4EB0E /* RCTComponentPropsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTComponentPropsTests.m; sourceTree = ""; }; + EE3C19A624B33FD500B4EB0E /* RCTModuleMethodTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RCTModuleMethodTests.mm; sourceTree = ""; }; + EE3C19A724B33FD500B4EB0E /* RCTMethodArgumentTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTMethodArgumentTests.m; sourceTree = ""; }; + EE3C19A824B33FD500B4EB0E /* RCTAnimationUtilsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTAnimationUtilsTests.m; sourceTree = ""; }; + EE3C19A924B33FD500B4EB0E /* RCTJSONTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTJSONTests.m; sourceTree = ""; }; + EE3C19AA24B33FD500B4EB0E /* RCTConvert_UIColorTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTConvert_UIColorTests.m; sourceTree = ""; }; + EE3C19AB24B33FD500B4EB0E /* RCTImageLoaderHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTImageLoaderHelpers.h; sourceTree = ""; }; + EE3C19AD24B33FD500B4EB0E /* RNTesterUnitTestsBundle.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = RNTesterUnitTestsBundle.js; sourceTree = ""; }; + EE3C19AE24B33FD500B4EB0E /* RCTMultipartStreamReaderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTMultipartStreamReaderTests.m; sourceTree = ""; }; + EE3C19AF24B33FD500B4EB0E /* RCTImageLoaderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTImageLoaderTests.m; sourceTree = ""; }; + EE3C19B024B33FD500B4EB0E /* libOCMock.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libOCMock.a; sourceTree = ""; }; + EE3C19B124B33FD500B4EB0E /* RCTShadowViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTShadowViewTests.m; sourceTree = ""; }; + EE3C19B224B33FD500B4EB0E /* RCTUnicodeDecodeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTUnicodeDecodeTests.m; sourceTree = ""; }; + EE3C19B324B33FD500B4EB0E /* RCTAllocationTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTAllocationTests.m; sourceTree = ""; }; + EE3C19B424B33FD500B4EB0E /* RCTGzipTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTGzipTests.m; sourceTree = ""; }; + EE3C19B524B33FD500B4EB0E /* RCTModuleInitNotificationRaceTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTModuleInitNotificationRaceTests.m; sourceTree = ""; }; + EE3C19B624B33FD500B4EB0E /* RCTFormatErrorTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTFormatErrorTests.m; sourceTree = ""; }; + EE3C19B724B33FD500B4EB0E /* RCTConvert_YGValueTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTConvert_YGValueTests.m; sourceTree = ""; }; + EE3C19B824B33FD500B4EB0E /* RCTImageUtilTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTImageUtilTests.m; sourceTree = ""; }; + EE3C19B924B33FD500B4EB0E /* RCTDevMenuTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTDevMenuTests.m; sourceTree = ""; }; + EE3C19BA24B33FD500B4EB0E /* RCTEventDispatcherTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTEventDispatcherTests.m; sourceTree = ""; }; + EE3C19BB24B33FD500B4EB0E /* RCTImageLoaderHelpers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTImageLoaderHelpers.m; sourceTree = ""; }; + EE3C19BD24B33FD500B4EB0E /* OCMockObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMockObject.h; sourceTree = ""; }; + EE3C19BE24B33FD500B4EB0E /* OCMMacroState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMMacroState.h; sourceTree = ""; }; + EE3C19BF24B33FD500B4EB0E /* OCMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMock.h; sourceTree = ""; }; + EE3C19C024B33FD500B4EB0E /* NSNotificationCenter+OCMAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSNotificationCenter+OCMAdditions.h"; sourceTree = ""; }; + EE3C19C124B33FD500B4EB0E /* OCMStubRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMStubRecorder.h; sourceTree = ""; }; + EE3C19C224B33FD500B4EB0E /* OCMRecorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMRecorder.h; sourceTree = ""; }; + EE3C19C324B33FD500B4EB0E /* OCMLocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMLocation.h; sourceTree = ""; }; + EE3C19C424B33FD500B4EB0E /* OCMConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMConstraint.h; sourceTree = ""; }; + EE3C19C524B33FD500B4EB0E /* OCMArg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMArg.h; sourceTree = ""; }; + EE3C19C624B33FD500B4EB0E /* RCTNativeAnimatedNodesManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTNativeAnimatedNodesManagerTests.m; sourceTree = ""; }; + EE3C19C724B33FD500B4EB0E /* RCTFontTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTFontTests.m; sourceTree = ""; }; + EE3C19C824B33FD500B4EB0E /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + EE3C19C924B33FD500B4EB0E /* RCTBlobManagerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTBlobManagerTests.m; sourceTree = ""; }; + EE3C19CA24B33FD500B4EB0E /* RCTPerformanceLoggerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTPerformanceLoggerTests.m; sourceTree = ""; }; + EE3C19CB24B33FD500B4EB0E /* RCTConvert_NSURLTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTConvert_NSURLTests.m; sourceTree = ""; }; + EE3C19FE24B345C400B4EB0E /* RNTesterIntegrationTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RNTesterIntegrationTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + EE3C1A2A24B4762500B4EB0E /* RNTesterUnitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RNTesterUnitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + EE3C1A5024B4776500B4EB0E /* libPods-RNTesterUnitTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = "libPods-RNTesterUnitTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + EE3C1A5224B4792B00B4EB0E /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + EF90C60F8432AC6D489D9635 /* libPods-RNTesterIntegrationTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-RNTesterIntegrationTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 115C99DEE74C582AFFFE7571 /* libPods-RNTester.a in Frameworks */, + EE3C19DA24B33FD500B4EB0E /* libOCMock.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EE3C19FB24B345C400B4EB0E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + EE3C1A5524B4795B00B4EB0E /* JavaScriptCore.framework in Frameworks */, + EE3C1A5424B4794F00B4EB0E /* XCTest.framework in Frameworks */, + B8D262B38B967F5FC2282C29 /* libPods-RNTesterIntegrationTests.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EE3C1A2724B4762500B4EB0E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + EE3C1A5124B4776500B4EB0E /* libPods-RNTesterUnitTests.a in Frameworks */, + EE3C1A4F24B4774800B4EB0E /* JavaScriptCore.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 046040779587C08D1FE547E0 /* Pods */ = { + isa = PBXGroup; + children = ( + 869D1EB0C6D65766DF32D381 /* Pods-RNTester.debug.xcconfig */, + C928D170CCB333FC8E3C7D9B /* Pods-RNTester.release.xcconfig */, + 1CE9AD9F3D08A3510CBA9C92 /* Pods-RNTesterIntegrationTests.debug.xcconfig */, + 90FC40FD0D8C581603D8C4F3 /* Pods-RNTesterIntegrationTests.release.xcconfig */, + 04AB06A3A577946C264F3D3D /* Pods-RNTesterUnitTests.debug.xcconfig */, + 324505D8A0C57D869CD6057F /* Pods-RNTesterUnitTests.release.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; + 13B07FAE1A68108700A75B9A /* RNTester */ = { + isa = PBXGroup; + children = ( + EE3C196124B33F8F00B4EB0E /* NativeExampleViews */, + EE3C195A24B33F7C00B4EB0E /* RNTesterBundle */, + 13B07FAF1A68108700A75B9A /* AppDelegate.h */, + 13B07FB01A68108700A75B9A /* AppDelegate.mm */, + 13B07FB51A68108700A75B9A /* Images.xcassets */, + 13B07FB61A68108700A75B9A /* Info.plist */, + 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, + 13B07FB71A68108700A75B9A /* main.m */, + 28E11BD8249A6B9C00293E3B /* RNTesterTurboModuleProvider.h */, + 28E11BD9249A6B9C00293E3B /* RNTesterTurboModuleProvider.mm */, + ); + name = RNTester; + sourceTree = ""; + }; + 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { + isa = PBXGroup; + children = ( + EE3C1A5224B4792B00B4EB0E /* XCTest.framework */, + EE3C1A5024B4776500B4EB0E /* libPods-RNTesterUnitTests.a */, + ED297162215061F000B7C4FE /* JavaScriptCore.framework */, + ED2971642150620600B7C4FE /* JavaScriptCore.framework */, + 8E1A96F0186510864290C28F /* libPods-RNTester.a */, + 31D370A1CD5094A221C3CAB6 /* libPods-RNTester-RNTesterTests.a */, + EF90C60F8432AC6D489D9635 /* libPods-RNTesterIntegrationTests.a */, + 651706FB79EAAAF11B331441 /* libPods-RNTesterUnitTests.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + 832341AE1AAA6A7D00B99B32 /* Libraries */ = { + isa = PBXGroup; + children = ( + ); + name = Libraries; + sourceTree = ""; + }; + 83CBB9F61A601CBA00E9B192 = { + isa = PBXGroup; + children = ( + 13B07FAE1A68108700A75B9A /* RNTester */, + EE3C19A024B33FD500B4EB0E /* RNTesterUnitTests */, + EE3C196824B33FA800B4EB0E /* RNTesterIntegrationTests */, + 832341AE1AAA6A7D00B99B32 /* Libraries */, + 83CBBA001A601CBA00E9B192 /* Products */, + 2D16E6871FA4F8E400B85C8A /* Frameworks */, + 046040779587C08D1FE547E0 /* Pods */, + ); + indentWidth = 2; + sourceTree = ""; + tabWidth = 2; + usesTabs = 0; + }; + 83CBBA001A601CBA00E9B192 /* Products */ = { + isa = PBXGroup; + children = ( + 13B07F961A680F5B00A75B9A /* RNTester.app */, + EE3C19FE24B345C400B4EB0E /* RNTesterIntegrationTests.xctest */, + EE3C1A2A24B4762500B4EB0E /* RNTesterUnitTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + EE3C195A24B33F7C00B4EB0E /* RNTesterBundle */ = { + isa = PBXGroup; + children = ( + EE3C195B24B33F7C00B4EB0E /* ImageInBundle.png */, + EE3C195C24B33F7C00B4EB0E /* OtherImages.xcassets */, + EE3C195D24B33F7C00B4EB0E /* Info.plist */, + ); + name = RNTesterBundle; + path = RNTester/RNTesterBundle; + sourceTree = ""; + }; + EE3C196124B33F8F00B4EB0E /* NativeExampleViews */ = { + isa = PBXGroup; + children = ( + EE3C196224B33F8F00B4EB0E /* FlexibleSizeExampleView.m */, + EE3C196324B33F8F00B4EB0E /* UpdatePropertiesExampleView.h */, + EE3C196424B33F8F00B4EB0E /* FlexibleSizeExampleView.h */, + EE3C196524B33F8F00B4EB0E /* UpdatePropertiesExampleView.m */, + ); + name = NativeExampleViews; + path = RNTester/NativeExampleViews; + sourceTree = ""; + }; + EE3C196824B33FA800B4EB0E /* RNTesterIntegrationTests */ = { + isa = PBXGroup; + children = ( + EE3C196924B33FA800B4EB0E /* RNTesterIntegrationTests.m */, + EE3C196A24B33FA800B4EB0E /* RCTRootViewIntegrationTests.m */, + EE3C196B24B33FA800B4EB0E /* ReferenceImages */, + EE3C197F24B33FA800B4EB0E /* RCTLoggingTests.m */, + EE3C198024B33FA800B4EB0E /* blue_square.png */, + EE3C198124B33FA800B4EB0E /* RNTesterSnapshotTests.m */, + EE3C198224B33FA800B4EB0E /* red_square.png */, + EE3C198324B33FA800B4EB0E /* RCTUIManagerScenarioTests.m */, + EE3C198424B33FA800B4EB0E /* RNTesterTestModule.m */, + EE3C198524B33FA800B4EB0E /* Info.plist */, + ); + path = RNTesterIntegrationTests; + sourceTree = ""; + }; + EE3C196B24B33FA800B4EB0E /* ReferenceImages */ = { + isa = PBXGroup; + children = ( + EE3C196C24B33FA800B4EB0E /* RNTester-js-RNTesterApp.ios */, + EE3C197824B33FA800B4EB0E /* IntegrationTests-IntegrationTestsApp */, + ); + path = ReferenceImages; + sourceTree = ""; + }; + EE3C196C24B33FA800B4EB0E /* RNTester-js-RNTesterApp.ios */ = { + isa = PBXGroup; + children = ( + EE3C196D24B33FA800B4EB0E /* testLayoutExample_1-iOS12@2x.png */, + EE3C196E24B33FA800B4EB0E /* testSliderExample_1-iOS12@2x.png */, + EE3C196F24B33FA800B4EB0E /* testSwitchExample_1-iOS12@2x.png */, + EE3C197024B33FA800B4EB0E /* testViewExample_1-iOS12@2x.png */, + EE3C197124B33FA800B4EB0E /* testScrollViewExample_1-iOS13@2x.png */, + EE3C197224B33FA800B4EB0E /* testTextExample_1-iOS13@2x.png */, + EE3C197324B33FA800B4EB0E /* testLayoutExample_1-iOS13@2x.png */, + EE3C197424B33FA800B4EB0E /* testSwitchExample_1-iOS13@2x.png */, + EE3C197524B33FA800B4EB0E /* testTextExample_1-iOS12@2x.png */, + EE3C197624B33FA800B4EB0E /* testViewExample_1-iOS13@2x.png */, + EE3C197724B33FA800B4EB0E /* testScrollViewExample_1-iOS12@2x.png */, + ); + path = "RNTester-js-RNTesterApp.ios"; + sourceTree = ""; + }; + EE3C197824B33FA800B4EB0E /* IntegrationTests-IntegrationTestsApp */ = { + isa = PBXGroup; + children = ( + EE3C197924B33FA800B4EB0E /* testSimpleSnapshotTest_1@2x.png */, + EE3C197A24B33FA800B4EB0E /* testSimpleSnapshotTest_1@3x.png */, + EE3C197B24B33FA800B4EB0E /* testImageSnapshotTest_1@3x.png */, + EE3C197C24B33FA800B4EB0E /* testImageSnapshotTest_1@2x.png */, + EE3C197D24B33FA800B4EB0E /* testImageSnapshotTest_1_tvOS.png */, + EE3C197E24B33FA800B4EB0E /* testSimpleSnapshotTest_1_tvOS.png */, + ); + path = "IntegrationTests-IntegrationTestsApp"; + sourceTree = ""; + }; + EE3C19A024B33FD500B4EB0E /* RNTesterUnitTests */ = { + isa = PBXGroup; + children = ( + EE3C19A124B33FD500B4EB0E /* RCTBundleURLProviderTests.m */, + EE3C19A324B33FD500B4EB0E /* RCTURLUtilsTests.m */, + EE3C19A424B33FD500B4EB0E /* RCTModuleInitTests.m */, + EE3C19A524B33FD500B4EB0E /* RCTComponentPropsTests.m */, + EE3C19A624B33FD500B4EB0E /* RCTModuleMethodTests.mm */, + EE3C19A724B33FD500B4EB0E /* RCTMethodArgumentTests.m */, + EE3C19A824B33FD500B4EB0E /* RCTAnimationUtilsTests.m */, + EE3C19A924B33FD500B4EB0E /* RCTJSONTests.m */, + EE3C19AA24B33FD500B4EB0E /* RCTConvert_UIColorTests.m */, + EE3C19AB24B33FD500B4EB0E /* RCTImageLoaderHelpers.h */, + EE3C19AD24B33FD500B4EB0E /* RNTesterUnitTestsBundle.js */, + EE3C19AE24B33FD500B4EB0E /* RCTMultipartStreamReaderTests.m */, + EE3C19AF24B33FD500B4EB0E /* RCTImageLoaderTests.m */, + EE3C19B124B33FD500B4EB0E /* RCTShadowViewTests.m */, + EE3C19B224B33FD500B4EB0E /* RCTUnicodeDecodeTests.m */, + EE3C19B324B33FD500B4EB0E /* RCTAllocationTests.m */, + EE3C19B424B33FD500B4EB0E /* RCTGzipTests.m */, + EE3C19B524B33FD500B4EB0E /* RCTModuleInitNotificationRaceTests.m */, + EE3C19B624B33FD500B4EB0E /* RCTFormatErrorTests.m */, + EE3C19B724B33FD500B4EB0E /* RCTConvert_YGValueTests.m */, + EE3C19B824B33FD500B4EB0E /* RCTImageUtilTests.m */, + EE3C19B924B33FD500B4EB0E /* RCTDevMenuTests.m */, + EE3C19BA24B33FD500B4EB0E /* RCTEventDispatcherTests.m */, + EE3C19BB24B33FD500B4EB0E /* RCTImageLoaderHelpers.m */, + EE3C19C624B33FD500B4EB0E /* RCTNativeAnimatedNodesManagerTests.m */, + EE3C19C724B33FD500B4EB0E /* RCTFontTests.m */, + EE3C19C924B33FD500B4EB0E /* RCTBlobManagerTests.m */, + EE3C19CA24B33FD500B4EB0E /* RCTPerformanceLoggerTests.m */, + EE3C19CB24B33FD500B4EB0E /* RCTConvert_NSURLTests.m */, + EE3C19B024B33FD500B4EB0E /* libOCMock.a */, + EE3C19C824B33FD500B4EB0E /* Info.plist */, + EE3C19BC24B33FD500B4EB0E /* OCMock */, + ); + path = RNTesterUnitTests; + sourceTree = ""; + }; + EE3C19BC24B33FD500B4EB0E /* OCMock */ = { + isa = PBXGroup; + children = ( + EE3C19BD24B33FD500B4EB0E /* OCMockObject.h */, + EE3C19BE24B33FD500B4EB0E /* OCMMacroState.h */, + EE3C19BF24B33FD500B4EB0E /* OCMock.h */, + EE3C19C024B33FD500B4EB0E /* NSNotificationCenter+OCMAdditions.h */, + EE3C19C124B33FD500B4EB0E /* OCMStubRecorder.h */, + EE3C19C224B33FD500B4EB0E /* OCMRecorder.h */, + EE3C19C324B33FD500B4EB0E /* OCMLocation.h */, + EE3C19C424B33FD500B4EB0E /* OCMConstraint.h */, + EE3C19C524B33FD500B4EB0E /* OCMArg.h */, + ); + path = OCMock; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 13B07F861A680F5B00A75B9A /* RNTester */ = { + isa = PBXNativeTarget; + buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "RNTester" */; + buildPhases = ( + 5C6C55C4F6E3D70FB69B9997 /* [CP] Check Pods Manifest.lock */, + FD10A7F022414F080027D42C /* Start Packager */, + 13B07F871A680F5B00A75B9A /* Sources */, + 13B07F8C1A680F5B00A75B9A /* Frameworks */, + 13B07F8E1A680F5B00A75B9A /* Resources */, + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, + B4EAA6764AD46431DFEFA1BD /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = RNTester; + productName = RNTester; + productReference = 13B07F961A680F5B00A75B9A /* RNTester.app */; + productType = "com.apple.product-type.application"; + }; + EE3C19FD24B345C400B4EB0E /* RNTesterIntegrationTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = EE3C1A0524B345C400B4EB0E /* Build configuration list for PBXNativeTarget "RNTesterIntegrationTests" */; + buildPhases = ( + 74C17D6F49FB4CABF93AF192 /* [CP] Check Pods Manifest.lock */, + EE3C19FA24B345C400B4EB0E /* Sources */, + EE3C19FB24B345C400B4EB0E /* Frameworks */, + EE3C19FC24B345C400B4EB0E /* Resources */, + 96E926F0E0D693AF70A9A6B0 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + EE3C1A0424B345C400B4EB0E /* PBXTargetDependency */, + ); + name = RNTesterIntegrationTests; + productName = RNTesterIntegrationTests; + productReference = EE3C19FE24B345C400B4EB0E /* RNTesterIntegrationTests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; + EE3C1A2924B4762500B4EB0E /* RNTesterUnitTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = EE3C1A3124B4762600B4EB0E /* Build configuration list for PBXNativeTarget "RNTesterUnitTests" */; + buildPhases = ( + C248A39FE631F433AB4BC98A /* [CP] Check Pods Manifest.lock */, + EE3C1A2624B4762500B4EB0E /* Sources */, + EE3C1A2724B4762500B4EB0E /* Frameworks */, + EE3C1A2824B4762500B4EB0E /* Resources */, + D9E146A2DC3F606DA0103177 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + EE3C1A3024B4762600B4EB0E /* PBXTargetDependency */, + ); + name = RNTesterUnitTests; + productName = RNTesterUnitTests; + productReference = EE3C1A2A24B4762500B4EB0E /* RNTesterUnitTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 83CBB9F71A601CBA00E9B192 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1030; + LastUpgradeCheck = 1130; + TargetAttributes = { + 13B07F861A680F5B00A75B9A = { + LastSwiftMigration = 1120; + }; + EE3C19FD24B345C400B4EB0E = { + CreatedOnToolsVersion = 10.3; + ProvisioningStyle = Automatic; + TestTargetID = 13B07F861A680F5B00A75B9A; + }; + EE3C1A2924B4762500B4EB0E = { + CreatedOnToolsVersion = 10.3; + ProvisioningStyle = Automatic; + TestTargetID = 13B07F861A680F5B00A75B9A; + }; + }; + }; + buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "RNTester" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 83CBB9F61A601CBA00E9B192; + productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 13B07F861A680F5B00A75B9A /* RNTester */, + EE3C19FD24B345C400B4EB0E /* RNTesterIntegrationTests */, + EE3C1A2924B4762500B4EB0E /* RNTesterUnitTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 13B07F8E1A680F5B00A75B9A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EE3C195F24B33F7C00B4EB0E /* OtherImages.xcassets in Resources */, + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, + 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EE3C19FC24B345C400B4EB0E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EE3C1A2824B4762500B4EB0E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Bundle React Native code and images"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n"; + }; + 5C6C55C4F6E3D70FB69B9997 /* [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-RNTester-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; + }; + 74C17D6F49FB4CABF93AF192 /* [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; + }; + 96E926F0E0D693AF70A9A6B0 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-RNTesterIntegrationTests/Pods-RNTesterIntegrationTests-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-RNTesterIntegrationTests/Pods-RNTesterIntegrationTests-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + B4EAA6764AD46431DFEFA1BD /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-RNTester/Pods-RNTester-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + C248A39FE631F433AB4BC98A /* [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; + }; + D9E146A2DC3F606DA0103177 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-RNTesterUnitTests/Pods-RNTesterUnitTests-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-RNTesterUnitTests/Pods-RNTesterUnitTests-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + FD10A7F022414F080027D42C /* Start Packager */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Start Packager"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/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/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 13B07F871A680F5B00A75B9A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EE3C196724B33F8F00B4EB0E /* UpdatePropertiesExampleView.m in Sources */, + 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, + EE3C196624B33F8F00B4EB0E /* FlexibleSizeExampleView.m in Sources */, + 13B07FC11A68108700A75B9A /* main.m in Sources */, + 28E11BDA249A6B9C00293E3B /* RNTesterTurboModuleProvider.mm in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EE3C19FA24B345C400B4EB0E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EEEBD4A124C73994004A7A04 /* RNTesterSnapshotTests.m in Sources */, + EEEBD49E24C73981004A7A04 /* RNTesterIntegrationTests.m in Sources */, + EEEBD4A224C73998004A7A04 /* RCTUIManagerScenarioTests.m in Sources */, + EEEBD4A024C73987004A7A04 /* RCTLoggingTests.m in Sources */, + EEEBD4A324C7399B004A7A04 /* RNTesterTestModule.m in Sources */, + EEEBD49F24C73983004A7A04 /* RCTRootViewIntegrationTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EE3C1A2624B4762500B4EB0E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EE3C1A3424B4772600B4EB0E /* RCTBundleURLProviderTests.m in Sources */, + EE3C1A3524B4772600B4EB0E /* RCTURLUtilsTests.m in Sources */, + EE3C1A3624B4772600B4EB0E /* RCTModuleInitTests.m in Sources */, + EE3C1A3724B4772600B4EB0E /* RCTComponentPropsTests.m in Sources */, + EE3C1A3824B4772600B4EB0E /* RCTModuleMethodTests.mm in Sources */, + EE3C1A3924B4772600B4EB0E /* RCTMethodArgumentTests.m in Sources */, + EE3C1A3A24B4772600B4EB0E /* RCTAnimationUtilsTests.m in Sources */, + EE3C1A3B24B4772600B4EB0E /* RCTJSONTests.m in Sources */, + EE3C1A3C24B4772600B4EB0E /* RCTConvert_UIColorTests.m in Sources */, + EE3C1A3D24B4772600B4EB0E /* RCTMultipartStreamReaderTests.m in Sources */, + EE3C1A3E24B4772600B4EB0E /* RCTImageLoaderTests.m in Sources */, + EE3C1A3F24B4772600B4EB0E /* RCTShadowViewTests.m in Sources */, + EE3C1A4024B4772600B4EB0E /* RCTUnicodeDecodeTests.m in Sources */, + EE3C1A4124B4772600B4EB0E /* RCTAllocationTests.m in Sources */, + EE3C1A4224B4772600B4EB0E /* RCTGzipTests.m in Sources */, + EE3C1A4324B4772600B4EB0E /* RCTModuleInitNotificationRaceTests.m in Sources */, + EE3C1A4424B4772600B4EB0E /* RCTFormatErrorTests.m in Sources */, + EE3C1A4524B4772600B4EB0E /* RCTConvert_YGValueTests.m in Sources */, + EE3C1A4624B4772600B4EB0E /* RCTImageUtilTests.m in Sources */, + EE3C1A4724B4772600B4EB0E /* RCTDevMenuTests.m in Sources */, + EE3C1A4824B4772600B4EB0E /* RCTEventDispatcherTests.m in Sources */, + EE3C1A4924B4772600B4EB0E /* RCTImageLoaderHelpers.m in Sources */, + EE3C1A4A24B4772600B4EB0E /* RCTNativeAnimatedNodesManagerTests.m in Sources */, + EE3C1A4B24B4772600B4EB0E /* RCTFontTests.m in Sources */, + EE3C1A4C24B4772600B4EB0E /* RCTBlobManagerTests.m in Sources */, + EE3C1A4D24B4772600B4EB0E /* RCTPerformanceLoggerTests.m in Sources */, + EE3C1A4E24B4772600B4EB0E /* RCTConvert_NSURLTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + EE3C1A0424B345C400B4EB0E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 13B07F861A680F5B00A75B9A /* RNTester */; + targetProxy = EE3C1A0324B345C400B4EB0E /* PBXContainerItemProxy */; + }; + EE3C1A3024B4762600B4EB0E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 13B07F861A680F5B00A75B9A /* RNTester */; + targetProxy = EE3C1A2F24B4762600B4EB0E /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = { + isa = PBXVariantGroup; + children = ( + 13B07FB21A68108700A75B9A /* Base */, + ); + name = LaunchScreen.xib; + path = RNTester; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 13B07F941A680F5B00A75B9A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 869D1EB0C6D65766DF32D381 /* Pods-RNTester.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = 1; + ENABLE_BITCODE = NO; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "FB_SONARKIT_ENABLED=1", + ); + HEADER_SEARCH_PATHS = ( + "\"${PODS_ROOT}/Headers/Public\"", + "\"${PODS_ROOT}/Headers/Public/CocoaAsyncSocket\"", + "\"${PODS_ROOT}/Headers/Public/CocoaLibEvent\"", + "\"${PODS_ROOT}/Headers/Public/DoubleConversion\"", + "\"${PODS_ROOT}/Headers/Public/FBLazyVector\"", + "\"${PODS_ROOT}/Headers/Public/FBReactNativeSpec\"", + "\"${PODS_ROOT}/Headers/Public/Flipper\"", + "\"${PODS_ROOT}/Headers/Public/Flipper-DoubleConversion\"", + "\"${PODS_ROOT}/Headers/Public/Flipper-Folly\"", + "\"${PODS_ROOT}/Headers/Public/Flipper-Glog\"", + "\"${PODS_ROOT}/Headers/Public/Flipper-PeerTalk\"", + "\"${PODS_ROOT}/Headers/Public/Flipper-RSocket\"", + "\"${PODS_ROOT}/Headers/Public/FlipperKit\"", + "\"${PODS_ROOT}/Headers/Public/OpenSSL-Universal\"", + "\"${PODS_ROOT}/Headers/Public/RCTRequired\"", + "\"${PODS_ROOT}/Headers/Public/RCTTypeSafety\"", + "\"${PODS_ROOT}/Headers/Public/RNCAsyncStorage\"", + "\"${PODS_ROOT}/Headers/Public/RNCClipboard\"", + "\"${PODS_ROOT}/Headers/Public/React-RCTPushNotification\"", + "\"${PODS_ROOT}/Headers/Public/RNDateTimePicker\"", + "\"${PODS_ROOT}/Headers/Public/React-Core\"", + "\"${PODS_ROOT}/Headers/Public/React-RCTText\"", + "\"${PODS_ROOT}/Headers/Public/React-cxxreact\"", + "\"${PODS_ROOT}/Headers/Public/React-jsi\"", + "\"${PODS_ROOT}/Headers/Public/React-jsiexecutor\"", + "\"${PODS_ROOT}/Headers/Public/React-jsinspector\"", + "\"${PODS_ROOT}/Headers/Public/ReactCommon\"", + "\"${PODS_ROOT}/Headers/Public/Yoga\"", + "\"${PODS_ROOT}/Headers/Public/YogaKit\"", + "\"${PODS_ROOT}/Headers/Public/glog\"", + "\"${PODS_ROOT}/Headers/Public/react-native-progress-view\"", + "\"${PODS_ROOT}/Headers/Public/react-native-segmented-control\"", + "\"${PODS_ROOT}/Headers/Public/react-native-slider\"", + "\"$(PODS_ROOT)/Headers/Private/React-Core\"", + "\"$(PODS_ROOT)/Folly\"", + "\"$(PODS_ROOT)/boost-for-react-native\"", + "$(inherited)", + ); + INFOPLIST_FILE = RNTester/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "\"${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FBReactNativeSpec\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper-DoubleConversion\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper-Folly\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper-Glog\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper-PeerTalk\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper-RSocket\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FlipperKit\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Folly\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNCAsyncStorage\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNCClipboard\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNDateTimePicker\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Core\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsi\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-perflogger\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Yoga\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/YogaKit\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/glog\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-progress-view\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-segmented-control\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-slider\"", + "\"${PODS_ROOT}/CocoaLibEvent/lib\"", + "\"${PODS_ROOT}/OpenSSL-Universal/ios/lib\"", + "$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)", + "$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)", + "$(inherited)", + "$(PROJECT_DIR)/RNTesterUnitTests", + ); + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-DFOLLY_NO_CONFIG", + "-DFOLLY_MOBILE=1", + "-DFOLLY_USE_LIBCPP=1", + ); + OTHER_LDFLAGS = ( + "-l\"stdc++\"", + "-framework", + "\"JavaScriptCore\"", + "-ObjC", + "$(inherited)", + ); + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -DFB_SONARKIT_ENABLED"; + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = RNTester; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 13B07F951A680F5B00A75B9A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C928D170CCB333FC8E3C7D9B /* Pods-RNTester.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = 1; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + HEADER_SEARCH_PATHS = ( + "\"${PODS_ROOT}/Headers/Public\"", + "\"${PODS_ROOT}/Headers/Public/CocoaAsyncSocket\"", + "\"${PODS_ROOT}/Headers/Public/CocoaLibEvent\"", + "\"${PODS_ROOT}/Headers/Public/DoubleConversion\"", + "\"${PODS_ROOT}/Headers/Public/FBLazyVector\"", + "\"${PODS_ROOT}/Headers/Public/FBReactNativeSpec\"", + "\"${PODS_ROOT}/Headers/Public/Flipper\"", + "\"${PODS_ROOT}/Headers/Public/Flipper-DoubleConversion\"", + "\"${PODS_ROOT}/Headers/Public/Flipper-Folly\"", + "\"${PODS_ROOT}/Headers/Public/Flipper-Glog\"", + "\"${PODS_ROOT}/Headers/Public/Flipper-PeerTalk\"", + "\"${PODS_ROOT}/Headers/Public/Flipper-RSocket\"", + "\"${PODS_ROOT}/Headers/Public/FlipperKit\"", + "\"${PODS_ROOT}/Headers/Public/OpenSSL-Universal\"", + "\"${PODS_ROOT}/Headers/Public/RCTRequired\"", + "\"${PODS_ROOT}/Headers/Public/RCTTypeSafety\"", + "\"${PODS_ROOT}/Headers/Public/RNCAsyncStorage\"", + "\"${PODS_ROOT}/Headers/Public/RNCClipboard\"", + "\"${PODS_ROOT}/Headers/Public/React-RCTPushNotification\"", + "\"${PODS_ROOT}/Headers/Public/RNDateTimePicker\"", + "\"${PODS_ROOT}/Headers/Public/React-Core\"", + "\"${PODS_ROOT}/Headers/Public/React-RCTText\"", + "\"${PODS_ROOT}/Headers/Public/React-cxxreact\"", + "\"${PODS_ROOT}/Headers/Public/React-jsi\"", + "\"${PODS_ROOT}/Headers/Public/React-jsiexecutor\"", + "\"${PODS_ROOT}/Headers/Public/React-jsinspector\"", + "\"${PODS_ROOT}/Headers/Public/ReactCommon\"", + "\"${PODS_ROOT}/Headers/Public/Yoga\"", + "\"${PODS_ROOT}/Headers/Public/YogaKit\"", + "\"${PODS_ROOT}/Headers/Public/glog\"", + "\"${PODS_ROOT}/Headers/Public/react-native-progress-view\"", + "\"${PODS_ROOT}/Headers/Public/react-native-segmented-control\"", + "\"${PODS_ROOT}/Headers/Public/react-native-slider\"", + "\"$(PODS_ROOT)/Headers/Private/React-Core\"", + "\"$(PODS_ROOT)/Folly\"", + "\"$(PODS_ROOT)/boost-for-react-native\"", + "$(inherited)", + ); + INFOPLIST_FILE = RNTester/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "\"${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FBReactNativeSpec\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Folly\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNCAsyncStorage\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNCClipboard\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNDateTimePicker\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Core\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsi\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-perflogger\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Yoga\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/YogaKit\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/glog\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-progress-view\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-segmented-control\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-slider\"", + "\"${PODS_ROOT}/CocoaLibEvent/lib\"", + "\"${PODS_ROOT}/OpenSSL-Universal/ios/lib\"", + "$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)", + "$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)", + "$(inherited)", + "$(PROJECT_DIR)/RNTesterUnitTests", + ); + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-DFOLLY_NO_CONFIG", + "-DFOLLY_MOBILE=1", + "-DFOLLY_USE_LIBCPP=1", + ); + OTHER_LDFLAGS = ( + "-l\"stdc++\"", + "\"JavaScriptCore\"", + "-framework", + "-ObjC", + "$(inherited)", + ); + OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -DFB_SONARKIT_ENABLED"; + PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = RNTester; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; + 83CBBA201A601CBA00E9B192 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; + LIBRARY_SEARCH_PATHS = ( + "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", + "\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"", + "\"$(inherited)\"", + ); + MTL_ENABLE_DEBUG_INFO = YES; + "MTL_ENABLE_DEBUG_INFO[arch=*]" = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 83CBBA211A601CBA00E9B192 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; + LIBRARY_SEARCH_PATHS = ( + "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", + "\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"", + "\"$(inherited)\"", + ); + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + EE3C1A0624B345C400B4EB0E /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 1CE9AD9F3D08A3510CBA9C92 /* Pods-RNTesterIntegrationTests.debug.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = dwarf; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = RNTesterIntegrationTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + 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.react.uiapp.RNTesterIntegrationTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = RNTester; + }; + name = Debug; + }; + EE3C1A0724B345C400B4EB0E /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 90FC40FD0D8C581603D8C4F3 /* Pods-RNTesterIntegrationTests.release.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = 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"; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = RNTesterIntegrationTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.facebook.react.uiapp.RNTesterIntegrationTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = RNTester; + }; + name = Release; + }; + EE3C1A3224B4762600B4EB0E /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 04AB06A3A577946C264F3D3D /* Pods-RNTesterUnitTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = dwarf; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = RNTesterUnitTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + 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.RNTesterUnitTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RNTester.app/RNTester"; + }; + name = Debug; + }; + EE3C1A3324B4762600B4EB0E /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 324505D8A0C57D869CD6057F /* Pods-RNTesterUnitTests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = 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"; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = RNTesterUnitTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.facebook.RNTesterUnitTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RNTester.app/RNTester"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "RNTester" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 13B07F941A680F5B00A75B9A /* Debug */, + 13B07F951A680F5B00A75B9A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "RNTester" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83CBBA201A601CBA00E9B192 /* Debug */, + 83CBBA211A601CBA00E9B192 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + EE3C1A0524B345C400B4EB0E /* Build configuration list for PBXNativeTarget "RNTesterIntegrationTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + EE3C1A0624B345C400B4EB0E /* Debug */, + EE3C1A0724B345C400B4EB0E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + EE3C1A3124B4762600B4EB0E /* Build configuration list for PBXNativeTarget "RNTesterUnitTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + EE3C1A3224B4762600B4EB0E /* Debug */, + EE3C1A3324B4762600B4EB0E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; +} diff --git a/RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTesterIntegrationTests.xcscheme b/packages/RNTester/ios/RNTester.xcodeproj/xcshareddata/xcschemes/RNTester-tvOS.xcscheme similarity index 51% rename from RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTesterIntegrationTests.xcscheme rename to packages/RNTester/ios/RNTester.xcodeproj/xcshareddata/xcschemes/RNTester-tvOS.xcscheme index 2917ce39532f09..e45ea18715e0da 100644 --- a/RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTesterIntegrationTests.xcscheme +++ b/packages/RNTester/ios/RNTester.xcodeproj/xcshareddata/xcschemes/RNTester-tvOS.xcscheme @@ -1,9 +1,9 @@ + BlueprintIdentifier = "2D02E47A1E0B4A5D006451C7" + BuildableName = "RNTester-tvOS.app" + BlueprintName = "RNTester-tvOS" + ReferencedContainer = "container:RNTester.xcodeproj"> @@ -26,43 +26,17 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "NO"> - - - - - - - - - - + shouldUseLaunchSchemeArgsEnv = "YES"> + BlueprintIdentifier = "2D02E48F1E0B4A5D006451C7" + BuildableName = "RNTester-tvOSTests.xctest" + BlueprintName = "RNTester-tvOSTests" + ReferencedContainer = "container:RNTester.xcodeproj"> - - - - @@ -76,15 +50,16 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> - + + BlueprintIdentifier = "2D02E47A1E0B4A5D006451C7" + BuildableName = "RNTester-tvOS.app" + BlueprintName = "RNTester-tvOS" + ReferencedContainer = "container:RNTester.xcodeproj"> - + - + + BlueprintIdentifier = "2D02E47A1E0B4A5D006451C7" + BuildableName = "RNTester-tvOS.app" + BlueprintName = "RNTester-tvOS" + ReferencedContainer = "container:RNTester.xcodeproj"> - + diff --git a/RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTester.xcscheme b/packages/RNTester/ios/RNTester.xcodeproj/xcshareddata/xcschemes/RNTester.xcscheme similarity index 74% rename from RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTester.xcscheme rename to packages/RNTester/ios/RNTester.xcodeproj/xcshareddata/xcschemes/RNTester.xcscheme index 938a25682dbd5c..60af7eb5495d73 100644 --- a/RNTester/RNTesterPods.xcodeproj/xcshareddata/xcschemes/RNTester.xcscheme +++ b/packages/RNTester/ios/RNTester.xcodeproj/xcshareddata/xcschemes/RNTester.xcscheme @@ -1,9 +1,9 @@ + ReferencedContainer = "container:RNTester.xcodeproj"> @@ -26,45 +26,50 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "NO"> - - - - - - - - + shouldUseLaunchSchemeArgsEnv = "YES"> + BlueprintIdentifier = "00E356ED1AD99517003FC87E" + BuildableName = "RNTesterTests.xctest" + BlueprintName = "RNTesterTests" + ReferencedContainer = "container:RNTester.xcodeproj"> + ReferencedContainer = "container:RNTester.xcodeproj"> + + + + + + + + + + + ReferencedContainer = "container:RNTester.xcodeproj"> + + + ReferencedContainer = "container:RNTester.xcodeproj"> diff --git a/RNTester/RNTesterPods.xcworkspace/contents.xcworkspacedata b/packages/RNTester/ios/RNTester.xcworkspace/contents.xcworkspacedata similarity index 78% rename from RNTester/RNTesterPods.xcworkspace/contents.xcworkspacedata rename to packages/RNTester/ios/RNTester.xcworkspace/contents.xcworkspacedata index 96d9c7f00fbc33..739fe86484f489 100644 --- a/RNTester/RNTesterPods.xcworkspace/contents.xcworkspacedata +++ b/packages/RNTester/ios/RNTester.xcworkspace/contents.xcworkspacedata @@ -2,7 +2,7 @@ + location = "group:RNTester.xcodeproj"> diff --git a/RNTester/RNTesterPods.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/RNTester/ios/RNTester.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from RNTester/RNTesterPods.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to packages/RNTester/ios/RNTester.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/RNTester/RNTester/AppDelegate.h b/packages/RNTester/ios/RNTester/AppDelegate.h similarity index 100% rename from RNTester/RNTester/AppDelegate.h rename to packages/RNTester/ios/RNTester/AppDelegate.h diff --git a/RNTester/RNTester/AppDelegate.mm b/packages/RNTester/ios/RNTester/AppDelegate.mm similarity index 93% rename from RNTester/RNTester/AppDelegate.mm rename to packages/RNTester/ios/RNTester/AppDelegate.mm index 9895b2c83649da..640999401138fe 100644 --- a/RNTester/RNTester/AppDelegate.mm +++ b/packages/RNTester/ios/RNTester/AppDelegate.mm @@ -36,7 +36,7 @@ #import #endif - + #if DEBUG #ifdef FB_SONARKIT_ENABLED #import @@ -54,13 +54,13 @@ #import "RNTesterTurboModuleProvider.h" @interface AppDelegate() { - + #ifdef RN_FABRIC_ENABLED RCTSurfacePresenterBridgeAdapter *_bridgeAdapter; std::shared_ptr _reactNativeConfig; facebook::react::ContextContainer::Shared _contextContainer; #endif - + RCTTurboModuleManager *_turboModuleManager; } @end @@ -70,33 +70,33 @@ @implementation AppDelegate - (BOOL)application:(__unused UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { RCTEnableTurboModule(YES); - + _bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; - + // Appetizer.io params check NSDictionary *initProps = @{}; NSString *_routeUri = [[NSUserDefaults standardUserDefaults] stringForKey:@"route"]; if (_routeUri) { initProps = @{@"exampleFromAppetizeParams": [NSString stringWithFormat:@"rntester://example/%@Example", _routeUri]}; } - + #ifdef RN_FABRIC_ENABLED _contextContainer = std::make_shared(); _reactNativeConfig = std::make_shared(); - + _contextContainer->insert("ReactNativeConfig", _reactNativeConfig); - + _bridgeAdapter = [[RCTSurfacePresenterBridgeAdapter alloc] initWithBridge:_bridge contextContainer:_contextContainer]; - + _bridge.surfacePresenter = _bridgeAdapter.surfacePresenter; - - UIView *rootView = [[RCTFabricSurfaceHostingProxyRootView alloc] initWithBridge:_bridge moduleName:@"RNTesterApp" initialProperties:initProps]; + + UIView *rootView = [[RCTFabricSurfaceHostingProxyRootView alloc] initWithBridge:_bridge moduleName:@"RNTester" initialProperties:initProps]; #else - UIView *rootView = [[RCTRootView alloc] initWithBridge:_bridge moduleName:@"RNTesterApp" initialProperties:initProps]; + UIView *rootView = [[RCTRootView alloc] initWithBridge:_bridge moduleName:@"RNTester" initialProperties:initProps]; #endif - + self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; UIViewController *rootViewController = [UIViewController new]; rootViewController.view = rootView; @@ -109,7 +109,7 @@ - (BOOL)application:(__unused UIApplication *)application didFinishLaunchingWith - (NSURL *)sourceURLForBridge:(__unused RCTBridge *)bridge { NSString *bundlePrefix = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"RN_BUNDLE_PREFIX"]; - NSString *bundleRoot = [NSString stringWithFormat:@"%@RNTester/js/RNTesterApp.ios", bundlePrefix]; + NSString *bundleRoot = [NSString stringWithFormat:@"%@js/RNTesterApp.ios.js", bundlePrefix]; return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:bundleRoot fallbackResource:nil]; } @@ -153,7 +153,7 @@ - (void)loadSourceForBridge:(RCTBridge *)bridge _turboModuleManager = [[RCTTurboModuleManager alloc] initWithBridge:bridge delegate:self jsInvoker:bridge.jsCallInvoker]; - + #if RCT_DEV /** * Eagerly initialize RCTDevMenu so CMD + d, CMD + i, and CMD + r work. @@ -161,7 +161,7 @@ - (void)loadSourceForBridge:(RCTBridge *)bridge */ [_turboModuleManager moduleForName:"RCTDevMenu"]; #endif - + __weak __typeof(self) weakSelf = self; return std::make_unique([weakSelf, bridge](facebook::jsi::Runtime &runtime) { if (!bridge) { @@ -185,13 +185,13 @@ - (Class)getModuleClassFromName:(const char *)name } - (std::shared_ptr)getTurboModule:(const std::string &)name - jsInvoker:(std::shared_ptr)jsInvoker +jsInvoker:(std::shared_ptr)jsInvoker { return facebook::react::RNTesterTurboModuleProvider(name, jsInvoker); } - (std::shared_ptr)getTurboModule:(const std::string &)name - initParams:(const facebook::react::ObjCTurboModule::InitParams &)params +initParams:(const facebook::react::ObjCTurboModule::InitParams &)params { return facebook::react::RNTesterTurboModuleProvider(name, params); } @@ -207,10 +207,10 @@ - (Class)getModuleClassFromName:(const char *)name } else if (moduleClass == RCTNetworking.class) { return [[moduleClass alloc] initWithHandlersProvider:^NSArray> *{ return @[ - [RCTHTTPRequestHandler new], - [RCTDataRequestHandler new], - [RCTFileRequestHandler new], - ]; + [RCTHTTPRequestHandler new], + [RCTDataRequestHandler new], + [RCTFileRequestHandler new], + ]; }]; } // No custom initializer here. diff --git a/packages/RNTester/ios/RNTester/Base.lproj/LaunchScreen.xib b/packages/RNTester/ios/RNTester/Base.lproj/LaunchScreen.xib new file mode 100644 index 00000000000000..73b96066aa59f3 --- /dev/null +++ b/packages/RNTester/ios/RNTester/Base.lproj/LaunchScreen.xib @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/RNTester/ios/RNTester/Images.xcassets/AppIcon.appiconset/Contents.json b/packages/RNTester/ios/RNTester/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000000000..19882d568afa3d --- /dev/null +++ b/packages/RNTester/ios/RNTester/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,53 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + }, + { + "idiom" : "ios-marketing", + "size" : "1024x1024", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/RNTester/RNTester/RNTesterBundle/OtherImages.xcassets/Contents.json b/packages/RNTester/ios/RNTester/Images.xcassets/Contents.json similarity index 96% rename from RNTester/RNTester/RNTesterBundle/OtherImages.xcassets/Contents.json rename to packages/RNTester/ios/RNTester/Images.xcassets/Contents.json index da4a164c918651..2d92bd53fdb222 100644 --- a/RNTester/RNTester/RNTesterBundle/OtherImages.xcassets/Contents.json +++ b/packages/RNTester/ios/RNTester/Images.xcassets/Contents.json @@ -3,4 +3,4 @@ "version" : 1, "author" : "xcode" } -} \ No newline at end of file +} diff --git a/RNTester/RNTester/Info.plist b/packages/RNTester/ios/RNTester/Info.plist similarity index 67% rename from RNTester/RNTester/Info.plist rename to packages/RNTester/ios/RNTester/Info.plist index 3b0806d0b90814..fbb8672e89a171 100644 --- a/RNTester/RNTester/Info.plist +++ b/packages/RNTester/ios/RNTester/Info.plist @@ -2,10 +2,10 @@ - UIStatusBarStyle - UIStatusBarStyleBlackTranslucent CFBundleDevelopmentRegion en + CFBundleDisplayName + RNTester CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -20,19 +20,6 @@ 1.0 CFBundleSignature ???? - CFBundleURLTypes - - - CFBundleTypeRole - Editor - CFBundleURLName - com.reactjs.ios - CFBundleURLSchemes - - rntester - - - CFBundleVersion 1 LSRequiresIPhoneOS @@ -41,9 +28,17 @@ NSAllowsArbitraryLoads + NSExceptionDomains + + localhost + + NSExceptionAllowsInsecureHTTPLoads + + + NSLocationWhenInUseUsageDescription - You need to add NSLocationWhenInUseUsageDescription key in Info.plist to enable geolocation, otherwise it is going to *fail silently*! + UILaunchStoryboardName LaunchScreen UIRequiredDeviceCapabilities @@ -58,8 +53,6 @@ UIViewControllerBasedStatusBarAppearance - NSPhotoLibraryUsageDescription - You need to add NSPhotoLibraryUsageDescription key in Info.plist to enable photo library usage, otherwise it is going to *fail silently*! RN_BUNDLE_PREFIX $(RN_BUNDLE_PREFIX) diff --git a/RNTester/RNTester/NativeExampleViews/FlexibleSizeExampleView.h b/packages/RNTester/ios/RNTester/NativeExampleViews/FlexibleSizeExampleView.h similarity index 100% rename from RNTester/RNTester/NativeExampleViews/FlexibleSizeExampleView.h rename to packages/RNTester/ios/RNTester/NativeExampleViews/FlexibleSizeExampleView.h diff --git a/RNTester/RNTester/NativeExampleViews/FlexibleSizeExampleView.m b/packages/RNTester/ios/RNTester/NativeExampleViews/FlexibleSizeExampleView.m similarity index 100% rename from RNTester/RNTester/NativeExampleViews/FlexibleSizeExampleView.m rename to packages/RNTester/ios/RNTester/NativeExampleViews/FlexibleSizeExampleView.m diff --git a/RNTester/RNTester/NativeExampleViews/UpdatePropertiesExampleView.h b/packages/RNTester/ios/RNTester/NativeExampleViews/UpdatePropertiesExampleView.h similarity index 100% rename from RNTester/RNTester/NativeExampleViews/UpdatePropertiesExampleView.h rename to packages/RNTester/ios/RNTester/NativeExampleViews/UpdatePropertiesExampleView.h diff --git a/RNTester/RNTester/NativeExampleViews/UpdatePropertiesExampleView.m b/packages/RNTester/ios/RNTester/NativeExampleViews/UpdatePropertiesExampleView.m similarity index 100% rename from RNTester/RNTester/NativeExampleViews/UpdatePropertiesExampleView.m rename to packages/RNTester/ios/RNTester/NativeExampleViews/UpdatePropertiesExampleView.m diff --git a/RNTester/RNTester/RNTesterBundle/ImageInBundle.png b/packages/RNTester/ios/RNTester/RNTesterBundle/ImageInBundle.png similarity index 100% rename from RNTester/RNTester/RNTesterBundle/ImageInBundle.png rename to packages/RNTester/ios/RNTester/RNTesterBundle/ImageInBundle.png diff --git a/RNTester/RNTester/RNTesterBundle/Info.plist b/packages/RNTester/ios/RNTester/RNTesterBundle/Info.plist similarity index 100% rename from RNTester/RNTester/RNTesterBundle/Info.plist rename to packages/RNTester/ios/RNTester/RNTesterBundle/Info.plist diff --git a/RNTester/RNTester/Images.xcassets/Contents.json b/packages/RNTester/ios/RNTester/RNTesterBundle/OtherImages.xcassets/Contents.json similarity index 100% rename from RNTester/RNTester/Images.xcassets/Contents.json rename to packages/RNTester/ios/RNTester/RNTesterBundle/OtherImages.xcassets/Contents.json diff --git a/RNTester/RNTester/RNTesterBundle/OtherImages.xcassets/ImageInAssetCatalog.imageset/Contents.json b/packages/RNTester/ios/RNTester/RNTesterBundle/OtherImages.xcassets/ImageInAssetCatalog.imageset/Contents.json similarity index 100% rename from RNTester/RNTester/RNTesterBundle/OtherImages.xcassets/ImageInAssetCatalog.imageset/Contents.json rename to packages/RNTester/ios/RNTester/RNTesterBundle/OtherImages.xcassets/ImageInAssetCatalog.imageset/Contents.json diff --git a/RNTester/RNTester/RNTesterBundle/OtherImages.xcassets/ImageInAssetCatalog.imageset/react-logo.png b/packages/RNTester/ios/RNTester/RNTesterBundle/OtherImages.xcassets/ImageInAssetCatalog.imageset/react-logo.png similarity index 100% rename from RNTester/RNTester/RNTesterBundle/OtherImages.xcassets/ImageInAssetCatalog.imageset/react-logo.png rename to packages/RNTester/ios/RNTester/RNTesterBundle/OtherImages.xcassets/ImageInAssetCatalog.imageset/react-logo.png diff --git a/packages/RNTester/ios/RNTester/RNTesterTurboModuleProvider.h b/packages/RNTester/ios/RNTester/RNTesterTurboModuleProvider.h new file mode 100644 index 00000000000000..62f337fa8029ff --- /dev/null +++ b/packages/RNTester/ios/RNTester/RNTesterTurboModuleProvider.h @@ -0,0 +1,30 @@ +/* + * 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. + */ + +#import + +namespace facebook { + namespace react { + + /** + * Provide the TurboModule class for the given name. + */ + Class RNTesterTurboModuleClassProvider(const char *name); + + /** + * Provide a pure C++ instance of a TurboModule, specific to this app. + */ + std::shared_ptr RNTesterTurboModuleProvider(const std::string &name, std::shared_ptr jsInvoker); + + /** + * Provide an instance of a ObjCTurboModule, given the ObjC instance, specific to this app. + */ + std::shared_ptr RNTesterTurboModuleProvider(const std::string &name, + const ObjCTurboModule::InitParams ¶ms); + + } // namespace react +} // namespace facebook diff --git a/packages/RNTester/ios/RNTester/RNTesterTurboModuleProvider.mm b/packages/RNTester/ios/RNTester/RNTesterTurboModuleProvider.mm new file mode 100644 index 00000000000000..4baa89319cf2b0 --- /dev/null +++ b/packages/RNTester/ios/RNTester/RNTesterTurboModuleProvider.mm @@ -0,0 +1,41 @@ +/* + * 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. + */ + +#import "RNTesterTurboModuleProvider.h" + +#import +#import +#import + +// NOTE: This entire file should be codegen'ed. + +namespace facebook { + namespace react { + + Class RNTesterTurboModuleClassProvider(const char *name) { + return RCTCoreModulesClassProvider(name); + } + + std::shared_ptr RNTesterTurboModuleProvider(const std::string &name, std::shared_ptr jsInvoker) { + if (name == "SampleTurboCxxModule") { + return std::make_shared(jsInvoker); + } + + return nullptr; + } + + std::shared_ptr RNTesterTurboModuleProvider(const std::string &name, + const ObjCTurboModule::InitParams ¶ms) { + if (name == "SampleTurboModule") { + return std::make_shared(params); + } + + return nullptr; + } + + } // namespace react +} // namespace facebook diff --git a/RNTester/RNTester/main.m b/packages/RNTester/ios/RNTester/main.m similarity index 51% rename from RNTester/RNTester/main.m rename to packages/RNTester/ios/RNTester/main.m index d4a3769084cbfa..b1df44b953ec48 100644 --- a/RNTester/RNTester/main.m +++ b/packages/RNTester/ios/RNTester/main.m @@ -1,10 +1,3 @@ -/* - * 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. - */ - #import #import "AppDelegate.h" diff --git a/RNTester/RNTesterIntegrationTests/Info.plist b/packages/RNTester/ios/RNTesterIntegrationTests/Info.plist similarity index 100% rename from RNTester/RNTesterIntegrationTests/Info.plist rename to packages/RNTester/ios/RNTesterIntegrationTests/Info.plist diff --git a/RNTester/RNTesterIntegrationTests/RCTLoggingTests.m b/packages/RNTester/ios/RNTesterIntegrationTests/RCTLoggingTests.m similarity index 100% rename from RNTester/RNTesterIntegrationTests/RCTLoggingTests.m rename to packages/RNTester/ios/RNTesterIntegrationTests/RCTLoggingTests.m diff --git a/RNTester/RNTesterIntegrationTests/RCTRootViewIntegrationTests.m b/packages/RNTester/ios/RNTesterIntegrationTests/RCTRootViewIntegrationTests.m similarity index 100% rename from RNTester/RNTesterIntegrationTests/RCTRootViewIntegrationTests.m rename to packages/RNTester/ios/RNTesterIntegrationTests/RCTRootViewIntegrationTests.m diff --git a/RNTester/RNTesterIntegrationTests/RCTUIManagerScenarioTests.m b/packages/RNTester/ios/RNTesterIntegrationTests/RCTUIManagerScenarioTests.m similarity index 100% rename from RNTester/RNTesterIntegrationTests/RCTUIManagerScenarioTests.m rename to packages/RNTester/ios/RNTesterIntegrationTests/RCTUIManagerScenarioTests.m diff --git a/RNTester/RNTesterIntegrationTests/RNTesterIntegrationTests.m b/packages/RNTester/ios/RNTesterIntegrationTests/RNTesterIntegrationTests.m similarity index 100% rename from RNTester/RNTesterIntegrationTests/RNTesterIntegrationTests.m rename to packages/RNTester/ios/RNTesterIntegrationTests/RNTesterIntegrationTests.m diff --git a/packages/RNTester/ios/RNTesterIntegrationTests/RNTesterIntegrationTests.swift b/packages/RNTester/ios/RNTesterIntegrationTests/RNTesterIntegrationTests.swift new file mode 100644 index 00000000000000..26598b32354668 --- /dev/null +++ b/packages/RNTester/ios/RNTesterIntegrationTests/RNTesterIntegrationTests.swift @@ -0,0 +1,33 @@ +// +// RNTesterIntegrationTests.swift +// RNTesterIntegrationTests +// +// Created by Ansh Godha on 06/07/20. +// + +import XCTest + +class RNTesterIntegrationTests: XCTestCase { + + override func setUp() { + // Put setup code here. This method is called before the invocation of each test method in the class. + + // In UI tests it is usually best to stop immediately when a failure occurs. + continueAfterFailure = false + + // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. + XCUIApplication().launch() + + // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. + } + + override func tearDown() { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() { + // Use recording to get started writing UI tests. + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + +} diff --git a/RNTester/RNTesterIntegrationTests/RNTesterSnapshotTests.m b/packages/RNTester/ios/RNTesterIntegrationTests/RNTesterSnapshotTests.m similarity index 100% rename from RNTester/RNTesterIntegrationTests/RNTesterSnapshotTests.m rename to packages/RNTester/ios/RNTesterIntegrationTests/RNTesterSnapshotTests.m diff --git a/RNTester/RNTesterIntegrationTests/RNTesterTestModule.m b/packages/RNTester/ios/RNTesterIntegrationTests/RNTesterTestModule.m similarity index 100% rename from RNTester/RNTesterIntegrationTests/RNTesterTestModule.m rename to packages/RNTester/ios/RNTesterIntegrationTests/RNTesterTestModule.m diff --git a/RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testImageSnapshotTest_1@2x.png b/packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testImageSnapshotTest_1@2x.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testImageSnapshotTest_1@2x.png rename to packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testImageSnapshotTest_1@2x.png diff --git a/RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testImageSnapshotTest_1@3x.png b/packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testImageSnapshotTest_1@3x.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testImageSnapshotTest_1@3x.png rename to packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testImageSnapshotTest_1@3x.png diff --git a/RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testImageSnapshotTest_1_tvOS.png b/packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testImageSnapshotTest_1_tvOS.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testImageSnapshotTest_1_tvOS.png rename to packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testImageSnapshotTest_1_tvOS.png diff --git a/RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshotTest_1@2x.png b/packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshotTest_1@2x.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshotTest_1@2x.png rename to packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshotTest_1@2x.png diff --git a/RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshotTest_1@3x.png b/packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshotTest_1@3x.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshotTest_1@3x.png rename to packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshotTest_1@3x.png diff --git a/RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshotTest_1_tvOS.png b/packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshotTest_1_tvOS.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshotTest_1_tvOS.png rename to packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshotTest_1_tvOS.png diff --git a/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1-iOS12@2x.png b/packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1-iOS12@2x.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1-iOS12@2x.png rename to packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1-iOS12@2x.png diff --git a/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1-iOS13@2x.png b/packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1-iOS13@2x.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1-iOS13@2x.png rename to packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testLayoutExample_1-iOS13@2x.png diff --git a/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1-iOS12@2x.png b/packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1-iOS12@2x.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1-iOS12@2x.png rename to packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1-iOS12@2x.png diff --git a/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1-iOS13@2x.png b/packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1-iOS13@2x.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1-iOS13@2x.png rename to packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testScrollViewExample_1-iOS13@2x.png diff --git a/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSliderExample_1-iOS12@2x.png b/packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSliderExample_1-iOS12@2x.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSliderExample_1-iOS12@2x.png rename to packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSliderExample_1-iOS12@2x.png diff --git a/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSwitchExample_1-iOS12@2x.png b/packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSwitchExample_1-iOS12@2x.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSwitchExample_1-iOS12@2x.png rename to packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSwitchExample_1-iOS12@2x.png diff --git a/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSwitchExample_1-iOS13@2x.png b/packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSwitchExample_1-iOS13@2x.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSwitchExample_1-iOS13@2x.png rename to packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testSwitchExample_1-iOS13@2x.png diff --git a/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1-iOS12@2x.png b/packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1-iOS12@2x.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1-iOS12@2x.png rename to packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1-iOS12@2x.png diff --git a/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1-iOS13@2x.png b/packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1-iOS13@2x.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1-iOS13@2x.png rename to packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testTextExample_1-iOS13@2x.png diff --git a/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1-iOS12@2x.png b/packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1-iOS12@2x.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1-iOS12@2x.png rename to packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1-iOS12@2x.png diff --git a/RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1-iOS13@2x.png b/packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1-iOS13@2x.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1-iOS13@2x.png rename to packages/RNTester/ios/RNTesterIntegrationTests/ReferenceImages/RNTester-js-RNTesterApp.ios/testViewExample_1-iOS13@2x.png diff --git a/RNTester/RNTesterIntegrationTests/blue_square.png b/packages/RNTester/ios/RNTesterIntegrationTests/blue_square.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/blue_square.png rename to packages/RNTester/ios/RNTesterIntegrationTests/blue_square.png diff --git a/RNTester/RNTesterIntegrationTests/red_square.png b/packages/RNTester/ios/RNTesterIntegrationTests/red_square.png similarity index 100% rename from RNTester/RNTesterIntegrationTests/red_square.png rename to packages/RNTester/ios/RNTesterIntegrationTests/red_square.png diff --git a/RNTester/RNTesterUnitTests/Info.plist b/packages/RNTester/ios/RNTesterUnitTests/Info.plist similarity index 100% rename from RNTester/RNTesterUnitTests/Info.plist rename to packages/RNTester/ios/RNTesterUnitTests/Info.plist diff --git a/RNTester/RNTesterUnitTests/OCMock/NSNotificationCenter+OCMAdditions.h b/packages/RNTester/ios/RNTesterUnitTests/OCMock/NSNotificationCenter+OCMAdditions.h similarity index 100% rename from RNTester/RNTesterUnitTests/OCMock/NSNotificationCenter+OCMAdditions.h rename to packages/RNTester/ios/RNTesterUnitTests/OCMock/NSNotificationCenter+OCMAdditions.h diff --git a/RNTester/RNTesterUnitTests/OCMock/OCMArg.h b/packages/RNTester/ios/RNTesterUnitTests/OCMock/OCMArg.h similarity index 100% rename from RNTester/RNTesterUnitTests/OCMock/OCMArg.h rename to packages/RNTester/ios/RNTesterUnitTests/OCMock/OCMArg.h diff --git a/RNTester/RNTesterUnitTests/OCMock/OCMConstraint.h b/packages/RNTester/ios/RNTesterUnitTests/OCMock/OCMConstraint.h similarity index 100% rename from RNTester/RNTesterUnitTests/OCMock/OCMConstraint.h rename to packages/RNTester/ios/RNTesterUnitTests/OCMock/OCMConstraint.h diff --git a/RNTester/RNTesterUnitTests/OCMock/OCMLocation.h b/packages/RNTester/ios/RNTesterUnitTests/OCMock/OCMLocation.h similarity index 100% rename from RNTester/RNTesterUnitTests/OCMock/OCMLocation.h rename to packages/RNTester/ios/RNTesterUnitTests/OCMock/OCMLocation.h diff --git a/RNTester/RNTesterUnitTests/OCMock/OCMMacroState.h b/packages/RNTester/ios/RNTesterUnitTests/OCMock/OCMMacroState.h similarity index 100% rename from RNTester/RNTesterUnitTests/OCMock/OCMMacroState.h rename to packages/RNTester/ios/RNTesterUnitTests/OCMock/OCMMacroState.h diff --git a/RNTester/RNTesterUnitTests/OCMock/OCMRecorder.h b/packages/RNTester/ios/RNTesterUnitTests/OCMock/OCMRecorder.h similarity index 100% rename from RNTester/RNTesterUnitTests/OCMock/OCMRecorder.h rename to packages/RNTester/ios/RNTesterUnitTests/OCMock/OCMRecorder.h diff --git a/RNTester/RNTesterUnitTests/OCMock/OCMStubRecorder.h b/packages/RNTester/ios/RNTesterUnitTests/OCMock/OCMStubRecorder.h similarity index 100% rename from RNTester/RNTesterUnitTests/OCMock/OCMStubRecorder.h rename to packages/RNTester/ios/RNTesterUnitTests/OCMock/OCMStubRecorder.h diff --git a/RNTester/RNTesterUnitTests/OCMock/OCMock.h b/packages/RNTester/ios/RNTesterUnitTests/OCMock/OCMock.h similarity index 100% rename from RNTester/RNTesterUnitTests/OCMock/OCMock.h rename to packages/RNTester/ios/RNTesterUnitTests/OCMock/OCMock.h diff --git a/RNTester/RNTesterUnitTests/OCMock/OCMockObject.h b/packages/RNTester/ios/RNTesterUnitTests/OCMock/OCMockObject.h similarity index 100% rename from RNTester/RNTesterUnitTests/OCMock/OCMockObject.h rename to packages/RNTester/ios/RNTesterUnitTests/OCMock/OCMockObject.h diff --git a/RNTester/RNTesterUnitTests/RCTAllocationTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTAllocationTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTAllocationTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTAllocationTests.m diff --git a/RNTester/RNTesterUnitTests/RCTAnimationUtilsTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTAnimationUtilsTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTAnimationUtilsTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTAnimationUtilsTests.m diff --git a/RNTester/RNTesterUnitTests/RCTBlobManagerTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTBlobManagerTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTBlobManagerTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTBlobManagerTests.m diff --git a/RNTester/RNTesterUnitTests/RCTBundleURLProviderTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTBundleURLProviderTests.m similarity index 95% rename from RNTester/RNTesterUnitTests/RCTBundleURLProviderTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTBundleURLProviderTests.m index a167f6c504a8fd..366596520a2159 100644 --- a/RNTester/RNTesterUnitTests/RCTBundleURLProviderTests.m +++ b/packages/RNTester/ios/RNTesterUnitTests/RCTBundleURLProviderTests.m @@ -24,7 +24,7 @@ URLWithString: [NSString stringWithFormat: - @"http://localhost:8081/%@.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runMdoule=true&app=com.apple.dt.xctest.tool", + @"http://localhost:8081/%@.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=com.apple.dt.xctest.tool", testFile]]; } @@ -34,7 +34,7 @@ URLWithString: [NSString stringWithFormat: - @"http://192.168.1.1:8081/%@.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runMdoule=true&app=com.apple.dt.xctest.tool", + @"http://192.168.1.1:8081/%@.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=com.apple.dt.xctest.tool", testFile]]; } diff --git a/RNTester/RNTesterUnitTests/RCTComponentPropsTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTComponentPropsTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTComponentPropsTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTComponentPropsTests.m diff --git a/RNTester/RNTesterUnitTests/RCTConvert_NSURLTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTConvert_NSURLTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTConvert_NSURLTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTConvert_NSURLTests.m diff --git a/RNTester/RNTesterUnitTests/RCTConvert_UIColorTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTConvert_UIColorTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTConvert_UIColorTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTConvert_UIColorTests.m diff --git a/RNTester/RNTesterUnitTests/RCTConvert_YGValueTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTConvert_YGValueTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTConvert_YGValueTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTConvert_YGValueTests.m diff --git a/RNTester/RNTesterUnitTests/RCTDevMenuTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTDevMenuTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTDevMenuTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTDevMenuTests.m diff --git a/RNTester/RNTesterUnitTests/RCTEventDispatcherTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTEventDispatcherTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTEventDispatcherTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTEventDispatcherTests.m diff --git a/RNTester/RNTesterUnitTests/RCTFontTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTFontTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTFontTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTFontTests.m diff --git a/RNTester/RNTesterUnitTests/RCTFormatErrorTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTFormatErrorTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTFormatErrorTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTFormatErrorTests.m diff --git a/RNTester/RNTesterUnitTests/RCTGzipTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTGzipTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTGzipTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTGzipTests.m diff --git a/RNTester/RNTesterUnitTests/RCTImageLoaderHelpers.h b/packages/RNTester/ios/RNTesterUnitTests/RCTImageLoaderHelpers.h similarity index 100% rename from RNTester/RNTesterUnitTests/RCTImageLoaderHelpers.h rename to packages/RNTester/ios/RNTesterUnitTests/RCTImageLoaderHelpers.h diff --git a/RNTester/RNTesterUnitTests/RCTImageLoaderHelpers.m b/packages/RNTester/ios/RNTesterUnitTests/RCTImageLoaderHelpers.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTImageLoaderHelpers.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTImageLoaderHelpers.m diff --git a/RNTester/RNTesterUnitTests/RCTImageLoaderTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTImageLoaderTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTImageLoaderTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTImageLoaderTests.m diff --git a/RNTester/RNTesterUnitTests/RCTImageUtilTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTImageUtilTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTImageUtilTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTImageUtilTests.m diff --git a/RNTester/RNTesterUnitTests/RCTJSONTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTJSONTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTJSONTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTJSONTests.m diff --git a/RNTester/RNTesterUnitTests/RCTMethodArgumentTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTMethodArgumentTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTMethodArgumentTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTMethodArgumentTests.m diff --git a/RNTester/RNTesterUnitTests/RCTModuleInitNotificationRaceTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTModuleInitNotificationRaceTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTModuleInitNotificationRaceTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTModuleInitNotificationRaceTests.m diff --git a/RNTester/RNTesterUnitTests/RCTModuleInitTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTModuleInitTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTModuleInitTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTModuleInitTests.m diff --git a/RNTester/RNTesterUnitTests/RCTModuleMethodTests.mm b/packages/RNTester/ios/RNTesterUnitTests/RCTModuleMethodTests.mm similarity index 100% rename from RNTester/RNTesterUnitTests/RCTModuleMethodTests.mm rename to packages/RNTester/ios/RNTesterUnitTests/RCTModuleMethodTests.mm diff --git a/packages/RNTester/ios/RNTesterUnitTests/RCTMultipartStreamReaderTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTMultipartStreamReaderTests.m new file mode 100644 index 00000000000000..c24b461e7626c2 --- /dev/null +++ b/packages/RNTester/ios/RNTesterUnitTests/RCTMultipartStreamReaderTests.m @@ -0,0 +1,118 @@ +/* + * 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. + */ + +#import + +#import + +@interface RCTMultipartStreamReaderTests : XCTestCase + +@end + +@implementation RCTMultipartStreamReaderTests + +- (void)testSimpleCase +{ + NSString *response = + @"preamble, should be ignored\r\n" + @"--sample_boundary\r\n" + @"Content-Type: application/json; charset=utf-8\r\n" + @"Content-Length: 2\r\n\r\n" + @"{}\r\n" + @"--sample_boundary--\r\n" + @"epilogue, should be ignored"; + + NSInputStream *inputStream = [NSInputStream inputStreamWithData:[response dataUsingEncoding:NSUTF8StringEncoding]]; + RCTMultipartStreamReader *reader = [[RCTMultipartStreamReader alloc] initWithInputStream:inputStream + boundary:@"sample_boundary"]; + __block NSInteger count = 0; + BOOL success = [reader + readAllPartsWithCompletionCallback:^(NSDictionary *headers, NSData *content, BOOL done) { + XCTAssertTrue(done); + XCTAssertEqualObjects(headers[@"Content-Type"], @"application/json; charset=utf-8"); + XCTAssertEqualObjects([[NSString alloc] initWithData:content encoding:NSUTF8StringEncoding], @"{}"); + count++; + } + progressCallback:nil]; + XCTAssertTrue(success); + XCTAssertEqual(count, 1); +} + +- (void)testMultipleParts +{ + NSString *response = + @"preamble, should be ignored\r\n" + @"--sample_boundary\r\n" + @"1\r\n" + @"--sample_boundary\r\n" + @"2\r\n" + @"--sample_boundary\r\n" + @"3\r\n" + @"--sample_boundary--\r\n" + @"epilogue, should be ignored"; + + NSInputStream *inputStream = [NSInputStream inputStreamWithData:[response dataUsingEncoding:NSUTF8StringEncoding]]; + RCTMultipartStreamReader *reader = [[RCTMultipartStreamReader alloc] initWithInputStream:inputStream + boundary:@"sample_boundary"]; + __block NSInteger count = 0; + BOOL success = [reader + readAllPartsWithCompletionCallback:^(__unused NSDictionary *headers, NSData *content, BOOL done) { + count++; + XCTAssertEqual(done, count == 3); + NSString *expectedBody = [NSString stringWithFormat:@"%ld", (long)count]; + NSString *actualBody = [[NSString alloc] initWithData:content encoding:NSUTF8StringEncoding]; + XCTAssertEqualObjects(actualBody, expectedBody); + } + progressCallback:nil]; + XCTAssertTrue(success); + XCTAssertEqual(count, 3); +} + +- (void)testNoDelimiter +{ + NSString *response = @"Yolo"; + + NSInputStream *inputStream = [NSInputStream inputStreamWithData:[response dataUsingEncoding:NSUTF8StringEncoding]]; + RCTMultipartStreamReader *reader = [[RCTMultipartStreamReader alloc] initWithInputStream:inputStream + boundary:@"sample_boundary"]; + __block NSInteger count = 0; + BOOL success = [reader + readAllPartsWithCompletionCallback:^( + __unused NSDictionary *headers, __unused NSData *content, __unused BOOL done) { + count++; + } + progressCallback:nil]; + XCTAssertFalse(success); + XCTAssertEqual(count, 0); +} + +- (void)testNoCloseDelimiter +{ + NSString *response = + @"preamble, should be ignored\r\n" + @"--sample_boundary\r\n" + @"Content-Type: application/json; charset=utf-8\r\n" + @"Content-Length: 2\r\n\r\n" + @"{}\r\n" + @"--sample_boundary\r\n" + @"incomplete message..."; + + NSInputStream *inputStream = [NSInputStream inputStreamWithData:[response dataUsingEncoding:NSUTF8StringEncoding]]; + RCTMultipartStreamReader *reader = [[RCTMultipartStreamReader alloc] initWithInputStream:inputStream + boundary:@"sample_boundary"]; + __block NSInteger count = 0; + BOOL success = [reader + readAllPartsWithCompletionCallback:^( + __unused NSDictionary *headers, __unused NSData *content, __unused BOOL done) { + count++; + } + progressCallback:nil]; + XCTAssertFalse(success); + XCTAssertEqual(count, 1); +} + +@end diff --git a/RNTester/RNTesterUnitTests/RCTNativeAnimatedNodesManagerTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTNativeAnimatedNodesManagerTests.m similarity index 98% rename from RNTester/RNTesterUnitTests/RCTNativeAnimatedNodesManagerTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTNativeAnimatedNodesManagerTests.m index 259c48a238329d..c5c599976ed4cf 100644 --- a/RNTester/RNTesterUnitTests/RCTNativeAnimatedNodesManagerTests.m +++ b/packages/RNTester/ios/RNTesterUnitTests/RCTNativeAnimatedNodesManagerTests.m @@ -864,6 +864,23 @@ - (void)testNativeAnimatedEventDoNotUpdate [_uiManager verify]; } +- (void) testGetValue +{ + __block NSInteger saveValueCallbackCalls = 0; + NSNumber *nodeTag = @100; + [_nodesManager createAnimatedNode:nodeTag + config:@{@"type": @"value", @"value": @1, @"offset": @0}]; + RCTResponseSenderBlock saveValueCallback = ^(NSArray *response) { + saveValueCallbackCalls++; + XCTAssertEqualObjects(response, @[@1]); + }; + + XCTAssertEqual(saveValueCallbackCalls, 0); + + [_nodesManager getValue:nodeTag saveCallback:saveValueCallback]; + XCTAssertEqual(saveValueCallbackCalls, 1); +} + /** * Creates a following graph of nodes: * Value(3, initialValue) ----> Style(4) ---> Props(5) ---> View(viewTag) diff --git a/RNTester/RNTesterUnitTests/RCTPerformanceLoggerTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTPerformanceLoggerTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTPerformanceLoggerTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTPerformanceLoggerTests.m diff --git a/RNTester/RNTesterUnitTests/RCTShadowViewTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTShadowViewTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTShadowViewTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTShadowViewTests.m diff --git a/RNTester/RNTesterUnitTests/RCTUIManagerTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTUIManagerTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTUIManagerTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTUIManagerTests.m diff --git a/RNTester/RNTesterUnitTests/RCTURLUtilsTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTURLUtilsTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTURLUtilsTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTURLUtilsTests.m diff --git a/RNTester/RNTesterUnitTests/RCTUnicodeDecodeTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTUnicodeDecodeTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTUnicodeDecodeTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTUnicodeDecodeTests.m diff --git a/RNTester/RNTesterUnitTests/RCTUtilsTests.m b/packages/RNTester/ios/RNTesterUnitTests/RCTUtilsTests.m similarity index 100% rename from RNTester/RNTesterUnitTests/RCTUtilsTests.m rename to packages/RNTester/ios/RNTesterUnitTests/RCTUtilsTests.m diff --git a/packages/RNTester/ios/RNTesterUnitTests/RNTesterUnitTests.swift b/packages/RNTester/ios/RNTesterUnitTests/RNTesterUnitTests.swift new file mode 100644 index 00000000000000..e9a4f789b84b81 --- /dev/null +++ b/packages/RNTester/ios/RNTesterUnitTests/RNTesterUnitTests.swift @@ -0,0 +1,32 @@ +// +// RNTesterUnitTests.swift +// RNTesterUnitTests +// +// Created by Ansh Godha on 07/07/20. +// + +import XCTest + +class RNTesterUnitTests: XCTestCase { + + override func setUp() { + // Put setup code here. This method is called before the invocation of each test method in the class. + } + + override func tearDown() { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + + func testPerformanceExample() { + // This is an example of a performance test case. + self.measure { + // Put the code you want to measure the time of here. + } + } + +} diff --git a/RNTester/RNTesterUnitTests/RNTesterUnitTestsBundle.js b/packages/RNTester/ios/RNTesterUnitTests/RNTesterUnitTestsBundle.js similarity index 100% rename from RNTester/RNTesterUnitTests/RNTesterUnitTestsBundle.js rename to packages/RNTester/ios/RNTesterUnitTests/RNTesterUnitTestsBundle.js diff --git a/RNTester/RNTesterUnitTests/libOCMock.a b/packages/RNTester/ios/RNTesterUnitTests/libOCMock.a similarity index 100% rename from RNTester/RNTesterUnitTests/libOCMock.a rename to packages/RNTester/ios/RNTesterUnitTests/libOCMock.a diff --git a/packages/RNTester/ios/react_native_pods.rb b/packages/RNTester/ios/react_native_pods.rb new file mode 100644 index 00000000000000..17686c8bc068e9 --- /dev/null +++ b/packages/RNTester/ios/react_native_pods.rb @@ -0,0 +1,102 @@ +# 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. + +def use_react_native! (options={}) + # The prefix to the react-native + prefix = options[:path] ||= "../node_modules/react-native" + + # Include Fabric dependencies + fabric_enabled = options[:fabric_enabled] ||= false + + # Include DevSupport dependency + production = options[:production] ||= false + + # The Pods which should be included in all projects + pod 'FBLazyVector', :path => "#{prefix}/Libraries/FBLazyVector" + pod 'FBReactNativeSpec', :path => "#{prefix}/Libraries/FBReactNativeSpec" + pod 'RCTRequired', :path => "#{prefix}/Libraries/RCTRequired" + pod 'RCTTypeSafety', :path => "#{prefix}/Libraries/TypeSafety" + pod 'React', :path => "#{prefix}/" + pod 'React-Core', :path => "#{prefix}/" + pod 'React-CoreModules', :path => "#{prefix}/React/CoreModules" + pod 'React-RCTActionSheet', :path => "#{prefix}/Libraries/ActionSheetIOS" + pod 'React-RCTAnimation', :path => "#{prefix}/Libraries/NativeAnimation" + pod 'React-RCTBlob', :path => "#{prefix}/Libraries/Blob" + pod 'React-RCTImage', :path => "#{prefix}/Libraries/Image" + pod 'React-RCTLinking', :path => "#{prefix}/Libraries/LinkingIOS" + pod 'React-RCTNetwork', :path => "#{prefix}/Libraries/Network" + pod 'React-RCTSettings', :path => "#{prefix}/Libraries/Settings" + pod 'React-RCTText', :path => "#{prefix}/Libraries/Text" + pod 'React-RCTVibration', :path => "#{prefix}/Libraries/Vibration" + pod 'React-Core/RCTWebSocket', :path => "#{prefix}/" + + unless production + pod 'React-Core/DevSupport', :path => "#{prefix}/" + end + + pod 'React-cxxreact', :path => "#{prefix}/ReactCommon/cxxreact" + pod 'React-jsi', :path => "#{prefix}/ReactCommon/jsi" + pod 'React-jsiexecutor', :path => "#{prefix}/ReactCommon/jsiexecutor" + pod 'React-jsinspector', :path => "#{prefix}/ReactCommon/jsinspector" + pod 'React-callinvoker', :path => "#{prefix}/ReactCommon/callinvoker" + pod 'React-runtimeexecutor', :path => "#{prefix}/ReactCommon/runtimeexecutor" + pod 'React-perflogger', :path => "#{prefix}/ReactCommon/reactperflogger" + pod 'ReactCommon/turbomodule/core', :path => "#{prefix}/ReactCommon" + pod 'Yoga', :path => "#{prefix}/ReactCommon/yoga", :modular_headers => true + + pod 'DoubleConversion', :podspec => "#{prefix}/third-party-podspecs/DoubleConversion.podspec" + pod 'glog', :podspec => "#{prefix}/third-party-podspecs/glog.podspec" + pod 'Folly', :podspec => "#{prefix}/third-party-podspecs/Folly.podspec" + + if fabric_enabled + pod 'React-Fabric', :path => "#{prefix}/ReactCommon" + pod 'React-graphics', :path => "#{prefix}/ReactCommon/fabric/graphics" + pod 'React-jsi/Fabric', :path => "#{prefix}/ReactCommon/jsi" + pod 'React-RCTFabric', :path => "#{prefix}/React" + pod 'Folly/Fabric', :podspec => "#{prefix}/third-party-podspecs/Folly.podspec" + end +end + +def use_flipper!(versions = {}) + versions['Flipper'] ||= '~> 0.41.1' + versions['Flipper-DoubleConversion'] ||= '1.1.7' + versions['Flipper-Folly'] ||= '~> 2.2' + versions['Flipper-Glog'] ||= '0.3.6' + versions['Flipper-PeerTalk'] ||= '~> 0.0.4' + versions['Flipper-RSocket'] ||= '~> 1.1' + pod 'FlipperKit', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/FlipperKitLayoutPlugin', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/SKIOSNetworkPlugin', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/FlipperKitUserDefaultsPlugin', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/FlipperKitReactPlugin', versions['Flipper'], :configuration => 'Debug' + # List all transitive dependencies for FlipperKit pods + # to avoid them being linked in Release builds + pod 'Flipper', versions['Flipper'], :configuration => 'Debug' + pod 'Flipper-DoubleConversion', versions['Flipper-DoubleConversion'], :configuration => 'Debug' + pod 'Flipper-Folly', versions['Flipper-Folly'], :configuration => 'Debug' + pod 'Flipper-Glog', versions['Flipper-Glog'], :configuration => 'Debug' + pod 'Flipper-PeerTalk', versions['Flipper-PeerTalk'], :configuration => 'Debug' + pod 'Flipper-RSocket', versions['Flipper-RSocket'], :configuration => 'Debug' + pod 'FlipperKit/Core', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/CppBridge', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/FBCxxFollyDynamicConvert', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/FBDefines', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/FKPortForwarding', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/FlipperKitHighlightOverlay', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/FlipperKitLayoutTextSearchable', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit/FlipperKitNetworkPlugin', versions['Flipper'], :configuration => 'Debug' +end + +# Post Install processing for Flipper +def flipper_post_install(installer) + installer.pods_project.targets.each do |target| + if target.name == 'YogaKit' + target.build_configurations.each do |config| + config.build_settings['SWIFT_VERSION'] = '4.1' + end + end + end +end + diff --git a/RNTester/js/RNTesterApp.android.js b/packages/RNTester/js/RNTesterApp.android.js similarity index 92% rename from RNTester/js/RNTesterApp.android.js rename to packages/RNTester/js/RNTesterApp.android.js index d7371b4ee6a79c..0558f0afa8fc06 100644 --- a/RNTester/js/RNTesterApp.android.js +++ b/packages/RNTester/js/RNTesterApp.android.js @@ -18,11 +18,10 @@ const RNTesterNavigationReducer = require('./utils/RNTesterNavigationReducer'); const React = require('react'); const URIActionMap = require('./utils/URIActionMap'); -const nativeImageSource = require('../../Libraries/Image/nativeImageSource'); +// const nativeImageSource = require('react-native'); const { AppRegistry, - AsyncStorage, BackHandler, Dimensions, DrawerLayoutAndroid, @@ -36,12 +35,14 @@ const { useColorScheme, View, } = require('react-native'); +import AsyncStorage from '@react-native-community/async-storage'; import type {RNTesterExample} from './types/RNTesterTypes'; import type {RNTesterNavigationState} from './utils/RNTesterNavigationReducer'; import {RNTesterThemeContext, themes} from './components/RNTesterTheme'; -UIManager.setLayoutAnimationEnabledExperimental(true); +UIManager.setLayoutAnimationEnabledExperimental && + UIManager.setLayoutAnimationEnabledExperimental(true); const DRAWER_WIDTH_LEFT = 56; @@ -49,11 +50,11 @@ type Props = {exampleFromAppetizeParams?: ?string, ...}; const APP_STATE_KEY = 'RNTesterAppState.v2'; -const HEADER_NAV_ICON = nativeImageSource({ - android: 'ic_menu_black_24dp', - width: 48, - height: 48, -}); +// const HEADER_NAV_ICON = nativeImageSource({ +// android: 'ic_menu_black_24dp', +// width: 48, +// height: 48, +// }); const Header = ({ onPressDrawer, @@ -64,7 +65,7 @@ const Header = ({ ... }) => ( - {theme => { + {(theme) => { return ( @@ -72,11 +73,11 @@ const Header = ({ {title} - - - - - + {/* */} + {/* */} + {/* */} + {/* */} + {/* */} ); }} @@ -176,7 +177,7 @@ class RNTesterApp extends React.Component { } componentDidMount() { - Linking.getInitialURL().then(url => { + Linking.getInitialURL().then((url) => { AsyncStorage.getItem(APP_STATE_KEY, (err, storedString) => { const exampleAction = URIActionMap( this.props.exampleFromAppetizeParams, @@ -217,7 +218,7 @@ class RNTesterApp extends React.Component { * found when making Flow check .android.js files. */ this._overrideBackPressForDrawerLayout = false; }} - ref={drawer => { + ref={(drawer) => { /* $FlowFixMe(>=0.78.0 site=react_native_android_fb) This issue was * found when making Flow check .android.js files. */ this.drawer = drawer; @@ -249,7 +250,7 @@ class RNTesterApp extends React.Component { onExampleExit={() => { this._handleAction(RNTesterActions.Back()); }} - ref={example => { + ref={(example) => { /* $FlowFixMe(>=0.78.0 site=react_native_android_fb) This issue * was found when making Flow check .android.js files. */ this._exampleRef = example; @@ -264,7 +265,7 @@ class RNTesterApp extends React.Component { onPressDrawer={() => this.drawer.openDrawer()} title={ExampleModule.title} module={ExampleModule} - exampleRef={example => { + exampleRef={(example) => { /* $FlowFixMe(>=0.78.0 site=react_native_android_fb) This issue * was found when making Flow check .android.js files. */ this._exampleRef = example; diff --git a/RNTester/js/RNTesterApp.ios.js b/packages/RNTester/js/RNTesterApp.ios.js similarity index 95% rename from RNTester/js/RNTesterApp.ios.js rename to packages/RNTester/js/RNTesterApp.ios.js index 1ae924c9b06bad..e5c69df65cadbd 100644 --- a/RNTester/js/RNTesterApp.ios.js +++ b/packages/RNTester/js/RNTesterApp.ios.js @@ -21,7 +21,6 @@ const URIActionMap = require('./utils/URIActionMap'); const { AppRegistry, - AsyncStorage, BackHandler, Button, Linking, @@ -34,15 +33,16 @@ const { LogBox, } = require('react-native'); +import AsyncStorage from '@react-native-community/async-storage'; import type {RNTesterExample} from './types/RNTesterTypes'; import type {RNTesterAction} from './utils/RNTesterActions'; import type {RNTesterNavigationState} from './utils/RNTesterNavigationReducer'; import {RNTesterThemeContext, themes} from './components/RNTesterTheme'; -import type {ColorSchemeName} from '../../Libraries/Utilities/NativeAppearance'; +import type {ColorSchemeName} from 'react-native/Libraries/Utilities/NativeAppearance'; type Props = {exampleFromAppetizeParams?: ?string, ...}; -LogBox.ignoreLogs(['Module RCTImagePickerManager requires main queue setup']); +// LogBox.ignoreLogs(['Module RCTImagePickerManager requires main queue setup']); const APP_STATE_KEY = 'RNTesterAppState.v2'; @@ -244,7 +244,7 @@ AppRegistry.registerComponent('SetPropertiesExampleApp', () => AppRegistry.registerComponent('RootViewSizeFlexibilityExampleApp', () => require('./examples/RootViewSizeFlexibilityExample/RootViewSizeFlexibilityExampleApp'), ); -AppRegistry.registerComponent('RNTesterApp', () => RNTesterApp); +AppRegistry.registerComponent('RNTester', () => RNTesterApp); // Register suitable examples for snapshot tests RNTesterList.ComponentExamples.concat(RNTesterList.APIExamples).forEach( diff --git a/RNTester/js/assets/bandaged.png b/packages/RNTester/js/assets/bandaged.png similarity index 100% rename from RNTester/js/assets/bandaged.png rename to packages/RNTester/js/assets/bandaged.png diff --git a/RNTester/js/assets/bunny.png b/packages/RNTester/js/assets/bunny.png similarity index 100% rename from RNTester/js/assets/bunny.png rename to packages/RNTester/js/assets/bunny.png diff --git a/RNTester/js/assets/call.png b/packages/RNTester/js/assets/call.png similarity index 100% rename from RNTester/js/assets/call.png rename to packages/RNTester/js/assets/call.png diff --git a/RNTester/js/assets/dislike.png b/packages/RNTester/js/assets/dislike.png similarity index 100% rename from RNTester/js/assets/dislike.png rename to packages/RNTester/js/assets/dislike.png diff --git a/RNTester/js/assets/fist.png b/packages/RNTester/js/assets/fist.png similarity index 100% rename from RNTester/js/assets/fist.png rename to packages/RNTester/js/assets/fist.png diff --git a/RNTester/js/assets/flowers.png b/packages/RNTester/js/assets/flowers.png similarity index 100% rename from RNTester/js/assets/flowers.png rename to packages/RNTester/js/assets/flowers.png diff --git a/RNTester/js/assets/flux@3x.png b/packages/RNTester/js/assets/flux@3x.png similarity index 100% rename from RNTester/js/assets/flux@3x.png rename to packages/RNTester/js/assets/flux@3x.png diff --git a/RNTester/js/assets/hawk.png b/packages/RNTester/js/assets/hawk.png similarity index 100% rename from RNTester/js/assets/hawk.png rename to packages/RNTester/js/assets/hawk.png diff --git a/RNTester/js/assets/heart.png b/packages/RNTester/js/assets/heart.png similarity index 100% rename from RNTester/js/assets/heart.png rename to packages/RNTester/js/assets/heart.png diff --git a/RNTester/js/assets/helloworld.html b/packages/RNTester/js/assets/helloworld.html similarity index 100% rename from RNTester/js/assets/helloworld.html rename to packages/RNTester/js/assets/helloworld.html diff --git a/RNTester/js/assets/imageMask.png b/packages/RNTester/js/assets/imageMask.png similarity index 100% rename from RNTester/js/assets/imageMask.png rename to packages/RNTester/js/assets/imageMask.png diff --git a/RNTester/js/assets/like.png b/packages/RNTester/js/assets/like.png similarity index 100% rename from RNTester/js/assets/like.png rename to packages/RNTester/js/assets/like.png diff --git a/RNTester/js/assets/liking.png b/packages/RNTester/js/assets/liking.png similarity index 100% rename from RNTester/js/assets/liking.png rename to packages/RNTester/js/assets/liking.png diff --git a/RNTester/js/assets/messagingtest.html b/packages/RNTester/js/assets/messagingtest.html similarity index 100% rename from RNTester/js/assets/messagingtest.html rename to packages/RNTester/js/assets/messagingtest.html diff --git a/RNTester/js/assets/party.png b/packages/RNTester/js/assets/party.png similarity index 100% rename from RNTester/js/assets/party.png rename to packages/RNTester/js/assets/party.png diff --git a/RNTester/js/assets/poke.png b/packages/RNTester/js/assets/poke.png similarity index 100% rename from RNTester/js/assets/poke.png rename to packages/RNTester/js/assets/poke.png diff --git a/RNTester/js/assets/relay@3x.png b/packages/RNTester/js/assets/relay@3x.png similarity index 100% rename from RNTester/js/assets/relay@3x.png rename to packages/RNTester/js/assets/relay@3x.png diff --git a/RNTester/js/assets/slider-left.png b/packages/RNTester/js/assets/slider-left.png similarity index 100% rename from RNTester/js/assets/slider-left.png rename to packages/RNTester/js/assets/slider-left.png diff --git a/RNTester/js/assets/slider-left@2x.png b/packages/RNTester/js/assets/slider-left@2x.png similarity index 100% rename from RNTester/js/assets/slider-left@2x.png rename to packages/RNTester/js/assets/slider-left@2x.png diff --git a/RNTester/js/assets/slider-right.png b/packages/RNTester/js/assets/slider-right.png similarity index 100% rename from RNTester/js/assets/slider-right.png rename to packages/RNTester/js/assets/slider-right.png diff --git a/RNTester/js/assets/slider-right@2x.png b/packages/RNTester/js/assets/slider-right@2x.png similarity index 100% rename from RNTester/js/assets/slider-right@2x.png rename to packages/RNTester/js/assets/slider-right@2x.png diff --git a/RNTester/js/assets/slider.png b/packages/RNTester/js/assets/slider.png similarity index 100% rename from RNTester/js/assets/slider.png rename to packages/RNTester/js/assets/slider.png diff --git a/RNTester/js/assets/slider@2x.png b/packages/RNTester/js/assets/slider@2x.png similarity index 100% rename from RNTester/js/assets/slider@2x.png rename to packages/RNTester/js/assets/slider@2x.png diff --git a/RNTester/js/assets/superlike.png b/packages/RNTester/js/assets/superlike.png similarity index 100% rename from RNTester/js/assets/superlike.png rename to packages/RNTester/js/assets/superlike.png diff --git a/RNTester/js/assets/trees.jpg b/packages/RNTester/js/assets/trees.jpg similarity index 100% rename from RNTester/js/assets/trees.jpg rename to packages/RNTester/js/assets/trees.jpg diff --git a/RNTester/js/assets/tumblr_mfqekpMktw1rn90umo1_500.gif b/packages/RNTester/js/assets/tumblr_mfqekpMktw1rn90umo1_500.gif similarity index 100% rename from RNTester/js/assets/tumblr_mfqekpMktw1rn90umo1_500.gif rename to packages/RNTester/js/assets/tumblr_mfqekpMktw1rn90umo1_500.gif diff --git a/RNTester/js/assets/uie_comment_highlighted@2x.png b/packages/RNTester/js/assets/uie_comment_highlighted@2x.png similarity index 100% rename from RNTester/js/assets/uie_comment_highlighted@2x.png rename to packages/RNTester/js/assets/uie_comment_highlighted@2x.png diff --git a/RNTester/js/assets/uie_comment_normal@2x.png b/packages/RNTester/js/assets/uie_comment_normal@2x.png similarity index 100% rename from RNTester/js/assets/uie_comment_normal@2x.png rename to packages/RNTester/js/assets/uie_comment_normal@2x.png diff --git a/RNTester/js/assets/uie_thumb_big.png b/packages/RNTester/js/assets/uie_thumb_big.png similarity index 100% rename from RNTester/js/assets/uie_thumb_big.png rename to packages/RNTester/js/assets/uie_thumb_big.png diff --git a/RNTester/js/assets/uie_thumb_normal@2x.png b/packages/RNTester/js/assets/uie_thumb_normal@2x.png similarity index 100% rename from RNTester/js/assets/uie_thumb_normal@2x.png rename to packages/RNTester/js/assets/uie_thumb_normal@2x.png diff --git a/RNTester/js/assets/uie_thumb_selected@2x.png b/packages/RNTester/js/assets/uie_thumb_selected@2x.png similarity index 100% rename from RNTester/js/assets/uie_thumb_selected@2x.png rename to packages/RNTester/js/assets/uie_thumb_selected@2x.png diff --git a/RNTester/js/assets/victory.png b/packages/RNTester/js/assets/victory.png similarity index 100% rename from RNTester/js/assets/victory.png rename to packages/RNTester/js/assets/victory.png diff --git a/RNTester/js/components/ListExampleShared.js b/packages/RNTester/js/components/ListExampleShared.js similarity index 100% rename from RNTester/js/components/ListExampleShared.js rename to packages/RNTester/js/components/ListExampleShared.js diff --git a/RNTester/js/components/RNTesterBlock.js b/packages/RNTester/js/components/RNTesterBlock.js similarity index 100% rename from RNTester/js/components/RNTesterBlock.js rename to packages/RNTester/js/components/RNTesterBlock.js diff --git a/RNTester/js/components/RNTesterButton.js b/packages/RNTester/js/components/RNTesterButton.js similarity index 100% rename from RNTester/js/components/RNTesterButton.js rename to packages/RNTester/js/components/RNTesterButton.js diff --git a/RNTester/js/components/RNTesterExampleContainer.js b/packages/RNTester/js/components/RNTesterExampleContainer.js similarity index 100% rename from RNTester/js/components/RNTesterExampleContainer.js rename to packages/RNTester/js/components/RNTesterExampleContainer.js diff --git a/RNTester/js/components/RNTesterExampleFilter.js b/packages/RNTester/js/components/RNTesterExampleFilter.js similarity index 100% rename from RNTester/js/components/RNTesterExampleFilter.js rename to packages/RNTester/js/components/RNTesterExampleFilter.js diff --git a/RNTester/js/components/RNTesterExampleList.js b/packages/RNTester/js/components/RNTesterExampleList.js similarity index 97% rename from RNTester/js/components/RNTesterExampleList.js rename to packages/RNTester/js/components/RNTesterExampleList.js index bbbfb764a7785e..b592b98d026ca9 100644 --- a/RNTester/js/components/RNTesterExampleList.js +++ b/packages/RNTester/js/components/RNTesterExampleList.js @@ -23,7 +23,7 @@ const { View, } = require('react-native'); -import type {ViewStyleProp} from '../../../Libraries/StyleSheet/StyleSheet'; +import type {ViewStyleProp} from 'react-native'; import type {RNTesterExample} from '../types/RNTesterTypes'; import {RNTesterThemeContext} from './RNTesterTheme'; @@ -58,7 +58,7 @@ class RowComponent extends React.PureComponent<{ const {item} = this.props; return ( - {theme => { + {(theme) => { return ( ( - {theme => { + {(theme) => { return ( { return ( - {theme => { + {(theme) => { return ( { const ItemSeparator = ({highlighted}) => ( - {theme => { + {(theme) => { return ( { state: {| @@ -60,20 +61,20 @@ class TextLegend extends React.Component<*, *> { - this.setState(prevState => ({fontSize: prevState.fontSize + 3})) + this.setState((prevState) => ({fontSize: prevState.fontSize + 3})) }> Increase size - this.setState(prevState => ({fontSize: prevState.fontSize - 3})) + this.setState((prevState) => ({fontSize: prevState.fontSize - 3})) }> Decrease size this.setState({language: itemValue})}> - {Object.keys(PANGRAMS).map(x => ( + onValueChange={(itemValue) => this.setState({language: itemValue})}> + {Object.keys(PANGRAMS).map((x) => ( { }, )} { + onTextLayout={(event) => { this.setState({textMetrics: event.nativeEvent.lines}); }} style={{ @@ -236,7 +237,7 @@ class TextLegend extends React.Component<*, *> { this.setState({alignment: itemValue})}> + onValueChange={(itemValue) => this.setState({alignment: itemValue})}> diff --git a/RNTester/js/components/createExamplePage.js b/packages/RNTester/js/components/createExamplePage.js similarity index 100% rename from RNTester/js/components/createExamplePage.js rename to packages/RNTester/js/components/createExamplePage.js diff --git a/RNTester/js/examples/Accessibility/AccessibilityAndroidExample.android.js b/packages/RNTester/js/examples/Accessibility/AccessibilityAndroidExample.android.js similarity index 100% rename from RNTester/js/examples/Accessibility/AccessibilityAndroidExample.android.js rename to packages/RNTester/js/examples/Accessibility/AccessibilityAndroidExample.android.js diff --git a/RNTester/js/examples/Accessibility/AccessibilityExample.js b/packages/RNTester/js/examples/Accessibility/AccessibilityExample.js similarity index 100% rename from RNTester/js/examples/Accessibility/AccessibilityExample.js rename to packages/RNTester/js/examples/Accessibility/AccessibilityExample.js diff --git a/RNTester/js/examples/Accessibility/AccessibilityIOSExample.js b/packages/RNTester/js/examples/Accessibility/AccessibilityIOSExample.js similarity index 100% rename from RNTester/js/examples/Accessibility/AccessibilityIOSExample.js rename to packages/RNTester/js/examples/Accessibility/AccessibilityIOSExample.js diff --git a/RNTester/js/examples/Accessibility/check.png b/packages/RNTester/js/examples/Accessibility/check.png similarity index 100% rename from RNTester/js/examples/Accessibility/check.png rename to packages/RNTester/js/examples/Accessibility/check.png diff --git a/RNTester/js/examples/Accessibility/mixed.png b/packages/RNTester/js/examples/Accessibility/mixed.png similarity index 100% rename from RNTester/js/examples/Accessibility/mixed.png rename to packages/RNTester/js/examples/Accessibility/mixed.png diff --git a/RNTester/js/examples/Accessibility/uncheck.png b/packages/RNTester/js/examples/Accessibility/uncheck.png similarity index 100% rename from RNTester/js/examples/Accessibility/uncheck.png rename to packages/RNTester/js/examples/Accessibility/uncheck.png diff --git a/RNTester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js b/packages/RNTester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js similarity index 93% rename from RNTester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js rename to packages/RNTester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js index c1130357829df5..94f57b7b52ef48 100644 --- a/RNTester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js +++ b/packages/RNTester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js @@ -36,10 +36,15 @@ class ActionSheetExample extends React.Component { render() { return ( - + Click to show the ActionSheet - Clicked button: {this.state.clicked} + + Clicked button: {this.state.clicked} + ); } @@ -149,10 +154,13 @@ class ShareActionSheetExample extends React.Component< render() { return ( - + Click to show the Share ActionSheet - {this.state.text} + {this.state.text} ); } @@ -298,7 +306,7 @@ exports.title = 'ActionSheetIOS'; exports.description = "Interface to show iOS' action sheets"; exports.examples = [ { - title: 'Show Action Sheet', + title: 'Show Standard Action Sheet', render(): React.Element { return ; }, diff --git a/RNTester/js/examples/ActivityIndicator/ActivityIndicatorExample.js b/packages/RNTester/js/examples/ActivityIndicator/ActivityIndicatorExample.js similarity index 57% rename from RNTester/js/examples/ActivityIndicator/ActivityIndicatorExample.js rename to packages/RNTester/js/examples/ActivityIndicator/ActivityIndicatorExample.js index 19f4f4df21fc13..5a38324cb6bca9 100644 --- a/RNTester/js/examples/ActivityIndicator/ActivityIndicatorExample.js +++ b/packages/RNTester/js/examples/ActivityIndicator/ActivityIndicatorExample.js @@ -10,10 +10,10 @@ 'use strict'; import type {Node} from 'React'; -import {ActivityIndicator, StyleSheet, View} from 'react-native'; +import {ActivityIndicator, StyleSheet, View, Text, Button} from 'react-native'; import React, {Component} from 'react'; -type State = {|animating: boolean|}; +type State = {|animating: boolean, message: string|}; type Props = $ReadOnly<{||}>; type Timer = TimeoutID; @@ -24,6 +24,7 @@ class ToggleAnimatingActivityIndicator extends Component { super(props); this.state = { animating: true, + message: 'Loading...', }; } @@ -37,18 +38,56 @@ class ToggleAnimatingActivityIndicator extends Component { setToggleTimeout() { this._timer = setTimeout(() => { - this.setState({animating: !this.state.animating}); + this.setState({ + animating: !this.state.animating, + message: this.state.animating ? 'Information Loaded!' : 'Loading...', + }); this.setToggleTimeout(); }, 2000); } render(): Node { return ( - + + {this.state.message} + + + ); + } +} + +class ButtonToggleActivityIndicator extends Component { + constructor(props: Props) { + super(props); + this.state = { + animating: true, + message: 'Loading...', + }; + } + + toggleState = () => { + this.setState({ + animating: !this.state.animating, + message: this.state.animating ? 'Information Loaded!' : 'Loading...', + }); + }; + + render(): Node { + return ( + + {this.state.message} + +