Adding CI.
This commit is contained in:
parent
ff5e6a3ed5
commit
1eccea65f8
|
|
@ -0,0 +1,10 @@
|
|||
language: objective-c
|
||||
|
||||
osx_image: xcode6.4
|
||||
xcode_sdk: iphonesimulator8.4
|
||||
|
||||
notifications:
|
||||
email: false
|
||||
|
||||
|
||||
script: ./scripts/pre-release-tests.sh
|
||||
|
|
@ -1,4 +1,2 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<playground version='5.0' target-platform='osx' requires-full-environment='true' display-mode='rendered'>
|
||||
<timeline fileName='timeline.xctimeline'/>
|
||||
</playground>
|
||||
<playground version='5.0' target-platform='osx' requires-full-environment='true' display-mode='rendered'/>
|
||||
|
|
@ -171,7 +171,6 @@
|
|||
C8297F511B6CF94B000589EA /* SchedulerServices+Emulation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8297EE01B6CF94B000589EA /* SchedulerServices+Emulation.swift */; };
|
||||
C8297F521B6CF94B000589EA /* SerialDispatchQueueScheduler.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8297EE11B6CF94B000589EA /* SerialDispatchQueueScheduler.swift */; };
|
||||
C8297F531B6CF94B000589EA /* DispatchQueueSchedulerPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8297EE21B6CF94B000589EA /* DispatchQueueSchedulerPriority.swift */; };
|
||||
C8297F541B6CF94B000589EA /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = C8297EE41B6CF94B000589EA /* Info.plist */; };
|
||||
C8297FA21B6CF953000589EA /* RxCLLocationManagerDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8297F551B6CF953000589EA /* RxCLLocationManagerDelegateProxy.swift */; };
|
||||
C8297FA31B6CF953000589EA /* ControlTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8297F571B6CF953000589EA /* ControlTarget.swift */; };
|
||||
C8297FA41B6CF953000589EA /* Deallocating.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8297F581B6CF953000589EA /* Deallocating.swift */; };
|
||||
|
|
@ -226,7 +225,6 @@
|
|||
C8297FDA1B6CF953000589EA /* UIAlertView+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8297F9A1B6CF953000589EA /* UIAlertView+Rx.swift */; };
|
||||
C8297FDB1B6CF953000589EA /* UISegmentedControl+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8297F9B1B6CF953000589EA /* UISegmentedControl+Rx.swift */; };
|
||||
C8297FDC1B6CF953000589EA /* UISwitch+Rx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8297F9C1B6CF953000589EA /* UISwitch+Rx.swift */; };
|
||||
C8297FDD1B6CF953000589EA /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = C8297F9F1B6CF953000589EA /* Info.plist */; };
|
||||
C83367231AD029AE00C668A7 /* Example.swift in Sources */ = {isa = PBXBuildFile; fileRef = C833670F1AD029AE00C668A7 /* Example.swift */; };
|
||||
C83367241AD029AE00C668A7 /* HtmlParsing.swift in Sources */ = {isa = PBXBuildFile; fileRef = C83367111AD029AE00C668A7 /* HtmlParsing.swift */; };
|
||||
C83367251AD029AE00C668A7 /* ImageService.swift in Sources */ = {isa = PBXBuildFile; fileRef = C83367121AD029AE00C668A7 /* ImageService.swift */; };
|
||||
|
|
@ -460,7 +458,7 @@
|
|||
C8297F5D1B6CF953000589EA /* NSObject+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = "NSObject+Rx.swift"; sourceTree = "<group>"; };
|
||||
C8297F5E1B6CF953000589EA /* NSObject+Rx+CoreGraphics.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = "NSObject+Rx+CoreGraphics.swift"; sourceTree = "<group>"; };
|
||||
C8297F5F1B6CF953000589EA /* NSNotificationCenter+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = "NSNotificationCenter+Rx.swift"; sourceTree = "<group>"; };
|
||||
C8297F601B6CF953000589EA /* NSURLSession+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = "NSURLSession+Rx.swift"; sourceTree = "<group>"; };
|
||||
C8297F601B6CF953000589EA /* NSURLSession+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = "NSURLSession+Rx.swift"; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
|
||||
C8297F621B6CF953000589EA /* CLLocationManager+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = "CLLocationManager+Rx.swift"; sourceTree = "<group>"; };
|
||||
C8297F631B6CF953000589EA /* DelegateProxy.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = DelegateProxy.swift; sourceTree = "<group>"; };
|
||||
C8297F641B6CF953000589EA /* DelegateProxyType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = DelegateProxyType.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -511,7 +509,7 @@
|
|||
C8297F9C1B6CF953000589EA /* UISwitch+Rx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = "UISwitch+Rx.swift"; sourceTree = "<group>"; };
|
||||
C8297F9E1B6CF953000589EA /* RxCocoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RxCocoa.h; sourceTree = "<group>"; };
|
||||
C8297F9F1B6CF953000589EA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
C83366DD1AD0293800C668A7 /* RxExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RxExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
C83366DD1AD0293800C668A7 /* RxExample-iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "RxExample-iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
C833670F1AD029AE00C668A7 /* Example.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Example.swift; sourceTree = "<group>"; };
|
||||
C83367111AD029AE00C668A7 /* HtmlParsing.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HtmlParsing.swift; sourceTree = "<group>"; };
|
||||
C83367121AD029AE00C668A7 /* ImageService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageService.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -1003,7 +1001,7 @@
|
|||
C83366DE1AD0293800C668A7 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
C83366DD1AD0293800C668A7 /* RxExample.app */,
|
||||
C83366DD1AD0293800C668A7 /* RxExample-iOS.app */,
|
||||
C88BB8DC1B07E6C90064D411 /* RxExample.app */,
|
||||
C8297E691B6CF905000589EA /* RxExample-iOS-no-module.app */,
|
||||
);
|
||||
|
|
@ -1226,7 +1224,7 @@
|
|||
);
|
||||
name = "RxExample-iOS";
|
||||
productName = RxExample;
|
||||
productReference = C83366DD1AD0293800C668A7 /* RxExample.app */;
|
||||
productReference = C83366DD1AD0293800C668A7 /* RxExample-iOS.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
C88BB8B91B07E6C90064D411 /* RxExample-OSX */ = {
|
||||
|
|
@ -1287,9 +1285,7 @@
|
|||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C8297F541B6CF94B000589EA /* Info.plist in Resources */,
|
||||
C8297E5D1B6CF905000589EA /* WikipediaSearchCell.xib in Resources */,
|
||||
C8297FDD1B6CF953000589EA /* Info.plist in Resources */,
|
||||
C8297E5E1B6CF905000589EA /* LaunchScreen.xib in Resources */,
|
||||
C8297F181B6CF94B000589EA /* CombineLatest+arity.tt in Resources */,
|
||||
C8297E5F1B6CF905000589EA /* WikipediaImageCell.xib in Resources */,
|
||||
|
|
@ -1743,6 +1739,7 @@
|
|||
IPHONEOS_DEPLOYMENT_TARGET = 8.1;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
OTHER_LDFLAGS = "-objc_loadall";
|
||||
PRODUCT_NAME = "RxExample-iOS";
|
||||
SDKROOT = iphoneos;
|
||||
};
|
||||
name = Debug;
|
||||
|
|
@ -1754,6 +1751,7 @@
|
|||
IPHONEOS_DEPLOYMENT_TARGET = 8.1;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
OTHER_LDFLAGS = "-objc_loadall";
|
||||
PRODUCT_NAME = "RxExample-iOS";
|
||||
SDKROOT = iphoneos;
|
||||
};
|
||||
name = Release;
|
||||
|
|
@ -1829,6 +1827,7 @@
|
|||
IPHONEOS_DEPLOYMENT_TARGET = 8.1;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
OTHER_LDFLAGS = "-objc_loadall";
|
||||
PRODUCT_NAME = "RxExample-iOS";
|
||||
SDKROOT = iphoneos;
|
||||
};
|
||||
name = "Release-Tests";
|
||||
|
|
|
|||
|
|
@ -0,0 +1,88 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0640"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C88BB8B91B07E6C90064D411"
|
||||
BuildableName = "RxExample.app"
|
||||
BlueprintName = "RxExample-OSX"
|
||||
ReferencedContainer = "container:RxExample.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Debug">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C88BB8B91B07E6C90064D411"
|
||||
BuildableName = "RxExample.app"
|
||||
BlueprintName = "RxExample-OSX"
|
||||
ReferencedContainer = "container:RxExample.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Debug"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C88BB8B91B07E6C90064D411"
|
||||
BuildableName = "RxExample.app"
|
||||
BlueprintName = "RxExample-OSX"
|
||||
ReferencedContainer = "container:RxExample.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C88BB8B91B07E6C90064D411"
|
||||
BuildableName = "RxExample.app"
|
||||
BlueprintName = "RxExample-OSX"
|
||||
ReferencedContainer = "container:RxExample.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0640"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C8297E2D1B6CF905000589EA"
|
||||
BuildableName = "RxExample-iOS-no-module.app"
|
||||
BlueprintName = "RxExample-iOS-no-module"
|
||||
ReferencedContainer = "container:RxExample.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Debug">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C8297E2D1B6CF905000589EA"
|
||||
BuildableName = "RxExample-iOS-no-module.app"
|
||||
BlueprintName = "RxExample-iOS-no-module"
|
||||
ReferencedContainer = "container:RxExample.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Debug"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C8297E2D1B6CF905000589EA"
|
||||
BuildableName = "RxExample-iOS-no-module.app"
|
||||
BlueprintName = "RxExample-iOS-no-module"
|
||||
ReferencedContainer = "container:RxExample.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C8297E2D1B6CF905000589EA"
|
||||
BuildableName = "RxExample-iOS-no-module.app"
|
||||
BlueprintName = "RxExample-iOS-no-module"
|
||||
ReferencedContainer = "container:RxExample.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0640"
|
||||
version = "1.8">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C83366DC1AD0293800C668A7"
|
||||
BuildableName = "RxExample-iOS.app"
|
||||
BlueprintName = "RxExample-iOS"
|
||||
ReferencedContainer = "container:RxExample.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Debug">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C83366DC1AD0293800C668A7"
|
||||
BuildableName = "RxExample-iOS.app"
|
||||
BlueprintName = "RxExample-iOS"
|
||||
ReferencedContainer = "container:RxExample.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Debug"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C83366DC1AD0293800C668A7"
|
||||
BuildableName = "RxExample-iOS.app"
|
||||
BlueprintName = "RxExample-iOS"
|
||||
ReferencedContainer = "container:RxExample.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
<AdditionalOption
|
||||
key = "NSZombieEnabled"
|
||||
value = "YES"
|
||||
isEnabled = "YES">
|
||||
</AdditionalOption>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C83366DC1AD0293800C668A7"
|
||||
BuildableName = "RxExample-iOS.app"
|
||||
BlueprintName = "RxExample-iOS"
|
||||
ReferencedContainer = "container:RxExample.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
|
|
@ -201,7 +201,7 @@ class RecursiveImmediateSchedulerOf<State> : Disposable {
|
|||
})
|
||||
}
|
||||
|
||||
public func dispose() {
|
||||
func dispose() {
|
||||
self.lock.performLocked {
|
||||
self.action = nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -271,12 +271,12 @@ extension ObservableTimeTest {
|
|||
let start = NSDate()
|
||||
|
||||
let a = concat(from([just(0), never()]))
|
||||
>- throttle(0.5, scheduler)
|
||||
>- throttle(2, scheduler)
|
||||
>- first
|
||||
|
||||
let end = NSDate()
|
||||
|
||||
XCTAssertEqualWithAccuracy(0.5, end.timeIntervalSinceDate(start), 0.15)
|
||||
XCTAssertEqualWithAccuracy(2, end.timeIntervalSinceDate(start), 0.5)
|
||||
XCTAssertEqual(a.get()!, 0)
|
||||
}
|
||||
}
|
||||
|
|
@ -813,13 +813,13 @@ extension ObservableTimeTest {
|
|||
|
||||
let start = NSDate()
|
||||
|
||||
let a = interval(0.5, scheduler)
|
||||
let a = interval(1, scheduler)
|
||||
>- take(2)
|
||||
>- toArray
|
||||
|
||||
let end = NSDate()
|
||||
|
||||
XCTAssertEqualWithAccuracy(1, end.timeIntervalSinceDate(start), 0.15)
|
||||
XCTAssertEqualWithAccuracy(2, end.timeIntervalSinceDate(start), 0.3)
|
||||
XCTAssertEqual(a.get(), [0, 1])
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,96 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0640"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "NO"
|
||||
buildForArchiving = "NO"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C88BB88F1B07E64B0064D411"
|
||||
BuildableName = "RxTests.xctest"
|
||||
BlueprintName = "RxTests-OSX"
|
||||
ReferencedContainer = "container:RxTests.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Release">
|
||||
<Testables>
|
||||
<TestableReference
|
||||
skipped = "NO">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C88BB88F1B07E64B0064D411"
|
||||
BuildableName = "RxTests.xctest"
|
||||
BlueprintName = "RxTests-OSX"
|
||||
ReferencedContainer = "container:RxTests.xcodeproj">
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C88BB88F1B07E64B0064D411"
|
||||
BuildableName = "RxTests.xctest"
|
||||
BlueprintName = "RxTests-OSX"
|
||||
ReferencedContainer = "container:RxTests.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Debug"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C88BB88F1B07E64B0064D411"
|
||||
BuildableName = "RxTests.xctest"
|
||||
BlueprintName = "RxTests-OSX"
|
||||
ReferencedContainer = "container:RxTests.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C88BB88F1B07E64B0064D411"
|
||||
BuildableName = "RxTests.xctest"
|
||||
BlueprintName = "RxTests-OSX"
|
||||
ReferencedContainer = "container:RxTests.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0640"
|
||||
version = "1.8">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "NO"
|
||||
buildForArchiving = "NO"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C811081F1AF50E11001C13E4"
|
||||
BuildableName = "RxTests.xctest"
|
||||
BlueprintName = "RxTests-iOS"
|
||||
ReferencedContainer = "container:RxTests.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Debug">
|
||||
<Testables>
|
||||
<TestableReference
|
||||
skipped = "NO">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C811081F1AF50E11001C13E4"
|
||||
BuildableName = "RxTests.xctest"
|
||||
BlueprintName = "RxTests-iOS"
|
||||
ReferencedContainer = "container:RxTests.xcodeproj">
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C811081F1AF50E11001C13E4"
|
||||
BuildableName = "RxTests.xctest"
|
||||
BlueprintName = "RxTests-iOS"
|
||||
ReferencedContainer = "container:RxTests.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release-Tests"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C811081F1AF50E11001C13E4"
|
||||
BuildableName = "RxTests.xctest"
|
||||
BlueprintName = "RxTests-iOS"
|
||||
ReferencedContainer = "container:RxTests.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "C811081F1AF50E11001C13E4"
|
||||
BuildableName = "RxTests.xctest"
|
||||
BlueprintName = "RxTests-iOS"
|
||||
ReferencedContainer = "container:RxTests.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
|
||||
set -e
|
||||
NUM_OF_TESTS=14
|
||||
CURRENT_DIR="$( dirname "${BASH_SOURCE[0]}" )"
|
||||
BUILD_DIRECTORY=$TMPDIR/build
|
||||
APP=RxExample
|
||||
CONFIGURATIONS="Debug Release-Tests Release"
|
||||
SIMULATORS="RxSwiftTest-iPhone4s-iOS_8.4 RxSwiftTest-iPhone5-iOS_8.4 RxSwiftTest-iPhone5s-iOS_8.4 RxSwiftTest-iPhone6-iOS_8.4 RxSwiftTest-iPhone6Plus-iOS_8.4 RxSwiftTest-iPhone4s-iOS_8.1 RxSwiftTest-iPhone5-iOS_8.1 RxSwiftTest-iPhone5s-iOS_8.1 RxSwiftTest-iPhone6-iOS_8.1 RxSwiftTest-iPhone6Plus-iOS_8.1"
|
||||
|
||||
open $TMPDIR
|
||||
|
||||
cd $CURRENT_DIR
|
||||
|
||||
. scripts/common.sh
|
||||
|
||||
echo "(Rx root ${CURRENT_DIR})"
|
||||
|
||||
cd "${CURRENT_DIR}"
|
||||
|
||||
CURRENT_DIR=`pwd`
|
||||
|
||||
function runAutomation() {
|
||||
SIMULATOR=$1
|
||||
CONFIGURATION=$2
|
||||
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
printf "${GREEN}Building example for automation ${BOLDCYAN}${SIMULATOR} - ${CONFIGURATION}${RESET}"
|
||||
echo
|
||||
|
||||
OS=`echo $SIMULATOR| cut -d'_' -f 2`
|
||||
xcodebuild -workspace Rx.xcworkspace -scheme RxExample-iOS -derivedDataPath ${BUILD_DIRECTORY} -configuration ${CONFIGURATION} -destination platform='iOS Simulator',OS="${OS}",name="${SIMULATOR}" build > /dev/null
|
||||
|
||||
echo
|
||||
printf "${GREEN}Quitting iOS Simulator ...${RESET}"
|
||||
echo
|
||||
|
||||
osascript -e 'quit app "iOS Simulator.app"' > /dev/null
|
||||
|
||||
echo
|
||||
printf "${GREEN}Firing up simulator ${BOLDCYAN}${SIMULATOR}${GREEN}...${RESET}\n"
|
||||
echo
|
||||
|
||||
xcrun instruments -w ${SIMULATOR} > /dev/null 2>&1 || echo
|
||||
|
||||
echo
|
||||
printf "${GREEN}Installing the app ...${RESET}\n"
|
||||
echo
|
||||
|
||||
xcrun simctl install ${SIMULATOR} ${BUILD_DIRECTORY}/Build/Products/${CONFIGURATION}-iphonesimulator/${APP}.app
|
||||
|
||||
pushd $TMPDIR
|
||||
rm -rf instrumentscli0.trace || echo
|
||||
echo
|
||||
printf "${GREEN}Running instruments ...${RESET}\n"
|
||||
echo
|
||||
|
||||
instruments -w ${SIMULATOR} -t Automation ${APP} -e UIASCRIPT $CURRENT_DIR/automation-tests/main.js > $TMPDIR/output.txt #|| (open instrumentscli0.trace; exit -1;)
|
||||
COUNT=`grep Pass: $TMPDIR/output.txt | wc -l`
|
||||
|
||||
if [ "$COUNT" -lt "$NUM_OF_TESTS" ]; then
|
||||
echo
|
||||
printf "${RED}${SIMULATOR} - ${CONFIGURATION} tests do not passes${RESET}"
|
||||
echo
|
||||
printf "${RED}Pases ${COUNT} tests of ${NUM_OF_TESTS} ${RESET}"
|
||||
echo
|
||||
open ./instrumentscli0.trace;
|
||||
exit;
|
||||
fi
|
||||
popd
|
||||
}
|
||||
|
||||
for simulator in ${SIMULATORS}
|
||||
do
|
||||
for configuration in ${CONFIGURATIONS}
|
||||
do
|
||||
runAutomation ${simulator} ${configuration}
|
||||
done
|
||||
done
|
||||
|
|
@ -1,72 +0,0 @@
|
|||
|
||||
|
||||
test("----- githubSignUp -----", function (check, pass) {
|
||||
|
||||
UIATarget.onAlert = function(alert){
|
||||
UIATarget.localTarget().frontMostApp().alert().buttons()["Cancel"].tap();
|
||||
UIATarget.localTarget().frontMostApp().navigationBar().leftButton().tap();
|
||||
|
||||
pass()
|
||||
return false;
|
||||
}
|
||||
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().tableViews()[0].cells()[0].tapWithOptions({tapOffset:{x:0.24, y:0.20}});
|
||||
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].tap();
|
||||
// UIATarget.localTarget().frontMostApp().keyboard().typeString("rxrevolution"); // fails if software keyboard is disabled
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("r");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rx");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxr");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxre");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxrev");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxrevo");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxrevol");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxrevolu");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxrevolut");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxrevoluti");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxrevolutio");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].setValue("rxrevolution");
|
||||
|
||||
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].tap();
|
||||
// UIATarget.localTarget().frontMostApp().keyboard().typeString("mypassword"); // fails if software keyboard is disabled
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("m");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("my");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("myp");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("mypa");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("mypas");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("mypass");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("mypassw");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("mypasswo");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("mypasswor");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].setValue("mypassword");
|
||||
|
||||
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].tap();
|
||||
// UIATarget.localTarget().frontMostApp().keyboard().typeString("mypassword"); // fails if software keyboard is disabled
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("m");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("my");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("myp");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("mypa");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("mypas");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("mypass");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("mypassw");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("mypasswo");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("mypasswor");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].setValue("mypassword");
|
||||
|
||||
UIATarget.localTarget().tap({x:14.50, y:80.00});
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().buttons()["Sign up"].tap();
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
|
||||
|
||||
test("----- searchWikipedia -----", function (check, pass) {
|
||||
|
||||
var width = UIATarget.localTarget().frontMostApp().mainWindow().rect().size.width
|
||||
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().tableViews()[0].cells()[1].tap();
|
||||
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].tap();
|
||||
// UIATarget.localTarget().frontMostApp().keyboard().typeString("banana"); // fails if software keyboard is disabled
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("b");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("ba");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("ban");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("bana");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("banan");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("banana");
|
||||
UIATarget.localTarget().delay(2);
|
||||
|
||||
UIATarget.localTarget().tap({x:width - 40, y:43});
|
||||
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].tap();
|
||||
// UIATarget.localTarget().frontMostApp().keyboard().typeString("Yosemite"); // fails if software keyboard is disabled
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("Y");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("Yo");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("Yos");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("Yose");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("Yosem");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("Yosemi");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("Yosemit");
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].setValue("Yosemite");
|
||||
UIATarget.localTarget().delay(2);
|
||||
|
||||
|
||||
UIATarget.localTarget().tap({x:width - 40, y:43});
|
||||
UIATarget.localTarget().frontMostApp().navigationBar().leftButton().tap();
|
||||
|
||||
pass()
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
#!/bin/bash
|
||||
|
||||
|
||||
set -e
|
||||
NUM_OF_TESTS=14
|
||||
CURRENT_DIR="$( dirname "${BASH_SOURCE[0]}" )"
|
||||
BUILD_DIRECTORY=build
|
||||
APP=RxExample
|
||||
CONFIGURATIONS="Debug Release-Tests Release"
|
||||
#SIMULATORS="RxSwiftTest-iPhone4s-iOS_8.4 RxSwiftTest-iPhone5-iOS_8.4 RxSwiftTest-iPhone5s-iOS_8.4 RxSwiftTest-iPhone6-iOS_8.4 RxSwiftTest-iPhone6Plus-iOS_8.4 RxSwiftTest-iPhone4s-iOS_8.1 RxSwiftTest-iPhone5-iOS_8.1 RxSwiftTest-iPhone5s-iOS_8.1 RxSwiftTest-iPhone6-iOS_8.1 RxSwiftTest-iPhone6Plus-iOS_8.1"
|
||||
IOS7_SIMULATORS="RxSwiftTest-iPhone4s-iOS_7.1 RxSwiftTest-iPhone5-iOS_7.1 RxSwiftTest-iPhone5s-iOS_7.1"
|
||||
IOS8_SIMULATORS="RxSwiftTest-iPhone4s-iOS_8.4 RxSwiftTest-iPhone5-iOS_8.4 RxSwiftTest-iPhone5s-iOS_8.4 RxSwiftTest-iPhone6-iOS_8.4 RxSwiftTest-iPhone6Plus-iOS_8.4"
|
||||
|
||||
#open $TMPDIR
|
||||
|
||||
. scripts/common.sh
|
||||
|
||||
cd "${CURRENT_DIR}/.."
|
||||
|
||||
ROOT=`pwd`
|
||||
BUILD_DIRECTORY="${ROOT}/build"
|
||||
|
||||
function runAutomation() {
|
||||
SIMULATOR=$1
|
||||
CONFIGURATION=$2
|
||||
SCHEME=$3
|
||||
|
||||
APP="${SCHEME}"
|
||||
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
echo
|
||||
printf "${GREEN}Building example for automation ${BOLDCYAN}${SIMULATOR} - ${CONFIGURATION}${RESET}"
|
||||
echo
|
||||
|
||||
OS=`echo $SIMULATOR| cut -d'_' -f 2`
|
||||
xcodebuild -workspace Rx.xcworkspace -scheme ${SCHEME} -derivedDataPath ${BUILD_DIRECTORY} -configuration ${CONFIGURATION} -destination platform='iOS Simulator',OS="${OS}",name="${SIMULATOR}" build | xcpretty -c
|
||||
|
||||
echo
|
||||
printf "${GREEN}Quitting iOS Simulator ...${RESET}"
|
||||
echo
|
||||
|
||||
osascript -e 'quit app "iOS Simulator.app"' > /dev/null
|
||||
|
||||
echo
|
||||
printf "${GREEN}Firing up simulator ${BOLDCYAN}${SIMULATOR}${GREEN}...${RESET}\n"
|
||||
echo
|
||||
|
||||
xcrun instruments -w ${SIMULATOR} > /dev/null 2>&1 || echo
|
||||
|
||||
echo
|
||||
APP_PATH="${BUILD_DIRECTORY}/Build/Products/${CONFIGURATION}-iphonesimulator/${APP}.app"
|
||||
printf "${GREEN}Installing the app ${BOLDCYAN}'${APP_PATH}'${GREEN} ...${RESET}\n"
|
||||
echo
|
||||
|
||||
xcrun simctl install ${SIMULATOR} "${APP_PATH}"
|
||||
|
||||
pushd $TMPDIR
|
||||
rm -rf instrumentscli0.trace || echo
|
||||
echo
|
||||
printf "${GREEN}Running instruments ${BOLDCYAN}'${APP}'${GREEN}...${RESET}\n"
|
||||
echo
|
||||
|
||||
OUTPUT="${TMPDIR}/output.txt"
|
||||
instruments -w ${SIMULATOR} -t Automation "${APP_PATH}" -e UIASCRIPT "${ROOT}/scripts/automation-tests/main.js" | tee "${OUTPUT}" #| grep "Pass" #|| (open instrumentscli0.trace; exit -1;)
|
||||
COUNT=`grep Pass: "$TMPDIR/output.txt" | wc -l`
|
||||
|
||||
if [ "$COUNT" -lt "$NUM_OF_TESTS" ]; then
|
||||
echo
|
||||
printf "${RED}${SIMULATOR} - ${CONFIGURATION} tests do not pass${RESET}"
|
||||
echo
|
||||
cat "${OUTPUT}"
|
||||
echo
|
||||
printf "${RED}Only ${COUNT} of ${NUM_OF_TESTS} pass ${RESET}"
|
||||
echo
|
||||
open ./instrumentscli0.trace;
|
||||
exit -1;
|
||||
fi
|
||||
popd
|
||||
}
|
||||
|
||||
# ios 7
|
||||
for simulator in ${IOS7_SIMULATORS}
|
||||
do
|
||||
for configuration in ${CONFIGURATIONS}
|
||||
do
|
||||
runAutomation ${simulator} ${configuration} "RxExample-iOS-no-module"
|
||||
done
|
||||
done
|
||||
|
||||
# ios 8
|
||||
for simulator in ${IOS8_SIMULATORS}
|
||||
do
|
||||
for configuration in ${CONFIGURATIONS}
|
||||
do
|
||||
runAutomation ${simulator} ${configuration} "RxExample-iOS"
|
||||
done
|
||||
done
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
|
||||
|
||||
test("----- githubSignUp -----", function (check, pass) {
|
||||
|
||||
UIATarget.onAlert = function(alert){
|
||||
UIATarget.localTarget().frontMostApp().alert().buttons()["Cancel"].tap();
|
||||
UIATarget.localTarget().frontMostApp().navigationBar().leftButton().tap();
|
||||
|
||||
pass()
|
||||
return false;
|
||||
}
|
||||
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().tableViews()[0].cells()[0].tapWithOptions({tapOffset:{x:0.24, y:0.20}});
|
||||
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0].tap();
|
||||
writeInElement(UIATarget.localTarget().frontMostApp().mainWindow().textFields()[0], "rxrevolution")
|
||||
|
||||
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0].tap();
|
||||
writeInElement(UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[0], "mypassword")
|
||||
|
||||
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1].tap();
|
||||
writeInElement(UIATarget.localTarget().frontMostApp().mainWindow().secureTextFields()[1], "mypassword")
|
||||
|
||||
UIATarget.localTarget().tap({x:14.50, y:80.00});
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().buttons()["Sign up"].tap();
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
|
||||
|
||||
test("----- searchWikipedia -----", function (check, pass) {
|
||||
|
||||
var width = UIATarget.localTarget().frontMostApp().mainWindow().rect().size.width
|
||||
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().tableViews()[0].cells()[1].tap();
|
||||
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].tap();
|
||||
writeInElement(UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0], "banana")
|
||||
UIATarget.localTarget().delay(2);
|
||||
|
||||
UIATarget.localTarget().tap({x:width - 40, y:43});
|
||||
|
||||
UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0].tap();
|
||||
writeInElement(UIATarget.localTarget().frontMostApp().mainWindow().searchBars()[0].searchBars()[0], "Yosemite")
|
||||
UIATarget.localTarget().delay(2);
|
||||
|
||||
|
||||
UIATarget.localTarget().tap({x:width - 40, y:43});
|
||||
UIATarget.localTarget().frontMostApp().navigationBar().leftButton().tap();
|
||||
|
||||
pass()
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -47,5 +47,11 @@ function sleep(time) {
|
|||
UIATarget.localTarget().delay(time);
|
||||
}
|
||||
|
||||
function writeInElement(element, text) {
|
||||
var char
|
||||
for (var i = 1; i < text.length + 1; i++) {
|
||||
element.setValue(text.substring(0, i));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1,17 +1,6 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
CLEAN=""
|
||||
|
||||
if [ "$#" -eq 1 ]; then
|
||||
echo "Not cleaning up"
|
||||
CLEAN=" clean "
|
||||
else
|
||||
echo "Cleaning up first"
|
||||
fi
|
||||
|
||||
echo "CLEAN=${CLEAN}"
|
||||
|
||||
RESET="\033[0m"
|
||||
BLACK="\033[30m"
|
||||
RED="\033[31m"
|
||||
|
|
@ -38,7 +27,8 @@ function runTests() {
|
|||
echo
|
||||
printf "${GREEN}Running tests for ${BOLDCYAN}$1 - $2${RESET}\n"
|
||||
echo
|
||||
xcodebuild -workspace Rx.xcworkspace -scheme "$1" -configuration "$2" -derivedDataPath ${BUILD_DIRECTORY} ${CLEAN} test > /dev/null
|
||||
|
||||
xcodebuild -workspace Rx.xcworkspace -scheme "$1" -configuration "$2" -derivedDataPath ${BUILD_DIRECTORY} test | xcpretty -c
|
||||
|
||||
#if [[ $scheme == *"iOS"* ]]
|
||||
#then
|
||||
|
|
@ -52,7 +42,7 @@ function buildExample() {
|
|||
printf "${GREEN}Building example for ${BOLDCYAN}$1 - $2${RESET}\n"
|
||||
echo
|
||||
|
||||
xcodebuild -workspace Rx.xcworkspace -scheme "$1" -configuration "$2" ${CLEAN} build > /dev/null
|
||||
xcodebuild -workspace Rx.xcworkspace -scheme "$1" -configuration "$2" build | xcpretty -c
|
||||
}
|
||||
|
||||
# simulators
|
||||
|
|
@ -60,14 +50,31 @@ function buildExample() {
|
|||
# xcrun simctl list devicetypes
|
||||
# xcrun simctl list runtimes
|
||||
|
||||
#IOS7_SIMULATORS="RxSwiftTest-iPhone4s-iOS_7.1 RxSwiftTest-iPhone5-iOS_7.1 RxSwiftTest-iPhone5s-iOS_7.1"
|
||||
#IOS8_SIMULATORS="RxSwiftTest-iPhone4s-iOS_8.4 RxSwiftTest-iPhone5-iOS_8.4 RxSwiftTest-iPhone5s-iOS_8.4 RxSwiftTest-iPhone6-iOS_8.4 RxSwiftTest-iPhone6Plus-iOS_8.4"
|
||||
|
||||
function createDevices() {
|
||||
xcrun simctl create RxSwiftTest-iPhone5s-iOS7.1 'iPhone 5s' 'com.apple.CoreSimulator.SimRuntime.iOS-7-1'
|
||||
xcrun simctl create RxSwiftTest-iPhone5-iOS7.1 'iPhone 5' 'com.apple.CoreSimulator.SimRuntime.iOS-7-1'
|
||||
xcrun simctl create RxSwiftTest-iPhone6-iOS8.4 'iPhone 6' 'com.apple.CoreSimulator.SimRuntime.iOS-8-4'
|
||||
xcrun simctl create RxSwiftTest-iPhone4s-iOS_7.1 'iPhone 4s' 'com.apple.CoreSimulator.SimRuntime.iOS-7-1'
|
||||
xcrun simctl create RxSwiftTest-iPhone5-iOS_7.1 'iPhone 5' 'com.apple.CoreSimulator.SimRuntime.iOS-7-1'
|
||||
xcrun simctl create RxSwiftTest-iPhone5s-iOS_7.1 'iPhone 5s' 'com.apple.CoreSimulator.SimRuntime.iOS-7-1'
|
||||
|
||||
xcrun simctl create RxSwiftTest-iPhone4s-iOS_8.4 'iPhone 4s' 'com.apple.CoreSimulator.SimRuntime.iOS-8-4'
|
||||
xcrun simctl create RxSwiftTest-iPhone5-iOS_8.4 'iPhone 5' 'com.apple.CoreSimulator.SimRuntime.iOS-8-4'
|
||||
xcrun simctl create RxSwiftTest-iPhone5s-iOS_8.4 'iPhone 5s' 'com.apple.CoreSimulator.SimRuntime.iOS-8-4'
|
||||
|
||||
xcrun simctl create RxSwiftTest-iPhone6-iOS_8.4 'iPhone 6' 'com.apple.CoreSimulator.SimRuntime.iOS-8-4'
|
||||
xcrun simctl create RxSwiftTest-iPhone6Plus-iOS_8.4 'iPhone 6 Plus' 'com.apple.CoreSimulator.SimRuntime.iOS-8-4'
|
||||
}
|
||||
|
||||
function deleteDevices() {
|
||||
xcrun simctl delete RxSwiftTest-iPhone5s-iOS7.1
|
||||
xcrun simctl delete RxSwiftTest-iPhone5-iOS7.1
|
||||
xcrun simctl delete RxSwiftTest-iPhone6-iOS8.4
|
||||
xcrun simctl delete RxSwiftTest-iPhone4s-iOS_7.1
|
||||
xcrun simctl delete RxSwiftTest-iPhone5-iOS_7.1
|
||||
xcrun simctl delete RxSwiftTest-iPhone5s-iOS_7.1
|
||||
|
||||
xcrun simctl delete RxSwiftTest-iPhone4s-iOS_8.4
|
||||
xcrun simctl delete RxSwiftTest-iPhone5-iOS_8.4
|
||||
xcrun simctl delete RxSwiftTest-iPhone5s-iOS_8.4
|
||||
|
||||
xcrun simctl delete RxSwiftTest-iPhone6-iOS_8.4
|
||||
xcrun simctl delete RxSwiftTest-iPhone6Plus-iOS_8.4
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,11 @@
|
|||
. scripts/common.sh
|
||||
|
||||
IS_LOCAL=0
|
||||
if [ "$#" -eq 1 ]; then
|
||||
echo "Local test"
|
||||
IS_LOCAL=1
|
||||
fi
|
||||
|
||||
#runTests "RxTests-iOS" "Release-Tests"
|
||||
|
||||
#make sure all unit tests pass
|
||||
|
|
@ -13,7 +19,7 @@ done
|
|||
|
||||
|
||||
# make sure it all build
|
||||
for scheme in "RxExample-iOS" "RxExample-OSX"
|
||||
for scheme in "RxExample-iOS" "RxExample-iOS-no-module" "RxExample-OSX"
|
||||
do
|
||||
for configuration in "Debug" "Release-Tests" "Release"
|
||||
do
|
||||
|
|
@ -21,4 +27,6 @@ do
|
|||
done
|
||||
done
|
||||
|
||||
./automation-tests.sh
|
||||
if [ "${IS_LOCAL}" -eq 1 ]; then
|
||||
. scripts/automation-tests.sh
|
||||
fi
|
||||
Loading…
Reference in New Issue