mirror of
https://github.com/status-im/react-native-tcp.git
synced 2025-03-01 02:10:27 +00:00
Updated the Readme (use rnpm when linking) Updated the android project structure to work with rnpm Rebuilt the RctSockets Sample to display the socket lifecycle Updated RctSockets to the latest react-native in the sample (0.27.2)
71 lines
2.0 KiB
Objective-C
71 lines
2.0 KiB
Objective-C
/**
|
|
* 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 <UIKit/UIKit.h>
|
|
#import <XCTest/XCTest.h>
|
|
|
|
#import "RCTLog.h"
|
|
#import "RCTRootView.h"
|
|
|
|
#define TIMEOUT_SECONDS 600
|
|
#define TEXT_TO_LOOK_FOR @"Welcome to React Native!"
|
|
|
|
@interface RctSocketsTests : XCTestCase
|
|
|
|
@end
|
|
|
|
@implementation RctSocketsTests
|
|
|
|
- (BOOL)findSubviewInView:(UIView *)view matching:(BOOL(^)(UIView *view))test
|
|
{
|
|
if (test(view)) {
|
|
return YES;
|
|
}
|
|
for (UIView *subview in [view subviews]) {
|
|
if ([self findSubviewInView:subview matching:test]) {
|
|
return YES;
|
|
}
|
|
}
|
|
return NO;
|
|
}
|
|
|
|
- (void)testRendersWelcomeScreen
|
|
{
|
|
UIViewController *vc = [[[[UIApplication sharedApplication] delegate] window] rootViewController];
|
|
NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS];
|
|
BOOL foundElement = NO;
|
|
|
|
__block NSString *redboxError = nil;
|
|
RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) {
|
|
if (level >= RCTLogLevelError) {
|
|
redboxError = message;
|
|
}
|
|
});
|
|
|
|
while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) {
|
|
[[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
|
|
[[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
|
|
|
|
foundElement = [self findSubviewInView:vc.view matching:^BOOL(UIView *view) {
|
|
if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) {
|
|
return YES;
|
|
}
|
|
return NO;
|
|
}];
|
|
}
|
|
|
|
RCTSetLogFunction(RCTDefaultLogFunction);
|
|
|
|
XCTAssertNil(redboxError, @"RedBox error: %@", redboxError);
|
|
XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS);
|
|
}
|
|
|
|
|
|
@end
|