parent
a1e71f4ec0
commit
bd158b463a
22
.travis.yml
22
.travis.yml
@ -1,20 +1,8 @@
|
||||
language: objective-c
|
||||
xcode_project: PromiseKit.xcodeproj
|
||||
xcode_scheme: [PMKOSX]
|
||||
xcode_sdk: [macosx10.11]
|
||||
osx_image: xcode7.3
|
||||
|
||||
install:
|
||||
- "carthage bootstrap --platform Mac"
|
||||
|
||||
matrix:
|
||||
exclude:
|
||||
- xcode_scheme: PMKOSX
|
||||
xcode_sdk: iphonesimulator9.3
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- swift-2.2-minimal-changes
|
||||
- swift-2.0-minimal-changes
|
||||
- legacy-1.x
|
||||
xcode_sdk: [macosx]
|
||||
osx_image: xcode8
|
||||
env: TOOLCHAINS=com.apple.dt.toolchain.Swift_2_3
|
||||
install: carthage bootstrap --platform Mac
|
||||
script: set -o pipefail && xcodebuild -scheme PMKOSX test | xcpretty
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
github "kif-framework/KIF" == 3.4.2
|
||||
github "AliSoftware/OHHTTPStubs" == 5.1.0
|
||||
github "mxcl/OHHTTPStubs" "swift-3.0"
|
||||
github "robb/Stubbilino" == 0.2.1
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
// Created by Matthew Loseke on 6/21/14.
|
||||
//
|
||||
|
||||
#import <AVFoundation/AVAudioSession.h>
|
||||
#import <AVFoundation/AVFoundation.h>
|
||||
#import <PromiseKit/AnyPromise.h>
|
||||
|
||||
/**
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import AVFoundation.AVAudioSession
|
||||
import AVFoundation
|
||||
import Foundation
|
||||
#if !COCOAPODS
|
||||
import PromiseKit
|
||||
|
||||
@ -77,15 +77,9 @@ extension CLLocationManager {
|
||||
private class LocationManager: CLLocationManager, CLLocationManagerDelegate {
|
||||
let (promise, fulfill, reject) = Promise<[CLLocation]>.defer_()
|
||||
|
||||
#if os(iOS)
|
||||
@objc func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
|
||||
fulfill(locations)
|
||||
}
|
||||
#else
|
||||
@objc func locationManager(manager: CLLocationManager, didUpdateLocations locations: [AnyObject]) {
|
||||
fulfill(locations as! [CLLocation])
|
||||
}
|
||||
#endif
|
||||
|
||||
@objc func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {
|
||||
reject(error)
|
||||
@ -118,10 +112,11 @@ private class AuthorizationCatcher: CLLocationManager, CLLocationManagerDelegate
|
||||
}
|
||||
#endif
|
||||
|
||||
private func auther(requestAuthorizationType: CLLocationManager.RequestAuthorizationType)(manager: CLLocationManager)
|
||||
private func auther(requestAuthorizationType: CLLocationManager.RequestAuthorizationType) -> (manager: CLLocationManager) -> Void
|
||||
{
|
||||
#if os(iOS)
|
||||
if !manager.respondsToSelector("requestWhenInUseAuthorization") { return }
|
||||
return { manager in
|
||||
if !manager.respondsToSelector(#selector(CLLocationManager.requestWhenInUseAuthorization)) { return }
|
||||
|
||||
func hasInfoPListKey(key: String) -> Bool {
|
||||
let value = NSBundle.mainBundle().objectForInfoDictionaryKey(key) as? String ?? ""
|
||||
@ -146,6 +141,9 @@ private func auther(requestAuthorizationType: CLLocationManager.RequestAuthoriza
|
||||
break
|
||||
|
||||
}
|
||||
}
|
||||
#else
|
||||
return { _ in }
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@ -38,13 +38,13 @@ private class PMKMailComposeViewControllerDelegate: NSObject, MFMailComposeViewC
|
||||
if let error = error {
|
||||
reject(error)
|
||||
} else {
|
||||
switch result.rawValue {
|
||||
case MFMailComposeResultFailed.rawValue:
|
||||
switch result {
|
||||
case .Failed:
|
||||
var info = [NSObject: AnyObject]()
|
||||
info[NSLocalizedDescriptionKey] = "The attempt to save or send the message was unsuccessful."
|
||||
info[NSUnderlyingErrorKey] = NSNumber(unsignedInt: result.rawValue)
|
||||
info[NSUnderlyingErrorKey] = NSNumber(integer: result.rawValue)
|
||||
reject(NSError(domain: PMKErrorDomain, code: PMKOperationFailed, userInfo: info))
|
||||
case MFMailComposeResultCancelled.rawValue:
|
||||
case .Cancelled:
|
||||
reject(NSError.cancelledError())
|
||||
default:
|
||||
fulfill(result)
|
||||
|
||||
@ -37,15 +37,15 @@ private class PMKMessageComposeViewControllerDelegate: NSObject, MFMessageCompos
|
||||
|
||||
@objc func messageComposeViewController(controller: MFMessageComposeViewController, didFinishWithResult result: MessageComposeResult) {
|
||||
|
||||
switch result.rawValue {
|
||||
case MessageComposeResultSent.rawValue:
|
||||
switch result {
|
||||
case .Sent:
|
||||
fulfill()
|
||||
case MessageComposeResultFailed.rawValue:
|
||||
case .Failed:
|
||||
var info = [NSObject: AnyObject]()
|
||||
info[NSLocalizedDescriptionKey] = "The attempt to save or send the message was unsuccessful."
|
||||
info[NSUnderlyingErrorKey] = NSNumber(unsignedInt: result.rawValue)
|
||||
info[NSUnderlyingErrorKey] = NSNumber(integer: result.rawValue)
|
||||
reject(NSError(domain: PMKErrorDomain, code: PMKOperationFailed, userInfo: info))
|
||||
case MessageComposeResultCancelled.rawValue:
|
||||
case .Cancelled:
|
||||
reject(NSError.cancelledError())
|
||||
default:
|
||||
fatalError("Swift Sucks")
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
#import "CALayer+AnyPromise.h"
|
||||
|
||||
|
||||
@interface PMKCAAnimationDelegate : NSObject {
|
||||
@interface PMKCAAnimationDelegate : NSObject <CAAnimationDelegate> {
|
||||
@public
|
||||
PMKResolver resolve;
|
||||
CAAnimation *animation;
|
||||
|
||||
@ -48,10 +48,6 @@ private class SKDelegate: NSObject, SKProductsRequestDelegate {
|
||||
}
|
||||
|
||||
@objc override class func initialize() {
|
||||
#if os(OSX)
|
||||
NSError.registerCancelledErrorDomain(SKErrorDomain, code: SKErrorPaymentCancelled)
|
||||
#else
|
||||
NSError.registerCancelledErrorDomain(SKErrorDomain, code: SKErrorCode.PaymentCancelled.rawValue)
|
||||
#endif
|
||||
NSError.registerCancelledErrorDomain(SKErrorDomain, code: SKErrorCode.PaymentCancelled.rawValue)
|
||||
}
|
||||
}
|
||||
|
||||
@ -1102,7 +1102,7 @@
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastSwiftUpdateCheck = 0700;
|
||||
LastUpgradeCheck = 0700;
|
||||
LastUpgradeCheck = 0800;
|
||||
ORGANIZATIONNAME = "Max Howell";
|
||||
TargetAttributes = {
|
||||
63533B321AE57A9300C10972 = {
|
||||
@ -1113,16 +1113,20 @@
|
||||
};
|
||||
638CDF021AEE734B0023A543 = {
|
||||
CreatedOnToolsVersion = 6.3;
|
||||
LastSwiftMigration = 0800;
|
||||
};
|
||||
638E0ED41AEF16530052E28F = {
|
||||
CreatedOnToolsVersion = 6.3.1;
|
||||
LastSwiftMigration = 0800;
|
||||
};
|
||||
63CA14921AEA9CBE00223904 = {
|
||||
CreatedOnToolsVersion = 6.3;
|
||||
LastSwiftMigration = 0800;
|
||||
TestTargetID = 638CDF021AEE734B0023A543;
|
||||
};
|
||||
63F803A21AB87A8200E4DEE1 = {
|
||||
CreatedOnToolsVersion = 6.2;
|
||||
LastSwiftMigration = 0800;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -1474,9 +1478,9 @@
|
||||
63533B3D1AE57A9300C10972 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
"$(inherited)",
|
||||
@ -1498,9 +1502,9 @@
|
||||
63533B3E1AE57A9300C10972 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
"$(inherited)",
|
||||
@ -1512,16 +1516,17 @@
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.promisekit.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = macosx;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
6388E1AC1AD315F90074D85B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/Carthage/Build/Mac",
|
||||
@ -1546,10 +1551,10 @@
|
||||
6388E1AD1AD315F90074D85B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/Carthage/Build/Mac",
|
||||
@ -1563,6 +1568,7 @@
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = macosx;
|
||||
SWIFT_OBJC_BRIDGING_HEADER = Tests/CorePromise/bridge.h;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
@ -1600,6 +1606,7 @@
|
||||
OTHER_SWIFT_FLAGS = "-suppress-warnings";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.promisekit.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
@ -1623,6 +1630,7 @@
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.promisekit.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = Tests/Categories/bridge.h;
|
||||
SWIFT_VERSION = 2.3;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@ -1642,15 +1650,17 @@
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.promisekit.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = Tests/Categories/bridge.h;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
SWIFT_VERSION = 2.3;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
63CA14551AE9FBD000223904 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
"$(inherited)",
|
||||
@ -1675,9 +1685,9 @@
|
||||
63CA14561AE9FBD000223904 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||
"$(inherited)",
|
||||
@ -1692,6 +1702,7 @@
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = macosx;
|
||||
SWIFT_OBJC_BRIDGING_HEADER = Tests/Categories/bridge.h;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
@ -1737,6 +1748,7 @@
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.promisekit.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/PMKTestHost.app/PMKTestHost";
|
||||
};
|
||||
name = Release;
|
||||
@ -1754,8 +1766,10 @@
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
@ -1766,6 +1780,7 @@
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
@ -1787,6 +1802,7 @@
|
||||
SWIFT_INSTALL_OBJC_HEADER = NO;
|
||||
SWIFT_OBJC_INTERFACE_HEADER_NAME = "";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 2.3;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
@ -1806,8 +1822,10 @@
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
@ -1817,6 +1835,7 @@
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
@ -1830,6 +1849,7 @@
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_INSTALL_OBJC_HEADER = NO;
|
||||
SWIFT_OBJC_INTERFACE_HEADER_NAME = "";
|
||||
SWIFT_VERSION = 2.3;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
@ -1843,6 +1863,7 @@
|
||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
@ -1864,6 +1885,7 @@
|
||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
@ -1875,6 +1897,7 @@
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.promisekit;
|
||||
PRODUCT_NAME = PromiseKit;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
@ -1908,6 +1931,7 @@
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.promisekit;
|
||||
PRODUCT_NAME = PromiseKit;
|
||||
SDKROOT = macosx;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0700"
|
||||
LastUpgradeVersion = "0800"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0700"
|
||||
LastUpgradeVersion = "0800"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
||||
@ -4,7 +4,7 @@ import XCTest
|
||||
|
||||
class TestCLLocationManager: XCTestCase {
|
||||
func testLocation() {
|
||||
swizzle(CLLocationManager.self, "startUpdatingLocation") {
|
||||
swizzle(CLLocationManager.self, #selector(CLLocationManager.startUpdatingLocation)) {
|
||||
let ex = expectationWithDescription("")
|
||||
|
||||
CLLocationManager.promise().then { (x: CLLocation) -> Void in
|
||||
@ -17,7 +17,7 @@ class TestCLLocationManager: XCTestCase {
|
||||
}
|
||||
|
||||
func testLocations() {
|
||||
swizzle(CLLocationManager.self, "startUpdatingLocation") {
|
||||
swizzle(CLLocationManager.self, #selector(CLLocationManager.startUpdatingLocation)) {
|
||||
let ex = expectationWithDescription("")
|
||||
|
||||
CLLocationManager.promise().then { (x: [CLLocation]) -> Void in
|
||||
@ -42,8 +42,8 @@ class TestCLLocationManager: XCTestCase {
|
||||
}
|
||||
|
||||
func testRequestAuthorization2() {
|
||||
swizzle(CLLocationManager.self, "requestWhenInUseAuthorization") {
|
||||
swizzle(CLLocationManager.self, "authorizationStatus", isClassMethod: true) {
|
||||
swizzle(CLLocationManager.self, #selector(CLLocationManager.requestWhenInUseAuthorization)) {
|
||||
swizzle(CLLocationManager.self, #selector(CLLocationManager.authorizationStatus), isClassMethod: true) {
|
||||
let ex = expectationWithDescription("")
|
||||
|
||||
CLLocationManager.requestAuthorization().then { x -> Void in
|
||||
|
||||
@ -8,7 +8,7 @@ class TestSLRequest: XCTestCase {
|
||||
// then use the long initializer, and an exception is thrown inside
|
||||
// init()
|
||||
|
||||
swizzle(SLRequest.self, "performRequestWithHandler:") {
|
||||
swizzle(SLRequest.self, #selector(SLRequest.performRequestWithHandler(_:))) {
|
||||
let url = NSURL(string: "https://api.twitter.com/1.1/statuses/user_timeline.json")
|
||||
let params = ["foo": "bar"]
|
||||
let rq = SLRequest(forServiceType: SLServiceTypeTwitter, requestMethod: SLRequestMethod.GET, URL: url, parameters: params)
|
||||
|
||||
@ -4,11 +4,11 @@
|
||||
#define PMKTestErrorDomain @"PMKTestErrorDomain"
|
||||
|
||||
static inline NSError *dummyWithCode(NSInteger code) {
|
||||
return [NSError errorWithDomain:PMKTestErrorDomain code:rand() userInfo:@{NSLocalizedDescriptionKey: @(code).stringValue}];
|
||||
return [NSError errorWithDomain:PMKTestErrorDomain code:arc4random() userInfo:@{NSLocalizedDescriptionKey: @(code).stringValue}];
|
||||
}
|
||||
|
||||
static inline NSError *dummy() {
|
||||
return dummyWithCode(rand());
|
||||
return dummyWithCode(arc4random());
|
||||
}
|
||||
|
||||
static inline AnyPromise *rejectLater() {
|
||||
|
||||
@ -20,7 +20,7 @@ static inline NSError *dummyWithCode(NSInteger code) {
|
||||
}
|
||||
|
||||
static inline NSError *dummyError() {
|
||||
return dummyWithCode(rand());
|
||||
return dummyWithCode(arc4random());
|
||||
}
|
||||
|
||||
@interface PMKPromise (BackCompat2)
|
||||
|
||||
@ -105,20 +105,20 @@ extension XCTestCase {
|
||||
return [Int](1...numberOfExpectations).map{ self.expectationWithDescription("\(desc) (\($0))") }
|
||||
}
|
||||
|
||||
let v1 = Int(rand())
|
||||
let v1 = Int(arc4random())
|
||||
let e1 = e("already-fulfilled")
|
||||
test(Promise(v1), e1, v1)
|
||||
waitForExpectationsWithTimeout(1, handler: nil)
|
||||
|
||||
let (p2, f2, _) = Promise<Int>.defer_()
|
||||
let v2 = Int(rand())
|
||||
let v2 = Int(arc4random())
|
||||
let e2 = e("immediately-fulfilled")
|
||||
test(p2, e2, v2)
|
||||
f2(v2)
|
||||
waitForExpectationsWithTimeout(1, handler: nil)
|
||||
|
||||
let (p3, f3, _) = Promise<Int>.defer_()
|
||||
let v3 = Int(rand())
|
||||
let v3 = Int(arc4random())
|
||||
let e3 = e("eventually-fulfilled")
|
||||
later {
|
||||
test(p3, e3, v3)
|
||||
@ -133,7 +133,7 @@ extension XCTestCase {
|
||||
return [Int](1...numberOfExpectations).map{ self.expectationWithDescription("\(desc) (\($0))") }
|
||||
}
|
||||
|
||||
let v1 = NSError(domain:PMKErrorDomain, code:Int(rand()), userInfo:nil)
|
||||
let v1 = NSError(domain:PMKErrorDomain, code:Int(arc4random()), userInfo:nil)
|
||||
let e1 = e("already-fulfilled")
|
||||
|
||||
test(Promise(v1), e1, v1)
|
||||
@ -141,14 +141,14 @@ extension XCTestCase {
|
||||
|
||||
let e2 = e("immediately-rejected")
|
||||
let (p2, _, r2) = Promise<Int>.defer_()
|
||||
let v2 = NSError(domain:PMKErrorDomain, code:Int(rand()), userInfo:nil)
|
||||
let v2 = NSError(domain:PMKErrorDomain, code:Int(arc4random()), userInfo:nil)
|
||||
test(p2, e2, v2)
|
||||
r2(v2)
|
||||
waitForExpectationsWithTimeout(1, handler: nil)
|
||||
|
||||
let e3 = e("eventually-rejected")
|
||||
let (p3, _, r3) = Promise<Int>.defer_()
|
||||
let v3 = NSError(domain:PMKErrorDomain, code:Int(rand()), userInfo:nil)
|
||||
let v3 = NSError(domain:PMKErrorDomain, code:Int(arc4random()), userInfo:nil)
|
||||
later {
|
||||
test(p3, e3, v3)
|
||||
r3(v3)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user