mirror of
https://github.com/status-im/react-native.git
synced 2025-01-10 09:35:48 +00:00
a80dd9a92a
Summary:First I searched for special cases that destructor PropTypes: ``` (?s)React\s*=\s*require\('react\-native'\).*(Children|PropTypes)[^\{\}]*\}\s*=\s*React; ``` I split them up manually. Then I replaced the React = require('react-native') + destructuring pattern... ``` (?s)(const|var)\s+React\s*=\s*require\('react\-native'\)(.*[^\{\}]*\}\s*=\s*)React; ``` ...with... ``` $1 React = require('react'); $1 ReactNative = require('react-native')$2ReactNative; ``` I used lint to figure out if I left some unnecessary imports. Finally I grepped for just ``` React\s*=\s*require\('react\-native'\) ``` to catch any remaining patterns. Also, `} = React.NativeModules` -> `} = ReactNative.NativeModules`. Reviewed By: spicyj Differential Revision: D3158991 fb-gh-sync-id: f97e8e921e193d6ea1a49d8d1bf3f09be7bed5c3 fbshipit-source-id: f97e8e921e193d6ea1a49d8d1bf3f09be7bed5c3
77 lines
1.8 KiB
JavaScript
77 lines
1.8 KiB
JavaScript
/**
|
|
* 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.
|
|
*
|
|
* @flow
|
|
*/
|
|
'use strict';
|
|
|
|
var React = require('react');
|
|
var ReactNative = require('react-native');
|
|
var { View } = ReactNative;
|
|
var { TestModule } = ReactNative.NativeModules;
|
|
|
|
var PromiseTest = React.createClass({
|
|
shouldResolve: false,
|
|
shouldReject: false,
|
|
shouldSucceedAsync: false,
|
|
shouldThrowAsync: false,
|
|
|
|
componentDidMount() {
|
|
Promise.all([
|
|
this.testShouldResolve(),
|
|
this.testShouldReject(),
|
|
this.testShouldSucceedAsync(),
|
|
this.testShouldThrowAsync(),
|
|
]).then(() => TestModule.markTestPassed(
|
|
this.shouldResolve && this.shouldReject &&
|
|
this.shouldSucceedAsync && this.shouldThrowAsync
|
|
));
|
|
},
|
|
|
|
testShouldResolve() {
|
|
return TestModule
|
|
.shouldResolve()
|
|
.then(() => this.shouldResolve = true)
|
|
.catch(() => this.shouldResolve = false);
|
|
},
|
|
|
|
testShouldReject() {
|
|
return TestModule
|
|
.shouldReject()
|
|
.then(() => this.shouldReject = false)
|
|
.catch(() => this.shouldReject = true);
|
|
},
|
|
|
|
async testShouldSucceedAsync() : Promise {
|
|
try {
|
|
await TestModule.shouldResolve();
|
|
this.shouldSucceedAsync = true;
|
|
} catch (e) {
|
|
this.shouldSucceedAsync = false;
|
|
}
|
|
},
|
|
|
|
async testShouldThrowAsync() : Promise {
|
|
try {
|
|
await TestModule.shouldReject();
|
|
this.shouldThrowAsync = false;
|
|
} catch (e) {
|
|
this.shouldThrowAsync = true;
|
|
}
|
|
},
|
|
|
|
render() : ReactElement {
|
|
return <View />;
|
|
}
|
|
|
|
});
|
|
|
|
PromiseTest.displayName = 'PromiseTest';
|
|
|
|
module.exports = PromiseTest;
|