Merge all copies of RUN_RUNLOOP_WHILE in UIExplorerUnitTests
Reviewed By: mhorowitz Differential Revision: D4921344 fbshipit-source-id: 8b00acba108e46c55374df54a027015d4327d683
This commit is contained in:
parent
59378f71db
commit
6b19419cdb
|
@ -15,19 +15,12 @@
|
|||
#import <Foundation/Foundation.h>
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
#import <RCTTest/RCTTestRunner.h>
|
||||
#import <React/RCTBridge+Private.h>
|
||||
#import <React/RCTBridge.h>
|
||||
#import <React/RCTModuleMethod.h>
|
||||
#import <React/RCTRootView.h>
|
||||
|
||||
#define RUN_RUNLOOP_WHILE(CONDITION) \
|
||||
{ \
|
||||
NSDate *timeout = [NSDate dateWithTimeIntervalSinceNow:5]; \
|
||||
while ((CONDITION) && [timeout timeIntervalSinceNow] > 0) { \
|
||||
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; \
|
||||
} \
|
||||
}
|
||||
|
||||
@interface RCTJavaScriptContext : NSObject
|
||||
|
||||
@property (nonatomic, assign, readonly) JSGlobalContextRef ctx;
|
||||
|
@ -131,7 +124,7 @@ RCT_EXPORT_METHOD(test:(__unused NSString *)a
|
|||
(void)bridge;
|
||||
}
|
||||
|
||||
RUN_RUNLOOP_WHILE(module.isValid)
|
||||
RCT_RUN_RUNLOOP_WHILE(module.isValid)
|
||||
XCTAssertFalse(module.isValid, @"AllocationTestModule should have been invalidated by the bridge");
|
||||
}
|
||||
|
||||
|
@ -150,7 +143,7 @@ RCT_EXPORT_METHOD(test:(__unused NSString *)a
|
|||
(void)bridge;
|
||||
}
|
||||
|
||||
RUN_RUNLOOP_WHILE(weakModule)
|
||||
RCT_RUN_RUNLOOP_WHILE(weakModule)
|
||||
XCTAssertNil(weakModule, @"AllocationTestModule should have been deallocated");
|
||||
}
|
||||
|
||||
|
@ -163,7 +156,7 @@ RCT_EXPORT_METHOD(test:(__unused NSString *)a
|
|||
XCTAssertNotNil(method, @"RCTModuleMethod should have been created");
|
||||
}
|
||||
|
||||
RUN_RUNLOOP_WHILE(weakMethod)
|
||||
RCT_RUN_RUNLOOP_WHILE(weakMethod)
|
||||
XCTAssertNil(weakMethod, @"RCTModuleMethod should have been deallocated");
|
||||
}
|
||||
|
||||
|
@ -175,7 +168,7 @@ RCT_EXPORT_METHOD(test:(__unused NSString *)a
|
|||
__weak UIView *rootContentView;
|
||||
@autoreleasepool {
|
||||
RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge moduleName:@"" initialProperties:nil];
|
||||
RUN_RUNLOOP_WHILE(!(rootContentView = [rootView valueForKey:@"contentView"]))
|
||||
RCT_RUN_RUNLOOP_WHILE(!(rootContentView = [rootView valueForKey:@"contentView"]))
|
||||
XCTAssertTrue(rootContentView.userInteractionEnabled, @"RCTContentView should be valid");
|
||||
(void)rootView;
|
||||
}
|
||||
|
@ -197,7 +190,7 @@ RCT_EXPORT_METHOD(test:(__unused NSString *)a
|
|||
[bridge reload];
|
||||
}
|
||||
|
||||
RUN_RUNLOOP_WHILE(batchedBridge != nil)
|
||||
RCT_RUN_RUNLOOP_WHILE(batchedBridge != nil)
|
||||
|
||||
XCTAssertNotNil(bridge, @"RCTBridge should not have been deallocated");
|
||||
XCTAssertNil(batchedBridge, @"RCTBatchedBridge should have been deallocated");
|
||||
|
@ -209,7 +202,7 @@ RCT_EXPORT_METHOD(test:(__unused NSString *)a
|
|||
bridge = nil;
|
||||
}
|
||||
|
||||
RUN_RUNLOOP_WHILE(batchedBridge != nil);
|
||||
RCT_RUN_RUNLOOP_WHILE(batchedBridge != nil);
|
||||
XCTAssertNil(batchedBridge);
|
||||
}
|
||||
|
||||
|
|
|
@ -15,24 +15,13 @@
|
|||
#import <Foundation/Foundation.h>
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
#import <RCTTest/RCTTestRunner.h>
|
||||
#import <React/RCTBridge+Private.h>
|
||||
#import <React/RCTBridge.h>
|
||||
#import <React/RCTBridgeModule.h>
|
||||
#import <React/RCTJavaScriptExecutor.h>
|
||||
#import <React/RCTUtils.h>
|
||||
|
||||
#define RUN_RUNLOOP_WHILE(CONDITION) \
|
||||
{ \
|
||||
NSDate *timeout = [NSDate dateWithTimeIntervalSinceNow:5]; \
|
||||
while ((CONDITION)) { \
|
||||
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; \
|
||||
if ([timeout timeIntervalSinceNow] <= 0) { \
|
||||
XCTFail(@"Runloop timed out before condition was met"); \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
|
||||
static const NSUInteger kNameIndex = 0;
|
||||
static const NSUInteger kConstantsIndex = 1;
|
||||
static const NSUInteger kMethodsIndex = 2;
|
||||
|
@ -183,14 +172,14 @@ RCT_EXPORT_MODULE(TestModule)
|
|||
_testMethodCalled = NO;
|
||||
|
||||
[_bridge invalidate];
|
||||
RUN_RUNLOOP_WHILE(_jsExecutor.isValid);
|
||||
RCT_RUN_RUNLOOP_WHILE(_jsExecutor.isValid);
|
||||
_bridge = nil;
|
||||
}
|
||||
|
||||
- (void)testHookRegistration
|
||||
{
|
||||
NSString *injectedStuff;
|
||||
RUN_RUNLOOP_WHILE(!(injectedStuff = _jsExecutor.injectedStuff[@"__fbBatchedBridgeConfig"]));
|
||||
RCT_RUN_RUNLOOP_WHILE(!(injectedStuff = _jsExecutor.injectedStuff[@"__fbBatchedBridgeConfig"]));
|
||||
XCTAssertNotNil(injectedStuff);
|
||||
|
||||
__block NSNumber *testModuleID = nil;
|
||||
|
@ -217,7 +206,7 @@ RCT_EXPORT_MODULE(TestModule)
|
|||
- (void)testCallNativeMethod
|
||||
{
|
||||
NSString *injectedStuff;
|
||||
RUN_RUNLOOP_WHILE(!(injectedStuff = _jsExecutor.injectedStuff[@"__fbBatchedBridgeConfig"]));
|
||||
RCT_RUN_RUNLOOP_WHILE(!(injectedStuff = _jsExecutor.injectedStuff[@"__fbBatchedBridgeConfig"]));
|
||||
XCTAssertNotNil(injectedStuff);
|
||||
|
||||
__block NSNumber *testModuleID = nil;
|
||||
|
@ -249,7 +238,7 @@ RCT_EXPORT_MODULE(TestModule)
|
|||
- (void)testCallUnregisteredModuleMethod
|
||||
{
|
||||
NSString *injectedStuff;
|
||||
RUN_RUNLOOP_WHILE(!(injectedStuff = _jsExecutor.injectedStuff[@"__fbBatchedBridgeConfig"]));
|
||||
RCT_RUN_RUNLOOP_WHILE(!(injectedStuff = _jsExecutor.injectedStuff[@"__fbBatchedBridgeConfig"]));
|
||||
XCTAssertNotNil(injectedStuff);
|
||||
|
||||
__block NSNumber *testModuleID = nil;
|
||||
|
|
|
@ -14,22 +14,11 @@
|
|||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
#import <RCTTest/RCTTestRunner.h>
|
||||
#import <React/RCTUIManager.h>
|
||||
#import <React/RCTView.h>
|
||||
#import <React/RCTViewManager.h>
|
||||
|
||||
#define RUN_RUNLOOP_WHILE(CONDITION) \
|
||||
{ \
|
||||
NSDate *timeout = [NSDate dateWithTimeIntervalSinceNow:5]; \
|
||||
while ((CONDITION)) { \
|
||||
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; \
|
||||
if ([timeout timeIntervalSinceNow] <= 0) { \
|
||||
XCTFail(@"Runloop timed out before condition was met"); \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
|
||||
@interface RCTUIManager ()
|
||||
|
||||
- (void)createView:(NSNumber *)reactTag
|
||||
|
@ -99,7 +88,7 @@ RCT_CUSTOM_VIEW_PROPERTY(customProp, NSString, RCTPropsTestView)
|
|||
_bridge = [[RCTBridge alloc] initWithBundleURL:[bundle URLForResource:@"UIExplorerUnitTestsBundle" withExtension:@"js"]
|
||||
moduleProvider:nil
|
||||
launchOptions:nil];
|
||||
RUN_RUNLOOP_WHILE(_bridge.isLoading);
|
||||
RCT_RUN_RUNLOOP_WHILE(_bridge.isLoading);
|
||||
}
|
||||
|
||||
- (void)testSetProps
|
||||
|
@ -123,7 +112,7 @@ RCT_CUSTOM_VIEW_PROPERTY(customProp, NSString, RCTPropsTestView)
|
|||
[uiManager setNeedsLayout];
|
||||
});
|
||||
|
||||
RUN_RUNLOOP_WHILE(view == nil);
|
||||
RCT_RUN_RUNLOOP_WHILE(view == nil);
|
||||
}
|
||||
|
||||
- (void)testResetProps
|
||||
|
@ -153,7 +142,7 @@ RCT_CUSTOM_VIEW_PROPERTY(customProp, NSString, RCTPropsTestView)
|
|||
[uiManager setNeedsLayout];
|
||||
});
|
||||
|
||||
RUN_RUNLOOP_WHILE(view == nil);
|
||||
RCT_RUN_RUNLOOP_WHILE(view == nil);
|
||||
}
|
||||
|
||||
- (void)testResetBackgroundColor
|
||||
|
@ -177,7 +166,7 @@ RCT_CUSTOM_VIEW_PROPERTY(customProp, NSString, RCTPropsTestView)
|
|||
[uiManager setNeedsLayout];
|
||||
});
|
||||
|
||||
RUN_RUNLOOP_WHILE(view == nil);
|
||||
RCT_RUN_RUNLOOP_WHILE(view == nil);
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -14,22 +14,11 @@
|
|||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
#import <RCTTest/RCTTestRunner.h>
|
||||
#import <React/RCTBridge+JavaScriptCore.h>
|
||||
#import <React/RCTBridge.h>
|
||||
#import <React/RCTDevMenu.h>
|
||||
|
||||
#define RUN_RUNLOOP_WHILE(CONDITION) \
|
||||
{ \
|
||||
NSDate *timeout = [NSDate dateWithTimeIntervalSinceNow:5]; \
|
||||
while ((CONDITION)) { \
|
||||
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; \
|
||||
if ([timeout timeIntervalSinceNow] <= 0) { \
|
||||
XCTFail(@"Runloop timed out before condition was met"); \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
|
||||
typedef void(^RCTDevMenuAlertActionHandler)(UIAlertAction *action);
|
||||
|
||||
@interface RCTDevMenu ()
|
||||
|
@ -56,7 +45,7 @@ typedef void(^RCTDevMenuAlertActionHandler)(UIAlertAction *action);
|
|||
moduleProvider:nil
|
||||
launchOptions:nil];
|
||||
|
||||
RUN_RUNLOOP_WHILE(_bridge.isLoading);
|
||||
RCT_RUN_RUNLOOP_WHILE(_bridge.isLoading);
|
||||
}
|
||||
|
||||
- (void)testShowCreatingActionSheet
|
||||
|
|
|
@ -14,17 +14,10 @@
|
|||
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
#import <RCTTest/RCTTestRunner.h>
|
||||
#import <React/RCTNetworking.h>
|
||||
#import <React/RCTUtils.h>
|
||||
|
||||
#define RUN_RUNLOOP_WHILE(CONDITION) \
|
||||
{ \
|
||||
NSDate *timeout = [NSDate dateWithTimeIntervalSinceNow:5]; \
|
||||
while ((CONDITION) && [timeout timeIntervalSinceNow] > 0) { \
|
||||
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; \
|
||||
} \
|
||||
}
|
||||
|
||||
extern BOOL RCTIsGzippedData(NSData *data);
|
||||
|
||||
@interface RCTNetworking (Private)
|
||||
|
@ -83,7 +76,7 @@ extern BOOL RCTIsGzippedData(NSData *data);
|
|||
request = _request;
|
||||
}];
|
||||
|
||||
RUN_RUNLOOP_WHILE(request == nil);
|
||||
RCT_RUN_RUNLOOP_WHILE(request == nil);
|
||||
|
||||
XCTAssertNotNil(request);
|
||||
XCTAssertNotNil(request.HTTPBody);
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#import <Foundation/Foundation.h>
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
#import <RCTTest/RCTTestRunner.h>
|
||||
#import <React/RCTBridge+Private.h>
|
||||
#import <React/RCTBridge.h>
|
||||
#import <React/RCTBridgeModule.h>
|
||||
|
@ -22,18 +23,6 @@
|
|||
#import <React/RCTUIManager.h>
|
||||
#import <React/RCTViewManager.h>
|
||||
|
||||
#define RUN_RUNLOOP_WHILE(CONDITION) \
|
||||
{ \
|
||||
NSDate *timeout = [NSDate dateWithTimeIntervalSinceNow:5]; \
|
||||
while ((CONDITION)) { \
|
||||
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; \
|
||||
if ([timeout timeIntervalSinceNow] <= 0) { \
|
||||
XCTFail(@"Runloop timed out before condition was met"); \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
|
||||
@interface RCTTestViewManager : RCTViewManager
|
||||
@end
|
||||
|
||||
|
@ -127,7 +116,7 @@ RCT_EXPORT_MODULE()
|
|||
|
||||
- (void)testViewManagerNotInitializedBeforeSetBridgeModule
|
||||
{
|
||||
RUN_RUNLOOP_WHILE(!_notificationObserver.didDetectViewManagerInit);
|
||||
RCT_RUN_RUNLOOP_WHILE(!_notificationObserver.didDetectViewManagerInit);
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -15,25 +15,13 @@
|
|||
#import <Foundation/Foundation.h>
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
#import <RCTTest/RCTTestRunner.h>
|
||||
#import <React/RCTBridge+Private.h>
|
||||
#import <React/RCTBridge.h>
|
||||
#import <React/RCTBridgeModule.h>
|
||||
#import <React/RCTJavaScriptExecutor.h>
|
||||
#import <React/RCTUtils.h>
|
||||
|
||||
#define RUN_RUNLOOP_WHILE(CONDITION) \
|
||||
{ \
|
||||
NSDate *timeout = [NSDate dateWithTimeIntervalSinceNow:5]; \
|
||||
while ((CONDITION)) { \
|
||||
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; \
|
||||
if ([timeout timeIntervalSinceNow] <= 0) { \
|
||||
XCTFail(@"Runloop timed out before condition was met"); \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
@interface RCTTestInjectedModule : NSObject <RCTBridgeModule>
|
||||
@end
|
||||
|
||||
|
@ -205,13 +193,13 @@ RCT_EXPORT_MODULE()
|
|||
XCTAssertEqual(_injectedModule, [_bridge moduleForClass:[RCTTestInjectedModule class]]);
|
||||
XCTAssertEqual(_injectedModule.bridge, _bridge.batchedBridge);
|
||||
XCTAssertNotNil(_injectedModule.methodQueue);
|
||||
RUN_RUNLOOP_WHILE(!_injectedModuleInitNotificationSent);
|
||||
RCT_RUN_RUNLOOP_WHILE(!_injectedModuleInitNotificationSent);
|
||||
XCTAssertTrue(_injectedModuleInitNotificationSent);
|
||||
}
|
||||
|
||||
- (void)testCustomInitModuleInitializedAtBridgeStartup
|
||||
{
|
||||
RUN_RUNLOOP_WHILE(!_customInitModuleNotificationSent);
|
||||
RCT_RUN_RUNLOOP_WHILE(!_customInitModuleNotificationSent);
|
||||
XCTAssertTrue(_customInitModuleNotificationSent);
|
||||
RCTTestCustomInitModule *module = [_bridge moduleForClass:[RCTTestCustomInitModule class]];
|
||||
XCTAssertTrue(module.initializedOnMainQueue);
|
||||
|
@ -228,7 +216,7 @@ RCT_EXPORT_MODULE()
|
|||
module = [self->_bridge moduleForClass:[RCTTestCustomSetBridgeModule class]];
|
||||
});
|
||||
|
||||
RUN_RUNLOOP_WHILE(!module);
|
||||
RCT_RUN_RUNLOOP_WHILE(!module);
|
||||
XCTAssertTrue(_customSetBridgeModuleNotificationSent);
|
||||
XCTAssertFalse(module.setBridgeOnMainQueue);
|
||||
XCTAssertEqual(module.bridge, _bridge.batchedBridge);
|
||||
|
@ -237,10 +225,10 @@ RCT_EXPORT_MODULE()
|
|||
|
||||
- (void)testExportConstantsModuleInitializedAtBridgeStartup
|
||||
{
|
||||
RUN_RUNLOOP_WHILE(!_exportConstantsModuleNotificationSent);
|
||||
RCT_RUN_RUNLOOP_WHILE(!_exportConstantsModuleNotificationSent);
|
||||
XCTAssertTrue(_exportConstantsModuleNotificationSent);
|
||||
RCTTestExportConstantsModule *module = [_bridge moduleForClass:[RCTTestExportConstantsModule class]];
|
||||
RUN_RUNLOOP_WHILE(!module.exportedConstants);
|
||||
RCT_RUN_RUNLOOP_WHILE(!module.exportedConstants);
|
||||
XCTAssertTrue(module.exportedConstants);
|
||||
XCTAssertTrue(module.exportedConstantsOnMainQueue);
|
||||
XCTAssertEqual(module.bridge, _bridge.batchedBridge);
|
||||
|
@ -256,7 +244,7 @@ RCT_EXPORT_MODULE()
|
|||
module = [self->_bridge moduleForClass:[RCTLazyInitModule class]];
|
||||
});
|
||||
|
||||
RUN_RUNLOOP_WHILE(!module);
|
||||
RCT_RUN_RUNLOOP_WHILE(!module);
|
||||
XCTAssertTrue(_lazyInitModuleNotificationSent);
|
||||
XCTAssertFalse(_lazyInitModuleNotificationSentOnMainQueue);
|
||||
XCTAssertNotNil(module);
|
||||
|
|
|
@ -15,6 +15,18 @@
|
|||
#define FB_REFERENCE_IMAGE_DIR ""
|
||||
#endif
|
||||
|
||||
#define RCT_RUN_RUNLOOP_WHILE(CONDITION) \
|
||||
{ \
|
||||
NSDate *timeout = [NSDate dateWithTimeIntervalSinceNow:5]; \
|
||||
while ((CONDITION)) { \
|
||||
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; \
|
||||
if ([timeout timeIntervalSinceNow] <= 0) { \
|
||||
XCTFail(@"Runloop timed out before condition was met"); \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
|
||||
/**
|
||||
* Use the RCTInitRunnerForApp macro for typical usage. See FBSnapshotTestCase.h for more information
|
||||
* on how to configure the snapshotting system.
|
||||
|
|
Loading…
Reference in New Issue