From 6c5883046fec9b6fe450b1931a5c656ed34bf350 Mon Sep 17 00:00:00 2001 From: Shailesh Kumar Date: Thu, 4 Jun 2015 03:21:45 +0200 Subject: [PATCH 1/2] Added Integration tests --- .gitignore | 21 + IntegrationTests/AppDelegate.h | 17 + IntegrationTests/AppDelegate.m | 51 ++ IntegrationTests/Base.lproj/LaunchScreen.xib | 42 ++ IntegrationTests/FSTest.js | 129 ++++ .../AppIcon.appiconset/Contents.json | 44 ++ .../AppIcon.appiconset/uie_icon@2x-1.png | Bin 0 -> 31759 bytes .../AppIcon.appiconset/uie_icon@2x-2.png | Bin 0 -> 31759 bytes .../AppIcon.appiconset/uie_icon@2x-3.png | Bin 0 -> 31759 bytes .../AppIcon.appiconset/uie_icon@2x-4.png | Bin 0 -> 31759 bytes .../AppIcon.appiconset/uie_icon@2x-5.png | Bin 0 -> 31759 bytes .../AppIcon.appiconset/uie_icon@2x.png | Bin 0 -> 31759 bytes IntegrationTests/Info.plist | 42 ++ .../IntegrationTestHarnessTest.js | 62 ++ .../project.pbxproj | 636 ++++++++++++++++++ .../xcschemes/IntegrationTests.xcscheme | 110 +++ IntegrationTests/IntegrationTestsApp.js | 90 +++ .../IntegrationTestsTests/Info.plist | 24 + .../IntegrationTestsTests.m | 74 ++ .../testSimpleSnapshot_1@2x.png | Bin 0 -> 57703 bytes IntegrationTests/main.m | 17 + .../xcshareddata/RNFS.xccheckout | 8 +- .../UserInterfaceState.xcuserstate | Bin 0 -> 47525 bytes .../xcschemes/RNKeyboardEvents.xcscheme | 86 --- .../xcschemes/xcschememanagement.plist | 27 - 25 files changed, 1363 insertions(+), 117 deletions(-) create mode 100644 IntegrationTests/AppDelegate.h create mode 100644 IntegrationTests/AppDelegate.m create mode 100644 IntegrationTests/Base.lproj/LaunchScreen.xib create mode 100644 IntegrationTests/FSTest.js create mode 100644 IntegrationTests/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 IntegrationTests/Images.xcassets/AppIcon.appiconset/uie_icon@2x-1.png create mode 100644 IntegrationTests/Images.xcassets/AppIcon.appiconset/uie_icon@2x-2.png create mode 100644 IntegrationTests/Images.xcassets/AppIcon.appiconset/uie_icon@2x-3.png create mode 100644 IntegrationTests/Images.xcassets/AppIcon.appiconset/uie_icon@2x-4.png create mode 100644 IntegrationTests/Images.xcassets/AppIcon.appiconset/uie_icon@2x-5.png create mode 100644 IntegrationTests/Images.xcassets/AppIcon.appiconset/uie_icon@2x.png create mode 100644 IntegrationTests/Info.plist create mode 100644 IntegrationTests/IntegrationTestHarnessTest.js create mode 100644 IntegrationTests/IntegrationTests.xcodeproj/project.pbxproj create mode 100644 IntegrationTests/IntegrationTests.xcodeproj/xcshareddata/xcschemes/IntegrationTests.xcscheme create mode 100644 IntegrationTests/IntegrationTestsApp.js create mode 100644 IntegrationTests/IntegrationTestsTests/Info.plist create mode 100644 IntegrationTests/IntegrationTestsTests/IntegrationTestsTests.m create mode 100644 IntegrationTests/IntegrationTestsTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshot_1@2x.png create mode 100644 IntegrationTests/main.m create mode 100644 RNFS.xcodeproj/project.xcworkspace/xcuserdata/shailesh.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 RNFS.xcodeproj/xcuserdata/johanneslumpe.xcuserdatad/xcschemes/RNKeyboardEvents.xcscheme delete mode 100644 RNFS.xcodeproj/xcuserdata/johanneslumpe.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/.gitignore b/.gitignore index 5ee1d90..26c4811 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,23 @@ node_modules workbench +*.log +# Xcode +.DS_Store +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +*.xcworkspace +!default.xcworkspace +xcuserdata +profile +*.moved-aside +DerivedData +.idea/ +# Pods - for those of you who use CocoaPods +Pods diff --git a/IntegrationTests/AppDelegate.h b/IntegrationTests/AppDelegate.h new file mode 100644 index 0000000..98876c3 --- /dev/null +++ b/IntegrationTests/AppDelegate.h @@ -0,0 +1,17 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import + +@interface AppDelegate : UIResponder + +@property (nonatomic, strong) UIWindow *window; + +@end + diff --git a/IntegrationTests/AppDelegate.m b/IntegrationTests/AppDelegate.m new file mode 100644 index 0000000..e5466b2 --- /dev/null +++ b/IntegrationTests/AppDelegate.m @@ -0,0 +1,51 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import "AppDelegate.h" + +#import "RCTRootView.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + NSURL *jsCodeLocation; + + // Loading JavaScript code - uncomment the one you want. + + // OPTION 1 + // Load from development server. Start the server from the repository root: + // + // $ npm start + // + // To run on device, change `localhost` to the IP address of your computer, and make sure your computer and + // iOS device are on the same Wi-Fi network. + jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/IntegrationTests/IntegrationTestsApp.includeRequire.runModule.bundle?dev=true"]; + + // OPTION 2 + // Load from pre-bundled file on disk. To re-generate the static bundle, run + // + // $ curl http://localhost:8081/IntegrationTests/IntegrationTestsApp.includeRequire.runModule.bundle -o main.jsbundle + // + // and uncomment the next following line + // jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; + + RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation + moduleName:@"IntegrationTestsApp" + launchOptions:launchOptions]; + + self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; + UIViewController *rootViewController = [[UIViewController alloc] init]; + rootViewController.view = rootView; + self.window.rootViewController = rootViewController; + [self.window makeKeyAndVisible]; + return YES; +} + +@end diff --git a/IntegrationTests/Base.lproj/LaunchScreen.xib b/IntegrationTests/Base.lproj/LaunchScreen.xib new file mode 100644 index 0000000..52cc082 --- /dev/null +++ b/IntegrationTests/Base.lproj/LaunchScreen.xib @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/IntegrationTests/FSTest.js b/IntegrationTests/FSTest.js new file mode 100644 index 0000000..42bf2a7 --- /dev/null +++ b/IntegrationTests/FSTest.js @@ -0,0 +1,129 @@ + +'use strict'; + +var RCTTestModule = require('NativeModules').TestModule; +var React = require('react-native'); +var { + Text, + View, +} = React; +var RNFS = require('react-native-fs'); +var DEBUG = false; + + +// setup in componentDidMount +var done; +var updateMessage; + +function runTestCase(description, fn) { + updateMessage(description); + fn(); +} + +function expectTrue(condition, message) { + if (!condition) { + throw new Error(message); + } +} + +function expectEqual(lhs, rhs, testname) { + expectTrue( + lhs === rhs, + 'Error in test ' + testname + ': expected ' + rhs + ', got ' + lhs + ); +} + +function expectFSNoError(err) { + expectTrue(err === null, 'Unexpected FS error: ' + JSON.stringify(err)); +} + +function testWriteAndReadFile() { + var path = RNFS.DocumentDirectoryPath + '/test.txt'; + + var text = 'Lorem ipsum dolor sit amet'; + var readText; + + RNFS.writeFile(path, text) + .then((success) => { + updateMessage('FILE WRITTEN!'); + return RNFS.readFile(path); + }) + .then((contents) => { + updateMessage('FILE READ! Contents:'); + readText = contents; + updateMessage(readText); + expectEqual(text, readText, 'testWriteAndReadFile'); + runTestCase('testCreateAndDeleteFile', testCreateAndDeleteFile); + }) + .catch((err) => { + updateMessage(err.message, err.code); + }); +} + + + +function testCreateAndDeleteFile() { + var path = RNFS.DocumentDirectoryPath + '/test.txt'; + var text = 'Lorem ipsum dolor sit amet'; + var readText; + + RNFS.writeFile(path, text) + .then((success) => { + updateMessage('FILE CREATED!'); + return RNFS.unlink(path); + }) + .spread((success, path) => { + updateMessage('FILE DELETED!' + success + ',' + path); + return RNFS.stat(path); + }) + .then((statResult) => { + updateMessage('*****' + statResult); + if (statResult.isFile()) { + updateMessage('FILE STILL EXISTS'); + } + }) + .catch((err) => { + updateMessage('catch' + err); + expectTrue(true,'File is deleted'); + done(); + }); +} + + + + +var FSTest = React.createClass({ + getInitialState() { + return { + messages: 'Initializing...', + done: false, + }; + }, + + componentDidMount() { + done = () => this.setState({ + done: true + }, RCTTestModule.markTestCompleted); + updateMessage = (msg) => { + this.setState({ + messages: this.state.messages.concat('\n' + msg) + }); + DEBUG && console.log(msg); + }; + testWriteAndReadFile(); + }, + + render() { + return ( + + + {this.constructor.displayName + ': '} + {this.state.done ? 'Done' : 'Testing...'} + {'\n\n' + this.state.messages} + + + ); + } +}); + +module.exports = FSTest; diff --git a/IntegrationTests/Images.xcassets/AppIcon.appiconset/Contents.json b/IntegrationTests/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..413d60e --- /dev/null +++ b/IntegrationTests/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,44 @@ +{ + "images" : [ + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "uie_icon@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "uie_icon@2x-1.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "uie_icon@2x-2.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "uie_icon@2x-3.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "uie_icon@2x-5.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "uie_icon@2x-4.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/IntegrationTests/Images.xcassets/AppIcon.appiconset/uie_icon@2x-1.png b/IntegrationTests/Images.xcassets/AppIcon.appiconset/uie_icon@2x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..08a42699daa9ca2149e641e7236b63bf74bdb5f6 GIT binary patch literal 31759 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 literal 0 HcmV?d00001 diff --git a/IntegrationTests/Images.xcassets/AppIcon.appiconset/uie_icon@2x-2.png b/IntegrationTests/Images.xcassets/AppIcon.appiconset/uie_icon@2x-2.png new file mode 100644 index 0000000000000000000000000000000000000000..08a42699daa9ca2149e641e7236b63bf74bdb5f6 GIT binary patch literal 31759 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 literal 0 HcmV?d00001 diff --git a/IntegrationTests/Images.xcassets/AppIcon.appiconset/uie_icon@2x-3.png b/IntegrationTests/Images.xcassets/AppIcon.appiconset/uie_icon@2x-3.png new file mode 100644 index 0000000000000000000000000000000000000000..08a42699daa9ca2149e641e7236b63bf74bdb5f6 GIT binary patch literal 31759 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 literal 0 HcmV?d00001 diff --git a/IntegrationTests/Images.xcassets/AppIcon.appiconset/uie_icon@2x-4.png b/IntegrationTests/Images.xcassets/AppIcon.appiconset/uie_icon@2x-4.png new file mode 100644 index 0000000000000000000000000000000000000000..08a42699daa9ca2149e641e7236b63bf74bdb5f6 GIT binary patch literal 31759 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 literal 0 HcmV?d00001 diff --git a/IntegrationTests/Images.xcassets/AppIcon.appiconset/uie_icon@2x-5.png b/IntegrationTests/Images.xcassets/AppIcon.appiconset/uie_icon@2x-5.png new file mode 100644 index 0000000000000000000000000000000000000000..08a42699daa9ca2149e641e7236b63bf74bdb5f6 GIT binary patch literal 31759 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 literal 0 HcmV?d00001 diff --git a/IntegrationTests/Images.xcassets/AppIcon.appiconset/uie_icon@2x.png b/IntegrationTests/Images.xcassets/AppIcon.appiconset/uie_icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..08a42699daa9ca2149e641e7236b63bf74bdb5f6 GIT binary patch literal 31759 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 literal 0 HcmV?d00001 diff --git a/IntegrationTests/Info.plist b/IntegrationTests/Info.plist new file mode 100644 index 0000000..2450546 --- /dev/null +++ b/IntegrationTests/Info.plist @@ -0,0 +1,42 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + com.facebook.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + NSLocationWhenInUseUsageDescription + You need to add NSLocationWhenInUseUsageDescription key in Info.plist to enable geolocation, otherwise it is going to *fail silently*! + UIViewControllerBasedStatusBarAppearance + + + diff --git a/IntegrationTests/IntegrationTestHarnessTest.js b/IntegrationTests/IntegrationTestHarnessTest.js new file mode 100644 index 0000000..adf57ab --- /dev/null +++ b/IntegrationTests/IntegrationTestHarnessTest.js @@ -0,0 +1,62 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ +'use strict'; + +var RCTTestModule = require('NativeModules').TestModule; +var React = require('react-native'); +var { + Text, + View, +} = React; + +var IntegrationTestHarnessTest = React.createClass({ + propTypes: { + shouldThrow: React.PropTypes.bool, + waitOneFrame: React.PropTypes.bool, + }, + + getInitialState() { + return { + done: false, + }; + }, + + componentDidMount() { + if (this.props.waitOneFrame) { + requestAnimationFrame(this.runTest); + } else { + this.runTest(); + } + }, + + runTest() { + if (this.props.shouldThrow) { + throw new Error('Throwing error because shouldThrow'); + } + if (!RCTTestModule) { + throw new Error('RCTTestModule is not registered.'); + } else if (!RCTTestModule.markTestCompleted) { + throw new Error('RCTTestModule.markTestCompleted not defined.'); + } + this.setState({done: true}, RCTTestModule.markTestCompleted); + }, + + render() { + return ( + + + {this.constructor.displayName + ': '} + {this.state.done ? 'Done' : 'Testing...'} + + + ); + } +}); + +module.exports = IntegrationTestHarnessTest; diff --git a/IntegrationTests/IntegrationTests.xcodeproj/project.pbxproj b/IntegrationTests/IntegrationTests.xcodeproj/project.pbxproj new file mode 100644 index 0000000..01f053c --- /dev/null +++ b/IntegrationTests/IntegrationTests.xcodeproj/project.pbxproj @@ -0,0 +1,636 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 004D28A31AAF61C70097A701 /* IntegrationTestsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 004D28A21AAF61C70097A701 /* IntegrationTestsTests.m */; }; + 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; + 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 */; }; + F24706C11B1F865C00001A84 /* libRCTTest.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F24706C01B1F863700001A84 /* libRCTTest.a */; }; + F24706C21B1F865C00001A84 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F24706BA1B1F85BD00001A84 /* libReact.a */; }; + F24706CF1B1F898A00001A84 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F24706CE1B1F896000001A84 /* libRCTText.a */; }; + F24706D01B1F898A00001A84 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F24706C81B1F87A800001A84 /* libRCTWebSocket.a */; }; + F24706F81B1FC0DB00001A84 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F24706F71B1FC0C300001A84 /* libRCTNetwork.a */; }; + F24707431B1FC8E000001A84 /* libRNFS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F24707421B1FC8D200001A84 /* libRNFS.a */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 58005BCB1ABA44F10062E044 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 13B07F861A680F5B00A75B9A; + remoteInfo = IntegrationTests; + }; + F24706B91B1F85BD00001A84 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = F24706B51B1F85BD00001A84 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; + remoteInfo = React; + }; + F24706BF1B1F863700001A84 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = F24706BB1B1F863700001A84 /* RCTTest.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 580C376F1AB104AF0015E709; + remoteInfo = RCTTest; + }; + F24706C71B1F87A800001A84 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = F24706C31B1F87A800001A84 /* RCTWebSocket.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3C86DF461ADF2C930047B81A; + remoteInfo = RCTWebSocket; + }; + F24706CD1B1F896000001A84 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = F24706C91B1F895F00001A84 /* RCTText.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58B5119B1A9E6C1200147676; + remoteInfo = RCTText; + }; + F24706F61B1FC0C300001A84 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = F24706F21B1FC0C300001A84 /* RCTNetwork.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58B511DB1A9E6C8500147676; + remoteInfo = RCTNetwork; + }; + F24707411B1FC8D200001A84 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = F24707381B1FC8D200001A84 /* RNFS.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F12AFB9B1ADAF8F800E0535D; + remoteInfo = RNFS; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 004D289E1AAF61C70097A701 /* IntegrationTestsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = IntegrationTestsTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 004D28A11AAF61C70097A701 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 004D28A21AAF61C70097A701 /* IntegrationTestsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = IntegrationTestsTests.m; sourceTree = ""; }; + 13B07F961A680F5B00A75B9A /* IntegrationTests.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = IntegrationTests.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; + 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + F24706B51B1F85BD00001A84 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; + F24706BB1B1F863700001A84 /* RCTTest.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTTest.xcodeproj; path = "../node_modules/react-native/Libraries/RCTTest/RCTTest.xcodeproj"; sourceTree = ""; }; + F24706C31B1F87A800001A84 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = ""; }; + F24706C91B1F895F00001A84 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; + F24706F21B1FC0C300001A84 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = "../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj"; sourceTree = ""; }; + F24707381B1FC8D200001A84 /* RNFS.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNFS.xcodeproj; path = ../RNFS.xcodeproj; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 004D289B1AAF61C70097A701 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F24707431B1FC8E000001A84 /* libRNFS.a in Frameworks */, + F24706F81B1FC0DB00001A84 /* libRCTNetwork.a in Frameworks */, + F24706CF1B1F898A00001A84 /* libRCTText.a in Frameworks */, + F24706D01B1F898A00001A84 /* libRCTWebSocket.a in Frameworks */, + F24706C11B1F865C00001A84 /* libRCTTest.a in Frameworks */, + F24706C21B1F865C00001A84 /* libReact.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 004D289F1AAF61C70097A701 /* IntegrationTestsTests */ = { + isa = PBXGroup; + children = ( + 004D28A21AAF61C70097A701 /* IntegrationTestsTests.m */, + 004D28A01AAF61C70097A701 /* Supporting Files */, + ); + path = IntegrationTestsTests; + sourceTree = ""; + }; + 004D28A01AAF61C70097A701 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 004D28A11AAF61C70097A701 /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 1316A21D1AA397F400C0188E /* Libraries */ = { + isa = PBXGroup; + children = ( + F24707381B1FC8D200001A84 /* RNFS.xcodeproj */, + F24706F21B1FC0C300001A84 /* RCTNetwork.xcodeproj */, + F24706C91B1F895F00001A84 /* RCTText.xcodeproj */, + F24706C31B1F87A800001A84 /* RCTWebSocket.xcodeproj */, + F24706BB1B1F863700001A84 /* RCTTest.xcodeproj */, + F24706B51B1F85BD00001A84 /* React.xcodeproj */, + ); + name = Libraries; + sourceTree = ""; + }; + 13B07FAE1A68108700A75B9A /* IntegrationTests */ = { + isa = PBXGroup; + children = ( + 13B07FAF1A68108700A75B9A /* AppDelegate.h */, + 13B07FB01A68108700A75B9A /* AppDelegate.m */, + 13B07FB51A68108700A75B9A /* Images.xcassets */, + 13B07FB61A68108700A75B9A /* Info.plist */, + 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, + 13B07FB71A68108700A75B9A /* main.m */, + ); + name = IntegrationTests; + sourceTree = ""; + }; + 83CBB9F61A601CBA00E9B192 = { + isa = PBXGroup; + children = ( + 13B07FAE1A68108700A75B9A /* IntegrationTests */, + 1316A21D1AA397F400C0188E /* Libraries */, + 004D289F1AAF61C70097A701 /* IntegrationTestsTests */, + 83CBBA001A601CBA00E9B192 /* Products */, + ); + indentWidth = 2; + sourceTree = ""; + tabWidth = 2; + }; + 83CBBA001A601CBA00E9B192 /* Products */ = { + isa = PBXGroup; + children = ( + 13B07F961A680F5B00A75B9A /* IntegrationTests.app */, + 004D289E1AAF61C70097A701 /* IntegrationTestsTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + F24706B61B1F85BD00001A84 /* Products */ = { + isa = PBXGroup; + children = ( + F24706BA1B1F85BD00001A84 /* libReact.a */, + ); + name = Products; + sourceTree = ""; + }; + F24706BC1B1F863700001A84 /* Products */ = { + isa = PBXGroup; + children = ( + F24706C01B1F863700001A84 /* libRCTTest.a */, + ); + name = Products; + sourceTree = ""; + }; + F24706C41B1F87A800001A84 /* Products */ = { + isa = PBXGroup; + children = ( + F24706C81B1F87A800001A84 /* libRCTWebSocket.a */, + ); + name = Products; + sourceTree = ""; + }; + F24706CA1B1F895F00001A84 /* Products */ = { + isa = PBXGroup; + children = ( + F24706CE1B1F896000001A84 /* libRCTText.a */, + ); + name = Products; + sourceTree = ""; + }; + F24706F31B1FC0C300001A84 /* Products */ = { + isa = PBXGroup; + children = ( + F24706F71B1FC0C300001A84 /* libRCTNetwork.a */, + ); + name = Products; + sourceTree = ""; + }; + F24707391B1FC8D200001A84 /* Products */ = { + isa = PBXGroup; + children = ( + F24707421B1FC8D200001A84 /* libRNFS.a */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 004D289D1AAF61C70097A701 /* IntegrationTestsTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 004D28AD1AAF61C70097A701 /* Build configuration list for PBXNativeTarget "IntegrationTestsTests" */; + buildPhases = ( + 004D289A1AAF61C70097A701 /* Sources */, + 004D289B1AAF61C70097A701 /* Frameworks */, + 004D289C1AAF61C70097A701 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 58005BCC1ABA44F10062E044 /* PBXTargetDependency */, + ); + name = IntegrationTestsTests; + productName = IntegrationTestsTests; + productReference = 004D289E1AAF61C70097A701 /* IntegrationTestsTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 13B07F861A680F5B00A75B9A /* IntegrationTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "IntegrationTests" */; + buildPhases = ( + 13B07F871A680F5B00A75B9A /* Sources */, + 13B07F8C1A680F5B00A75B9A /* Frameworks */, + 13B07F8E1A680F5B00A75B9A /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = IntegrationTests; + productName = "Hello World"; + productReference = 13B07F961A680F5B00A75B9A /* IntegrationTests.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 83CBB9F71A601CBA00E9B192 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0610; + ORGANIZATIONNAME = Facebook; + TargetAttributes = { + 004D289D1AAF61C70097A701 = { + CreatedOnToolsVersion = 6.1.1; + TestTargetID = 13B07F861A680F5B00A75B9A; + }; + }; + }; + buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "IntegrationTests" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 83CBB9F61A601CBA00E9B192; + productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = F24706F31B1FC0C300001A84 /* Products */; + ProjectRef = F24706F21B1FC0C300001A84 /* RCTNetwork.xcodeproj */; + }, + { + ProductGroup = F24706BC1B1F863700001A84 /* Products */; + ProjectRef = F24706BB1B1F863700001A84 /* RCTTest.xcodeproj */; + }, + { + ProductGroup = F24706CA1B1F895F00001A84 /* Products */; + ProjectRef = F24706C91B1F895F00001A84 /* RCTText.xcodeproj */; + }, + { + ProductGroup = F24706C41B1F87A800001A84 /* Products */; + ProjectRef = F24706C31B1F87A800001A84 /* RCTWebSocket.xcodeproj */; + }, + { + ProductGroup = F24706B61B1F85BD00001A84 /* Products */; + ProjectRef = F24706B51B1F85BD00001A84 /* React.xcodeproj */; + }, + { + ProductGroup = F24707391B1FC8D200001A84 /* Products */; + ProjectRef = F24707381B1FC8D200001A84 /* RNFS.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 13B07F861A680F5B00A75B9A /* IntegrationTests */, + 004D289D1AAF61C70097A701 /* IntegrationTestsTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + F24706BA1B1F85BD00001A84 /* libReact.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libReact.a; + remoteRef = F24706B91B1F85BD00001A84 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + F24706C01B1F863700001A84 /* libRCTTest.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTTest.a; + remoteRef = F24706BF1B1F863700001A84 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + F24706C81B1F87A800001A84 /* libRCTWebSocket.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTWebSocket.a; + remoteRef = F24706C71B1F87A800001A84 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + F24706CE1B1F896000001A84 /* libRCTText.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTText.a; + remoteRef = F24706CD1B1F896000001A84 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + F24706F71B1FC0C300001A84 /* libRCTNetwork.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTNetwork.a; + remoteRef = F24706F61B1FC0C300001A84 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + F24707421B1FC8D200001A84 /* libRNFS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRNFS.a; + remoteRef = F24707411B1FC8D200001A84 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 004D289C1AAF61C70097A701 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 13B07F8E1A680F5B00A75B9A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, + 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 004D289A1AAF61C70097A701 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 004D28A31AAF61C70097A701 /* IntegrationTestsTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 13B07F871A680F5B00A75B9A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */, + 13B07FC11A68108700A75B9A /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 58005BCC1ABA44F10062E044 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 13B07F861A680F5B00A75B9A /* IntegrationTests */; + targetProxy = 58005BCB1ABA44F10062E044 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = { + isa = PBXVariantGroup; + children = ( + 13B07FB21A68108700A75B9A /* Base */, + ); + name = LaunchScreen.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 004D28A61AAF61C70097A701 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SDKROOT)/Developer/Library/Frameworks", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "FB_REFERENCE_IMAGE_DIR=\"\\\"$(SOURCE_ROOT)/$(PROJECT_NAME)Tests/ReferenceImages\\\"\"", + "$(inherited)", + ); + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../node_modules/react-native/React/**", + ); + INFOPLIST_FILE = IntegrationTestsTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 8.1; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/IntegrationTests.app/IntegrationTests"; + }; + name = Debug; + }; + 004D28A71AAF61C70097A701 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(SDKROOT)/Developer/Library/Frameworks", + "$(DEVELOPER_FRAMEWORKS_DIR)", + ); + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../node_modules/react-native/React/**", + ); + INFOPLIST_FILE = IntegrationTestsTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 8.1; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/IntegrationTests.app/IntegrationTests"; + }; + name = Release; + }; + 13B07F941A680F5B00A75B9A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../node_modules/react-native/React/**", + "$(SRCROOT)/../node_modules/react-native/Libraries", + ); + INFOPLIST_FILE = "$(SRCROOT)/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = "$(inherited)"; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = IntegrationTests; + }; + name = Debug; + }; + 13B07F951A680F5B00A75B9A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../node_modules/react-native/React/**", + "$(SRCROOT)/../node_modules/react-native/Libraries", + ); + INFOPLIST_FILE = "$(SRCROOT)/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = "$(inherited)"; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = IntegrationTests; + }; + name = Release; + }; + 83CBBA201A601CBA00E9B192 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + 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; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + 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; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../React/**", + ); + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 83CBBA211A601CBA00E9B192 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + 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_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; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../React/**", + ); + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 004D28AD1AAF61C70097A701 /* Build configuration list for PBXNativeTarget "IntegrationTestsTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 004D28A61AAF61C70097A701 /* Debug */, + 004D28A71AAF61C70097A701 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "IntegrationTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 13B07F941A680F5B00A75B9A /* Debug */, + 13B07F951A680F5B00A75B9A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "IntegrationTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83CBBA201A601CBA00E9B192 /* Debug */, + 83CBBA211A601CBA00E9B192 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; +} diff --git a/IntegrationTests/IntegrationTests.xcodeproj/xcshareddata/xcschemes/IntegrationTests.xcscheme b/IntegrationTests/IntegrationTests.xcodeproj/xcshareddata/xcschemes/IntegrationTests.xcscheme new file mode 100644 index 0000000..564d15d --- /dev/null +++ b/IntegrationTests/IntegrationTests.xcodeproj/xcshareddata/xcschemes/IntegrationTests.xcscheme @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/IntegrationTests/IntegrationTestsApp.js b/IntegrationTests/IntegrationTestsApp.js new file mode 100644 index 0000000..3054244 --- /dev/null +++ b/IntegrationTests/IntegrationTestsApp.js @@ -0,0 +1,90 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule IntegrationTestsApp + */ +'use strict'; + +var React = require('react-native'); + +var { + AppRegistry, + ScrollView, + StyleSheet, + Text, + TouchableOpacity, + View, +} = React; + +var TESTS = [ + require('./IntegrationTestHarnessTest'), + require('./FSTest') +]; + +TESTS.forEach( + (test) => AppRegistry.registerComponent(test.displayName, () => test) +); + +var IntegrationTestsApp = React.createClass({ + getInitialState: function() { + return { + test: null, + }; + }, + render: function() { + if (this.state.test) { + return ( + + + + ); + } + return ( + + + Click on a test to run it in this shell for easier debugging and + development. Run all tests in the testing envirnment with cmd+U in + Xcode. + + + + {TESTS.map((test) => [ + this.setState({test})}> + + + {test.displayName} + + + , + + ])} + + + ); + } +}); + +var styles = StyleSheet.create({ + container: { + backgroundColor: 'white', + marginTop: 40, + margin: 15, + }, + row: { + padding: 10, + }, + testName: { + fontWeight: '500', + }, + separator: { + height: 1, + backgroundColor: '#bbbbbb', + }, +}); + +AppRegistry.registerComponent('IntegrationTestsApp', () => IntegrationTestsApp); diff --git a/IntegrationTests/IntegrationTestsTests/Info.plist b/IntegrationTests/IntegrationTestsTests/Info.plist new file mode 100644 index 0000000..87e3a61 --- /dev/null +++ b/IntegrationTests/IntegrationTestsTests/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + com.facebook.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/IntegrationTests/IntegrationTestsTests/IntegrationTestsTests.m b/IntegrationTests/IntegrationTestsTests/IntegrationTestsTests.m new file mode 100644 index 0000000..1087484 --- /dev/null +++ b/IntegrationTests/IntegrationTestsTests/IntegrationTestsTests.m @@ -0,0 +1,74 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import +#import + +#import + +#import "RCTAssert.h" + +@interface IntegrationTestsTests : XCTestCase + +@end + +@implementation IntegrationTestsTests +{ + RCTTestRunner *_runner; +} + +- (void)setUp +{ +#ifdef __LP64__ + RCTAssert(!__LP64__, @"Tests should be run on 32-bit device simulators (e.g. iPhone 5)"); +#endif + NSString *version = [[UIDevice currentDevice] systemVersion]; + RCTAssert([version integerValue] == 8, @"Tests should be run on iOS 8.x, found %@", version); + _runner = RCTInitRunnerForApp(@"IntegrationTests/IntegrationTestsApp"); + + // If tests have changes, set recordMode = YES below and run the affected + // tests on an iPhone5, iOS 8.1 simulator. + _runner.recordMode = NO; +} + +#pragma mark Logic Tests + +- (void)testTheTester +{ + [_runner runTest:_cmd module:@"IntegrationTestHarnessTest"]; +} + +- (void)testTheTester_waitOneFrame +{ + [_runner runTest:_cmd + module:@"IntegrationTestHarnessTest" + initialProps:@{@"waitOneFrame": @YES} + expectErrorBlock:nil]; +} + +// TODO: this seems to stall forever - figure out why +- (void)DISABLED_testTheTester_ExpectError +{ + [_runner runTest:_cmd + module:@"IntegrationTestHarnessTest" + initialProps:@{@"shouldThrow": @YES} + expectErrorRegex:@"because shouldThrow"]; +} + +- (void)testFS +{ + [_runner runTest:_cmd module:@"FSTest"]; +} + +- (void)testZZZ_NotInRecordMode +{ + RCTAssert(_runner.recordMode == NO, @"Don't forget to turn record mode back to NO before commit."); +} + +@end diff --git a/IntegrationTests/IntegrationTestsTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshot_1@2x.png b/IntegrationTests/IntegrationTestsTests/ReferenceImages/IntegrationTests-IntegrationTestsApp/testSimpleSnapshot_1@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fd91abf4238eeef539800f9c8ca71eb398fb1881 GIT binary patch literal 57703 zcmeHQd0bQ1wm#>0kVI4hsMv}nD1+7tI8;z590f%xidrw#N(Dqq>$8X>ScaT9fz^sL zwu(^ON(U9ZdIb?7b-qP`S}VND5Jj9&f}#c_BzJ|qp|{Cj_mB6-dvE#sDU!3Z&)VN! z>)YR6dnIS{%o#y_dcEF@VVFL_Qv+u+3@0*-b+)7@yt3rf(cj?*yK;8WB<5I|!$bH* z8aH*`N`@KWV*JYn&vtHx7acwc44nf%Irs~IEGyujVdSUr|DV-=E1b1v7=Z~6oH!?e zeO#s77JYihr?U)(P;J%XZ=(`Nm!`Tr-06F~XTpOom+V~?ZSi}2ea90ILx9Mz950c{ zJ>OL?`{wZ5Z;{^wQ5C^exX1-^xwoB6JU<{dytAbsip(lYcuVKS^E|K4+c+qLb|YtM zx_j_sS?{H{FS*c8Btm@m%|ZmG@BD)0QrZbuF&J+}a6X?XohZC0A$a%AP;)|#5<8qkx?>qI7rEsq#1&uhG>Nt}G&zezMWffP;U zb@ulH^88K(3Te{gneo|oV;1%1_%cwX_n%y_%XH3bY0#Xxct5zrqI{Al>=BtGALK;U zy35Z6R+afQzqESN1C(ZSD9b)@m9=K7$}&nc1F}la?AH$l(X~J(6Ft;zKlR`P_epN8 zwd|?8uyv}adV^&PF4yGO4xycoEU_yO7FDY`uDNi}T6K^GY5m68$HiM2WiZFZT|afL z(4Dq^^~DP>7?MmXQKkL!>*L&zkPT0YdPFM{db$bf-=L4*&iNT)m6;xjx{-bw{fmUp zIKJ-ynP};8`J2IVVtAY?R5es4uNW?8e6&k`jF&!6YHN>u+IB4Q@k%3H5ztMEpv&U* z0m6pOd71HQfA?<;>mgb+fQ;tE^WZNyp9p>N{G@UE!&d`El?}Wh?d^oLXlnbmj;I7r zj*qpMiTTSaS`=ZC_e<;Ix0ILH#%9eBRgs|I6WXR&Q(V@Kcq9S1^nn7S-~3g{m>}AE ze972dw({mYn7o12l^?oNGOgK}m+S`A|Gx3{``0M!%ZkhVwn67cz^0w^mnONZ~T$eu4SYc!Rsa(ht+c+~MiYjo)KBBNt3Ioh?l5KGiCQ{j%* zFna5sUsc&sv!|s@xddbM1*~dk`2HG9`*!OX;A_Qlf8)5kC7GMno}u%ztfazkJ78si z;ly&vI%%4x&8e2Yx~AAy@vu)!m?$vC;{DvdvZ}Uc+L}8nRiRhYc*$cMnV49e+&GeU zp0AtX>&9}GU`k`yJ*8uR(z@l>(xy_0Y@f57ar^Yvkw)6O(d%X%?EeIKd8ljZB|6OU zFH>XUVCqN0)Q^1Jq8T8I8nX2M;DYwb`iD}P_gsN_qsSqBjYti*)bYL?%VolNR^}f5 zEQ31MnWp3AMh;PcDF*JT!nW0#;$o;D{mS1MM}92Z>NhRx#xR0nMeF|2b}Sbpk*J2= zR6A|!vc1Z2ljTrBy#{b>@A-})h6a&e;+fml!os`D_>QE?IRUsB^UI>LS3SxyW0OkC3t94{fLKQ3q~-o+>(ZsRU| z)u-(;b#wjGi!bbr4v+|zCpsF|6w<*yughwa%3Ak?2;!e;a3CGWX8Fh=j zI3{x_jnFcWpLfaRGaBP=d*ro>sdOBGLNsjeniF$Mg~3yk!V zze-z3aonQ#V9HP-GFN1(8#T8=?a4HGcW7_7Nn{0K0<+-E1Z#a79cg;_iik;~3L@8g zdE-ZA6vSuyA2|cJ>;<%JGtSrZYl?Nr`K=Dx^Haw2BB&>VE6Pvh7S2>RpPK-8%w~$3gETv&S7CJ>^K$7g{{6j+^7<-#*jl4Mu-Vzn*s5q^WGGy;NWm+7yhhpK<}qR-Ku@>uf-GUrCp9D`LPWS$GRO z$8nx>_w5ICTviR^3wb`W(ry{ziH|g7&zQIOX4GXcRdVfyJyWMX|dX(`fQ6ifQ zp|vG)o3&l{7*jhe&lm7bK#SVPzwBy~bzg|rElCDuREkXR?GCTK_2(`0>8Za;4*=Pf z*QV#(8rglJNpH~(D_{!X=&x#x=1Ta!9!JhQhBCbbgOih>o(X*PV4?2-rEy($8Erpg z%<1>aAfFc?FlALIhEKDAsR%#a<2(Nz(SW%nM1ggMu0NL}IZ~v{?7t$>asy(oaL?->?^OL#S~u^w_rv_CFfhhL&L}kXb++Cg z2sbtt?(vCxzW8MvFY$d-&Nw!_T+G*w$b0rIKJ2Yx?aMY;Nn=6Tcr7bGk!~+reJHk} z?^eUl43ML7J&x$7x97A{VvM#XE;K|`<-nZfEJ}7)TJnLJ-_JkY!#X@T0*rKl_B$u9 z4dLo&`??w@pd?iYkjYBTVRswS`|j|>Xz-Pu;43`?9VbR+5ZenH558LPr)soGvml*6 zy|`jKqx_6z=aww&G0uuua;?PTgpE88xUsV6fNR`t@q4?~BjVNHmo`R8WK}TC{AcYe zxLj&SZp}Ewen#mEetUBIiLG{YlGdvTmUD4V;s&1b}btb$#|Kwv%q;o!t)yZPe&qPGB11>al!>=P!ULcm%AlfvRpi@BR((h4woiTr%f?|ieOT)LURp# zun|mL9grnN?x$X51{LwDwreYPGD;8&RmD*)f1_Sy3KjLLBexnq0j~mjiGS1{%X#!7 zK4=ORvHEKJ#(m&bSunw&qxAK7RHS|DOWU>pj-LWbdB=Zwt=d8` zsWOF%m=bww@{5bS#KBF@q|e`MIb=IU#RMwCKR+sZZ-T`ySYX_jj}KA5MXY{m1{G<& zpeR-kB5X2r9{`m}EE9?uT%#gs^Pf z;C=G=K!pPbN^&*qN7K`I}6h2QkugLtDcy=to*d zm_S9W-lw%1HHzi@f$p;w>BcLqc*0d?P|?oanzG9Q!WqC-_iKIMRz?snJY)hDT^(-s z*IwZzNmB(TMRN19ZNel1Ns<{|zy8l2<4rnG4W6@}zN z=JUb4q}mB2NY$KavDbm?=~wc230R<~RwFKqu8dXwFEBD909?Kt-(f)YvbCbtDBADgS@At^~1XmSU= z;<;PY6f>yEIIk?*yNj2c1Rs3aXMgSoBzTUPLPe~OsaX&jAgX{)3f`-Ww@a8s3Bm*_ zVs&J#$At^9>4HT{vGeJD-knMx4>PDp=UD~o{a_dE100)~*m8qUp{mUUDoQ6C->)7D zn*ihD;5659n!0OoFoTM=&(FBxXe;-eEil`{&wM?fVqyjrG3A!~j~=dq+8b!I`dwd{ zGMtR_>R+KE!85ZX+S7sMrooPDb7>S8L#;N0iW0<~)h(4$*)W*-$)#g|@ulmC8B`?V z!{fetX9&v~Q$?xS$$gZeG%(GfB3`Il`tKQmjg(HzprVl2#b1w?$>UN%azuw7+^Nc^ z?MaxPK z2RAWFpp&?qVvTF_A!{sF67nngsI`>;{nd}Pc5u}fg z_TCRtoh?~+I!vG5Cju%TpS>gy;s$>IG964+As6i;SXujZy`;3dQCt+ogOo& zh$*K&oD%`+c{y}muqQ#zohIYl_gAP$@MOQb9O>PiY2nML)#av8QG&SGcrVvZJ`+N1 z%id4=(E~|gh@7!=i2;}BEbXAG3$kn=zIll=BqnC9FbZ*FT?xJwVM3R{$m!afAxj`5 zA|oOrA|oOrqDB-^N~0h^L4bk)1px{I6a**;P!LQ(L4bk)1px{I6a**;P!OOXKtb>y z9-@BeaEE1>3EvpM3johzjfc?i*%Cam#^ZUcV!(?n8$5ai5M7uC}2sU|i_2Zip;WY_2sy*Y9+-s0$Qrt>^zz1ja#PC z-#wX*uAb$tk<6uD_FYf3j$~fZTZ%%6irL!V9Uj!xX@ZJ*-h*1F+$XXFM}&7jAe(*A z{ebLIY!A<{f`YDL^r*0=9?LJ}dPW|J>wXA!&um8=5Y7-NJ9Ie+1QBBh7zs%MxE4tP zNr9}NND4;1f~0_?Kr|>S1yl-jJAtHtq=2M=TX4)N$S~^zYXYXRjHiT{mxDC{6OFKY zL{dOfpr__Y3P=igK7QjX@*fDL7~(Bn2b|tR%tG7_9YSIV@g+ zLj^1^gMBmB%fXs}1%Sr#10)3`1#;4eq=2MA%MXwgkQ9&<@S_4)x83>K6RgI-8lzPwWgkA9pum(NM%9fUzN@FZ7x2i3ekzm^lPaEK1> z17k)L{QxmQKQQWa^aI2I{h;gX+i_h$K0rP|K0rRey))(yFo$BAN8(B>tJm8$-JK4J PCnk9EjKE`)BG>&3nXO8> literal 0 HcmV?d00001 diff --git a/IntegrationTests/main.m b/IntegrationTests/main.m new file mode 100644 index 0000000..fe6bea2 --- /dev/null +++ b/IntegrationTests/main.m @@ -0,0 +1,17 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import +#import "AppDelegate.h" + +int main(int argc, char * argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/RNFS.xcodeproj/project.xcworkspace/xcshareddata/RNFS.xccheckout b/RNFS.xcodeproj/project.xcworkspace/xcshareddata/RNFS.xccheckout index 3713373..90a1e3b 100644 --- a/RNFS.xcodeproj/project.xcworkspace/xcshareddata/RNFS.xccheckout +++ b/RNFS.xcodeproj/project.xcworkspace/xcshareddata/RNFS.xccheckout @@ -10,14 +10,14 @@ RNFS IDESourceControlProjectOriginsDictionary - DBE4178F9C07984232B2B4DF265B9CB05D770D92 + 12581ADBDE0CF8ECF9C7ACE1E98417AC15B0FAFF https://github.com/johanneslumpe/react-native-keyboardevents.git IDESourceControlProjectPath RNFS.xcodeproj IDESourceControlProjectRelativeInstallPathDictionary - DBE4178F9C07984232B2B4DF265B9CB05D770D92 + 12581ADBDE0CF8ECF9C7ACE1E98417AC15B0FAFF ../.. IDESourceControlProjectURL @@ -25,14 +25,14 @@ IDESourceControlProjectVersion 111 IDESourceControlProjectWCCIdentifier - DBE4178F9C07984232B2B4DF265B9CB05D770D92 + 12581ADBDE0CF8ECF9C7ACE1E98417AC15B0FAFF IDESourceControlProjectWCConfigurations IDESourceControlRepositoryExtensionIdentifierKey public.vcs.git IDESourceControlWCCIdentifierKey - DBE4178F9C07984232B2B4DF265B9CB05D770D92 + 12581ADBDE0CF8ECF9C7ACE1E98417AC15B0FAFF IDESourceControlWCCName react-native-fs diff --git a/RNFS.xcodeproj/project.xcworkspace/xcuserdata/shailesh.xcuserdatad/UserInterfaceState.xcuserstate b/RNFS.xcodeproj/project.xcworkspace/xcuserdata/shailesh.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..da8567be086b54c27e33deb22b49891f8fbbf3d2 GIT binary patch literal 47525 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 a$2{RF&w0yxKK~8lYdo)N_`2$U`SJ@dtL41_ literal 0 HcmV?d00001 diff --git a/RNFS.xcodeproj/xcuserdata/johanneslumpe.xcuserdatad/xcschemes/RNKeyboardEvents.xcscheme b/RNFS.xcodeproj/xcuserdata/johanneslumpe.xcuserdatad/xcschemes/RNKeyboardEvents.xcscheme deleted file mode 100644 index ef6dcaf..0000000 --- a/RNFS.xcodeproj/xcuserdata/johanneslumpe.xcuserdatad/xcschemes/RNKeyboardEvents.xcscheme +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/RNFS.xcodeproj/xcuserdata/johanneslumpe.xcuserdatad/xcschemes/xcschememanagement.plist b/RNFS.xcodeproj/xcuserdata/johanneslumpe.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index d0ec77b..0000000 --- a/RNFS.xcodeproj/xcuserdata/johanneslumpe.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - SchemeUserState - - RNKeyboardEvents.xcscheme - - orderHint - 1 - - - SuppressBuildableAutocreation - - F12AFB9A1ADAF8F800E0535D - - primary - - - F12AFBA51ADAF8F800E0535D - - primary - - - - - From 1a57ef062b6c6f7a45cb590a7a88048f1a3c0d5f Mon Sep 17 00:00:00 2001 From: Shailesh Kumar Date: Mon, 8 Jun 2015 16:27:54 +0200 Subject: [PATCH 2/2] Fix for test runner not finishing when test fails or there is error --- IntegrationTests/FSTest.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/IntegrationTests/FSTest.js b/IntegrationTests/FSTest.js index 42bf2a7..dd91208 100644 --- a/IntegrationTests/FSTest.js +++ b/IntegrationTests/FSTest.js @@ -51,13 +51,13 @@ function testWriteAndReadFile() { .then((contents) => { updateMessage('FILE READ! Contents:'); readText = contents; - updateMessage(readText); expectEqual(text, readText, 'testWriteAndReadFile'); + updateMessage('readFile correctly returned' + readText); + }) + .finally(() => { runTestCase('testCreateAndDeleteFile', testCreateAndDeleteFile); }) - .catch((err) => { - updateMessage(err.message, err.code); - }); + .done();//promise done needed to throw exception so that in case test fails,error is propagated } @@ -84,9 +84,12 @@ function testCreateAndDeleteFile() { }) .catch((err) => { updateMessage('catch' + err); - expectTrue(true,'File is deleted'); - done(); - }); + expectTrue(true,'File is deleted'); + }) + .finally(() => { + done(); //testrunners done + }) + .done(); //promise done needed to throw exception so that in case test fails,error is propagated }