mirror of
				https://gitlab.com/ceda_ei/sonzai.git
				synced 2025-11-04 09:00:05 +01:00 
			
		
		
		
	Add boilerplate.
This commit is contained in:
		
							
								
								
									
										24
									
								
								ios/sonzaiTests/Info.plist
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								ios/sonzaiTests/Info.plist
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 | 
			
		||||
<plist version="1.0">
 | 
			
		||||
<dict>
 | 
			
		||||
	<key>CFBundleDevelopmentRegion</key>
 | 
			
		||||
	<string>en</string>
 | 
			
		||||
	<key>CFBundleExecutable</key>
 | 
			
		||||
	<string>$(EXECUTABLE_NAME)</string>
 | 
			
		||||
	<key>CFBundleIdentifier</key>
 | 
			
		||||
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
 | 
			
		||||
	<key>CFBundleInfoDictionaryVersion</key>
 | 
			
		||||
	<string>6.0</string>
 | 
			
		||||
	<key>CFBundleName</key>
 | 
			
		||||
	<string>$(PRODUCT_NAME)</string>
 | 
			
		||||
	<key>CFBundlePackageType</key>
 | 
			
		||||
	<string>BNDL</string>
 | 
			
		||||
	<key>CFBundleShortVersionString</key>
 | 
			
		||||
	<string>1.0</string>
 | 
			
		||||
	<key>CFBundleSignature</key>
 | 
			
		||||
	<string>????</string>
 | 
			
		||||
	<key>CFBundleVersion</key>
 | 
			
		||||
	<string>1</string>
 | 
			
		||||
</dict>
 | 
			
		||||
</plist>
 | 
			
		||||
							
								
								
									
										72
									
								
								ios/sonzaiTests/sonzaiTests.m
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								ios/sonzaiTests/sonzaiTests.m
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,72 @@
 | 
			
		||||
/**
 | 
			
		||||
 * 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 <UIKit/UIKit.h>
 | 
			
		||||
#import <XCTest/XCTest.h>
 | 
			
		||||
 | 
			
		||||
#import <React/RCTLog.h>
 | 
			
		||||
#import <React/RCTRootView.h>
 | 
			
		||||
 | 
			
		||||
#define TIMEOUT_SECONDS 600
 | 
			
		||||
#define TEXT_TO_LOOK_FOR @"Welcome to React"
 | 
			
		||||
 | 
			
		||||
@interface sonzaiTests : XCTestCase
 | 
			
		||||
 | 
			
		||||
@end
 | 
			
		||||
 | 
			
		||||
@implementation sonzaiTests
 | 
			
		||||
 | 
			
		||||
- (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 = [[[RCTSharedApplication() delegate] window] rootViewController];
 | 
			
		||||
  NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS];
 | 
			
		||||
  BOOL foundElement = NO;
 | 
			
		||||
 | 
			
		||||
  __block NSString *redboxError = nil;
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
  RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) {
 | 
			
		||||
    if (level >= RCTLogLevelError) {
 | 
			
		||||
      redboxError = message;
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
  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;
 | 
			
		||||
    }];
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
  RCTSetLogFunction(RCTDefaultLogFunction);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
  XCTAssertNil(redboxError, @"RedBox error: %@", redboxError);
 | 
			
		||||
  XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@end
 | 
			
		||||
		Reference in New Issue
	
	Block a user