Skip to content

Commit 80b908c

Browse files
Add some block based method tests.
1 parent 4940f56 commit 80b908c

2 files changed

Lines changed: 83 additions & 0 deletions

File tree

Project/JavaScriptBridge/JavaScriptBridge.xcodeproj/project.pbxproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
1410341B1875A6E800960F22 /* JSBUIKitTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 1410341A1875A6E800960F22 /* JSBUIKitTest.m */; };
3333
144BD82F1893892B00C7E217 /* UIView+JavaScriptBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 144BD82E1893892B00C7E217 /* UIView+JavaScriptBridge.m */; };
3434
144BD8301893892B00C7E217 /* UIView+JavaScriptBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 144BD82E1893892B00C7E217 /* UIView+JavaScriptBridge.m */; };
35+
14876D551893AFA7008622D6 /* JSBUIViewTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 14876D541893AFA7008622D6 /* JSBUIViewTest.m */; };
3536
149A45D718795D3D007C2CA7 /* ALAssetsLibrary+JavaScriptBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 149A45D618795D3D007C2CA7 /* ALAssetsLibrary+JavaScriptBridge.m */; };
3637
149A45D818795D3D007C2CA7 /* ALAssetsLibrary+JavaScriptBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 149A45D618795D3D007C2CA7 /* ALAssetsLibrary+JavaScriptBridge.m */; };
3738
149A45DB18795D64007C2CA7 /* ALAssetsGroup+JavaScriptBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 149A45DA18795D64007C2CA7 /* ALAssetsGroup+JavaScriptBridge.m */; };
@@ -174,6 +175,7 @@
174175
1410341A1875A6E800960F22 /* JSBUIKitTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JSBUIKitTest.m; sourceTree = "<group>"; };
175176
144BD82D1893892B00C7E217 /* UIView+JavaScriptBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIView+JavaScriptBridge.h"; path = "../../../Classes/Private/UIView+JavaScriptBridge.h"; sourceTree = "<group>"; };
176177
144BD82E1893892B00C7E217 /* UIView+JavaScriptBridge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIView+JavaScriptBridge.m"; path = "../../../Classes/Private/UIView+JavaScriptBridge.m"; sourceTree = "<group>"; };
178+
14876D541893AFA7008622D6 /* JSBUIViewTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JSBUIViewTest.m; sourceTree = "<group>"; };
177179
149A45D518795D3D007C2CA7 /* ALAssetsLibrary+JavaScriptBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "ALAssetsLibrary+JavaScriptBridge.h"; path = "../../../Classes/Private/ALAssetsLibrary+JavaScriptBridge.h"; sourceTree = "<group>"; };
178180
149A45D618795D3D007C2CA7 /* ALAssetsLibrary+JavaScriptBridge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "ALAssetsLibrary+JavaScriptBridge.m"; path = "../../../Classes/Private/ALAssetsLibrary+JavaScriptBridge.m"; sourceTree = "<group>"; };
179181
149A45D918795D64007C2CA7 /* ALAssetsGroup+JavaScriptBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "ALAssetsGroup+JavaScriptBridge.h"; path = "../../../Classes/Private/ALAssetsGroup+JavaScriptBridge.h"; sourceTree = "<group>"; };
@@ -1161,6 +1163,7 @@
11611163
isa = PBXGroup;
11621164
children = (
11631165
1410341A1875A6E800960F22 /* JSBUIKitTest.m */,
1166+
14876D541893AFA7008622D6 /* JSBUIViewTest.m */,
11641167
);
11651168
name = UIKit;
11661169
path = ../../../Tests/UIKit;
@@ -2490,6 +2493,7 @@
24902493
149D9F0C187595BC00129B4B /* JSBAddressBookUI.m in Sources */,
24912494
149D979318758B0100129B4B /* JavaScriptBridgeTests.m in Sources */,
24922495
149D9F7618759C8100129B4B /* JSBCoreImageTest.m in Sources */,
2496+
14876D551893AFA7008622D6 /* JSBUIViewTest.m in Sources */,
24932497
149D9F32187595BC00129B4B /* JSBMultipeerConnectivity.m in Sources */,
24942498
149D9F10187595BC00129B4B /* JSBCoreBluetooth.m in Sources */,
24952499
14A04515187817E4004831E8 /* UIControl+JavaScriptBridge.m in Sources */,

Tests/UIKit/JSBUIViewTest.m

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
//
2+
// JSBUIViewTest.m
3+
// JavaScriptBridge
4+
//
5+
// Created by kishikawa katsumi on 2014/01/25.
6+
// Copyright (c) 2014 kishikawa katsumi. All rights reserved.
7+
//
8+
9+
#import <XCTest/XCTest.h>
10+
#import "JavaScriptBridge.h"
11+
12+
@interface JSBUIViewTest : XCTestCase
13+
14+
@end
15+
16+
@implementation JSBUIViewTest
17+
18+
- (void)setUp
19+
{
20+
[super setUp];
21+
}
22+
23+
- (void)tearDown
24+
{
25+
[super tearDown];
26+
}
27+
28+
- (void)testExample
29+
{
30+
JSContext *context = [[JSContext alloc] init];
31+
[context addScriptingSupport:@"UIKit"];
32+
33+
JSValue *value = nil;
34+
35+
[context evaluateScript:@"var view = UIView.new();"];
36+
37+
[context evaluateScript:@"UIView.performWithoutAnimation(view); var a = UIView.new();"];
38+
value = context[@"a"];
39+
XCTAssertTrue(value && !value.isUndefined);
40+
41+
[context evaluateScript:@"UIView.animateWithDurationDelayOptionsAnimationsCompletion(0.5, 1.0, 0, function() {}, function(sucess) {}); var b = UIView.new();"];
42+
value = context[@"b"];
43+
XCTAssertTrue(value && !value.isUndefined);
44+
45+
[context evaluateScript:@"UIView.animateWithDurationAnimationsCompletion(0.5, function() {}, function(sucess) {}); var c = UIView.new();"];
46+
value = context[@"c"];
47+
XCTAssertTrue(value && !value.isUndefined);
48+
49+
[context evaluateScript:@"UIView.animateWithDurationAnimations(0.5, function() {}); var d = UIView.new();"];
50+
value = context[@"d"];
51+
XCTAssertTrue(value && !value.isUndefined);
52+
53+
[context evaluateScript:@"UIView.animateWithDurationDelayUsingSpringWithDampingInitialSpringVelocityOptionsAnimationsCompletion(0.5, 1.0, 0.5, 0.5, 0, function() {}, function(sucess) {}); var e = UIView.new();"];
54+
value = context[@"e"];
55+
XCTAssertTrue(value && !value.isUndefined);
56+
57+
[context evaluateScript:@"UIView.transitionWithViewDurationOptionsAnimationsCompletion(view, 0.5, 0, function() {}, function(sucess) {}); var f = UIView.new();"];
58+
value = context[@"f"];
59+
XCTAssertTrue(value && !value.isUndefined);
60+
61+
[context evaluateScript:@"UIView.transitionFromViewToViewDurationOptionsCompletion(view, UIView.new(), 0.5, 0, function(sucess) {}); var g = UIView.new();"];
62+
value = context[@"g"];
63+
XCTAssertTrue(value && !value.isUndefined);
64+
65+
[context evaluateScript:@"UIView.performSystemAnimationOnViewsOptionsAnimationsCompletion(0, [view], 0.5, 0, function(sucess) {}); var h = UIView.new();"];
66+
value = context[@"h"];
67+
XCTAssertTrue(value && !value.isUndefined);
68+
69+
[context evaluateScript:@"UIView.animateKeyframesWithDurationDelayOptionsAnimationsCompletion(0.5, 1.0, 0, function() {}, function(sucess) {}); var i = UIView.new();"];
70+
value = context[@"i"];
71+
XCTAssertTrue(value && !value.isUndefined);
72+
#if 0
73+
[context evaluateScript:@"UIView.addKeyframeWithRelativeStartTimeRelativeDurationAnimations(0.0, 1.0, function() {}); var j = UIView.new();"];
74+
value = context[@"j"];
75+
XCTAssertTrue(value && !value.isUndefined);
76+
#endif
77+
}
78+
79+
@end

0 commit comments

Comments
 (0)