diff --git a/.gitignore b/.gitignore index 69196a1..e1d2182 100644 --- a/.gitignore +++ b/.gitignore @@ -24,4 +24,4 @@ DerivedData Pods/ Carthage/ -!Carthage/Build +!Carthage/Checkouts diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..1b5f572 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "Carthage/Checkouts/Quick"] + path = Carthage/Checkouts/Quick + url = https://github.com/Quick/Quick.git +[submodule "Carthage/Checkouts/Nimble"] + path = Carthage/Checkouts/Nimble + url = https://github.com/Quick/Nimble.git diff --git a/.travis.yml b/.travis.yml index 384b808..c10b8a0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,11 @@ reference: http://www.objc.io/issue-6/travis-ci.html language: objective-c -osx_image: beta-xcode6.3 -cache: - - bundler -before_install: - - gem install xcpretty --no-ri --no-rdoc -script: - - xcodebuild -project JWTDecode.xcodeproj -scheme JWTDecode-iOS -sdk iphonesimulator -destination "platform=iOS Simulator,name=iPhone 6" ONLY_ACTIVE_ARCH=NO test | xcpretty -c ; exit ${PIPESTATUS[0]} +osx_image: xcode6.4 +before_install: true +install: true +git: + submodules: false +script: script/cibuild branches: only: - master diff --git a/Carthage/Build/Mac/Nimble.framework/Headers b/Carthage/Build/Mac/Nimble.framework/Headers deleted file mode 120000 index a177d2a..0000000 --- a/Carthage/Build/Mac/Nimble.framework/Headers +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Headers \ No newline at end of file diff --git a/Carthage/Build/Mac/Nimble.framework/Modules b/Carthage/Build/Mac/Nimble.framework/Modules deleted file mode 120000 index 5736f31..0000000 --- a/Carthage/Build/Mac/Nimble.framework/Modules +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Modules \ No newline at end of file diff --git a/Carthage/Build/Mac/Nimble.framework/Nimble b/Carthage/Build/Mac/Nimble.framework/Nimble deleted file mode 120000 index fb3238e..0000000 --- a/Carthage/Build/Mac/Nimble.framework/Nimble +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Nimble \ No newline at end of file diff --git a/Carthage/Build/Mac/Nimble.framework/Resources b/Carthage/Build/Mac/Nimble.framework/Resources deleted file mode 120000 index 953ee36..0000000 --- a/Carthage/Build/Mac/Nimble.framework/Resources +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Resources \ No newline at end of file diff --git a/Carthage/Build/Mac/Nimble.framework/Versions/A/Headers/DSL.h b/Carthage/Build/Mac/Nimble.framework/Versions/A/Headers/DSL.h deleted file mode 100644 index 8186e1f..0000000 --- a/Carthage/Build/Mac/Nimble.framework/Versions/A/Headers/DSL.h +++ /dev/null @@ -1,120 +0,0 @@ -#import - -@class NMBExpectation; -@class NMBObjCBeCloseToMatcher; -@class NMBObjCRaiseExceptionMatcher; -@protocol NMBMatcher; - - -#define NIMBLE_EXPORT FOUNDATION_EXPORT - -#ifdef NIMBLE_DISABLE_SHORT_SYNTAX -#define NIMBLE_SHORT(PROTO, ORIGINAL) -#else -#define NIMBLE_SHORT(PROTO, ORIGINAL) FOUNDATION_STATIC_INLINE PROTO { return (ORIGINAL); } -#endif - -NIMBLE_EXPORT NMBExpectation *NMB_expect(id(^actualBlock)(), const char *file, unsigned int line); - -NIMBLE_EXPORT id NMB_equal(id expectedValue); -NIMBLE_SHORT(id equal(id expectedValue), - NMB_equal(expectedValue)); - -NIMBLE_EXPORT NMBObjCBeCloseToMatcher *NMB_beCloseTo(NSNumber *expectedValue); -NIMBLE_SHORT(NMBObjCBeCloseToMatcher *beCloseTo(id expectedValue), - NMB_beCloseTo(expectedValue)); - -NIMBLE_EXPORT id NMB_beAnInstanceOf(Class expectedClass); -NIMBLE_SHORT(id beAnInstanceOf(Class expectedClass), - NMB_beAnInstanceOf(expectedClass)); - -NIMBLE_EXPORT id NMB_beAKindOf(Class expectedClass); -NIMBLE_SHORT(id beAKindOf(Class expectedClass), - NMB_beAKindOf(expectedClass)); - -NIMBLE_EXPORT id NMB_beginWith(id itemElementOrSubstring); -NIMBLE_SHORT(id beginWith(id itemElementOrSubstring), - NMB_beginWith(itemElementOrSubstring)); - -NIMBLE_EXPORT id NMB_beGreaterThan(NSNumber *expectedValue); -NIMBLE_SHORT(id beGreaterThan(NSNumber *expectedValue), - NMB_beGreaterThan(expectedValue)); - -NIMBLE_EXPORT id NMB_beGreaterThanOrEqualTo(NSNumber *expectedValue); -NIMBLE_SHORT(id beGreaterThanOrEqualTo(NSNumber *expectedValue), - NMB_beGreaterThanOrEqualTo(expectedValue)); - -NIMBLE_EXPORT id NMB_beIdenticalTo(id expectedInstance); -NIMBLE_SHORT(id beIdenticalTo(id expectedInstance), - NMB_beIdenticalTo(expectedInstance)); - -NIMBLE_EXPORT id NMB_beLessThan(NSNumber *expectedValue); -NIMBLE_SHORT(id beLessThan(NSNumber *expectedValue), - NMB_beLessThan(expectedValue)); - -NIMBLE_EXPORT id NMB_beLessThanOrEqualTo(NSNumber *expectedValue); -NIMBLE_SHORT(id beLessThanOrEqualTo(NSNumber *expectedValue), - NMB_beLessThanOrEqualTo(expectedValue)); - -NIMBLE_EXPORT id NMB_beTruthy(void); -NIMBLE_SHORT(id beTruthy(void), - NMB_beTruthy()); - -NIMBLE_EXPORT id NMB_beFalsy(void); -NIMBLE_SHORT(id beFalsy(void), - NMB_beFalsy()); - -NIMBLE_EXPORT id NMB_beTrue(void); -NIMBLE_SHORT(id beTrue(void), - NMB_beTrue()); - -NIMBLE_EXPORT id NMB_beFalse(void); -NIMBLE_SHORT(id beFalse(void), - NMB_beFalse()); - -NIMBLE_EXPORT id NMB_beNil(void); -NIMBLE_SHORT(id beNil(void), - NMB_beNil()); - -NIMBLE_EXPORT id NMB_beEmpty(void); -NIMBLE_SHORT(id beEmpty(void), - NMB_beEmpty()); - -NIMBLE_EXPORT id NMB_contain(id itemOrSubstring); -NIMBLE_SHORT(id contain(id itemOrSubstring), - NMB_contain(itemOrSubstring)); - -NIMBLE_EXPORT id NMB_endWith(id itemElementOrSubstring); -NIMBLE_SHORT(id endWith(id itemElementOrSubstring), - NMB_endWith(itemElementOrSubstring)); - -NIMBLE_EXPORT NMBObjCRaiseExceptionMatcher *NMB_raiseException(void); -NIMBLE_SHORT(NMBObjCRaiseExceptionMatcher *raiseException(void), - NMB_raiseException()); - -NIMBLE_EXPORT id NMB_match(id expectedValue); -NIMBLE_SHORT(id match(id expectedValue), - NMB_match(expectedValue)); - -NIMBLE_EXPORT id NMB_allPass(id matcher); -NIMBLE_SHORT(id allPass(id matcher), - NMB_allPass(matcher)); - -// In order to preserve breakpoint behavior despite using macros to fill in __FILE__ and __LINE__, -// define a builder that populates __FILE__ and __LINE__, and returns a block that takes timeout -// and action arguments. See https://github.com/Quick/Quick/pull/185 for details. -typedef void (^NMBWaitUntilTimeoutBlock)(NSTimeInterval timeout, void (^action)(void (^)(void))); -typedef void (^NMBWaitUntilBlock)(void (^action)(void (^)(void))); - -NIMBLE_EXPORT NMBWaitUntilTimeoutBlock nmb_wait_until_timeout_builder(NSString *file, NSUInteger line); -NIMBLE_EXPORT NMBWaitUntilBlock nmb_wait_until_builder(NSString *file, NSUInteger line); - -#define NMB_waitUntilTimeout nmb_wait_until_timeout_builder(@(__FILE__), __LINE__) -#define NMB_waitUntil nmb_wait_until_builder(@(__FILE__), __LINE__) - -#ifndef NIMBLE_DISABLE_SHORT_SYNTAX -#define expect(...) NMB_expect(^id{ return (__VA_ARGS__); }, __FILE__, __LINE__) -#define expectAction(...) NMB_expect(^id{ (__VA_ARGS__); return nil; }, __FILE__, __LINE__) -#define waitUntilTimeout NMB_waitUntilTimeout -#define waitUntil NMB_waitUntil -#endif diff --git a/Carthage/Build/Mac/Nimble.framework/Versions/A/Headers/NMBExceptionCapture.h b/Carthage/Build/Mac/Nimble.framework/Versions/A/Headers/NMBExceptionCapture.h deleted file mode 100644 index 8be4a5a..0000000 --- a/Carthage/Build/Mac/Nimble.framework/Versions/A/Headers/NMBExceptionCapture.h +++ /dev/null @@ -1,8 +0,0 @@ -#import - -@interface NMBExceptionCapture : NSObject - -- (id)initWithHandler:(void(^)(NSException *))handler finally:(void(^)())finally; -- (void)tryBlock:(void(^)())unsafeBlock; - -@end diff --git a/Carthage/Build/Mac/Nimble.framework/Versions/A/Headers/Nimble-Swift.h b/Carthage/Build/Mac/Nimble.framework/Versions/A/Headers/Nimble-Swift.h deleted file mode 100644 index b339c90..0000000 --- a/Carthage/Build/Mac/Nimble.framework/Versions/A/Headers/Nimble-Swift.h +++ /dev/null @@ -1,363 +0,0 @@ -// Generated by Apple Swift version 1.2 (swiftlang-602.0.53.1 clang-602.0.53) -#pragma clang diagnostic push - -#if defined(__has_include) && __has_include() -# include -#endif - -#pragma clang diagnostic ignored "-Wauto-import" -#include -#include -#include -#include - -#if defined(__has_include) && __has_include() -# include -#elif !defined(__cplusplus) || __cplusplus < 201103L -typedef uint_least16_t char16_t; -typedef uint_least32_t char32_t; -#endif - -typedef struct _NSZone NSZone; - -#if !defined(SWIFT_PASTE) -# define SWIFT_PASTE_HELPER(x, y) x##y -# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) -#endif -#if !defined(SWIFT_METATYPE) -# define SWIFT_METATYPE(X) Class -#endif - -#if defined(__has_attribute) && __has_attribute(objc_runtime_name) -# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) -#else -# define SWIFT_RUNTIME_NAME(X) -#endif -#if !defined(SWIFT_CLASS_EXTRA) -# define SWIFT_CLASS_EXTRA -#endif -#if !defined(SWIFT_PROTOCOL_EXTRA) -# define SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_ENUM_EXTRA) -# define SWIFT_ENUM_EXTRA -#endif -#if !defined(SWIFT_CLASS) -# if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA -# else -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# endif -#endif - -#if !defined(SWIFT_PROTOCOL) -# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -#endif - -#if !defined(SWIFT_EXTENSION) -# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) -#endif - -#if !defined(OBJC_DESIGNATED_INITIALIZER) -# if defined(__has_attribute) && __has_attribute(objc_designated_initializer) -# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) -# else -# define OBJC_DESIGNATED_INITIALIZER -# endif -#endif -#if !defined(SWIFT_ENUM) -# define SWIFT_ENUM(_type, _name) enum _name : _type _name; enum SWIFT_ENUM_EXTRA _name : _type -#endif -#if __has_feature(nullability) -# define SWIFT_NULLABILITY(X) X -#else -# if !defined(__nonnull) -# define __nonnull -# endif -# if !defined(__nullable) -# define __nullable -# endif -# if !defined(__null_unspecified) -# define __null_unspecified -# endif -# define SWIFT_NULLABILITY(X) -#endif -#if defined(__has_feature) && __has_feature(modules) -@import Foundation; -@import ObjectiveC; -#endif - -#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" -#pragma clang diagnostic ignored "-Wduplicate-method-arg" - -SWIFT_CLASS("_TtC6Nimble14FailureMessage") -@interface FailureMessage -@property (nonatomic, copy) NSString * __nonnull expected; -@property (nonatomic, copy) NSString * __nullable actualValue; -@property (nonatomic, copy) NSString * __nonnull to; -@property (nonatomic, copy) NSString * __nonnull postfixMessage; -@property (nonatomic, copy) NSString * __nonnull postfixActual; -- (SWIFT_NULLABILITY(nonnull) instancetype)init OBJC_DESIGNATED_INITIALIZER; -- (NSString * __nonnull)stringValue; -@end - - - -/// Protocol for types that support only beEmpty() -SWIFT_PROTOCOL("_TtP6Nimble13NMBCollection_") -@protocol NMBCollection -@property (nonatomic, readonly) NSInteger count; -@end - - - -///
Protocol for types to support beLessThan(), beLessThanOrEqualTo(),

beGreaterThan(), beGreaterThanOrEqualTo(), and equal() matchers.

-/// Types that conform to Swift's Comparable protocol will work implicitly too -SWIFT_PROTOCOL("_TtP6Nimble13NMBComparable_") -@protocol NMBComparable -- (NSComparisonResult)NMB_compare:(id __null_unspecified)otherObject; -@end - - - -/// Protocol for types that support contain() matcher. -SWIFT_PROTOCOL("_TtP6Nimble12NMBContainer_") -@protocol NMBContainer -- (BOOL)containsObject:(id __null_unspecified)object; -@end - - - -/// Protocol for types to support beCloseTo() matcher -SWIFT_PROTOCOL("_TtP6Nimble20NMBDoubleConvertible_") -@protocol NMBDoubleConvertible -@property (nonatomic, readonly) double doubleValue; -@end - -@protocol NMBMatcher; - -SWIFT_CLASS("_TtC6Nimble14NMBExpectation") -@interface NMBExpectation : NSObject -- (SWIFT_NULLABILITY(nonnull) instancetype)initWithActualBlock:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock negative:(BOOL)negative file:(NSString * __nonnull)file line:(NSUInteger)line OBJC_DESIGNATED_INITIALIZER; -@property (nonatomic, readonly, copy) NMBExpectation * __nonnull (^ __nonnull withTimeout)(NSTimeInterval); -@property (nonatomic, readonly, copy) void (^ __nonnull to)(id __nonnull); -@property (nonatomic, readonly, copy) void (^ __nonnull toNot)(id __nonnull); -@property (nonatomic, readonly, copy) void (^ __nonnull notTo)(id __nonnull); -@property (nonatomic, readonly, copy) void (^ __nonnull toEventually)(id __nonnull); -@property (nonatomic, readonly, copy) void (^ __nonnull toEventuallyNot)(id __nonnull); -@end - -@class SourceLocation; - - -/// Objective-C interface to the Swift variant of Matcher. This gives you full control over -/// to() and toNot() behaviors when matching a value. -SWIFT_PROTOCOL("_TtP6Nimble10NMBMatcher_") -@protocol NMBMatcher -- (BOOL)matches:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location; -- (BOOL)doesNotMatch:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location; -@end - - -SWIFT_CLASS("_TtC6Nimble23NMBObjCBeCloseToMatcher") -@interface NMBObjCBeCloseToMatcher -- (BOOL)matches:(NSObject * __null_unspecified (^ __nonnull)(void))actualExpression failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location; -- (BOOL)doesNotMatch:(NSObject * __null_unspecified (^ __nonnull)(void))actualExpression failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location; -@property (nonatomic, readonly, copy) NMBObjCBeCloseToMatcher * __nonnull (^ __nonnull within)(double); -@end - - -SWIFT_CLASS("_TtC6Nimble14NMBObjCMatcher") -@interface NMBObjCMatcher -- (BOOL)matches:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location; -- (BOOL)doesNotMatch:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)endWithMatcher:(id __nonnull)expected; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)beNilMatcher; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)beEmptyMatcher; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)beIdenticalToMatcher:(NSObject * __nullable)expected; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)beginWithMatcher:(id __nonnull)expected; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)beGreaterThanOrEqualToMatcher:(id __nullable)expected; -@end - -@class NMBObjCRaiseExceptionMatcher; - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCRaiseExceptionMatcher * __nonnull)raiseExceptionMatcher; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)beGreaterThanMatcher:(id __nullable)expected; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)beLessThanMatcher:(id __nullable)expected; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (id __nonnull)equalMatcher:(NSObject * __nonnull)expected; -@end - -@class NSString; - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (id __nonnull)matchMatcher:(NSString * __nonnull)expected; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (id __nonnull)beAKindOfMatcher:(Class __nonnull)expected; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)allPassMatcher:(NMBObjCMatcher * __nonnull)matcher; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (id __nonnull)beAnInstanceOfMatcher:(Class __nonnull)expected; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)beLessThanOrEqualToMatcher:(id __nullable)expected; -@end - -@class NSNumber; - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCBeCloseToMatcher * __nonnull)beCloseToMatcher:(NSNumber * __nonnull)expected within:(double)within; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)containMatcher:(NSObject * __nullable)expected; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)beTruthyMatcher; -+ (NMBObjCMatcher * __nonnull)beFalsyMatcher; -+ (NMBObjCMatcher * __nonnull)beTrueMatcher; -+ (NMBObjCMatcher * __nonnull)beFalseMatcher; -@end - -@class NSDictionary; - -SWIFT_CLASS("_TtC6Nimble28NMBObjCRaiseExceptionMatcher") -@interface NMBObjCRaiseExceptionMatcher -- (BOOL)matches:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location; -- (BOOL)doesNotMatch:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location; -@property (nonatomic, readonly, copy) NMBObjCRaiseExceptionMatcher * __nonnull (^ __nonnull named)(NSString * __nonnull); -@property (nonatomic, readonly, copy) NMBObjCRaiseExceptionMatcher * __nonnull (^ __nonnull reason)(NSString * __nullable); -@property (nonatomic, readonly, copy) NMBObjCRaiseExceptionMatcher * __nonnull (^ __nonnull userInfo)(NSDictionary * __nullable); -@property (nonatomic, readonly, copy) NMBObjCRaiseExceptionMatcher * __nonnull (^ __nonnull withName)(id __nonnull); -@property (nonatomic, readonly, copy) NMBObjCRaiseExceptionMatcher * __nonnull (^ __nonnull withReason)(id __nonnull); -@property (nonatomic, readonly, copy) NMBObjCRaiseExceptionMatcher * __nonnull (^ __nonnull withUserInfo)(id __nonnull); -@end - - - -/// Protocol for types that support beginWith(), endWith(), beEmpty() matchers -SWIFT_PROTOCOL("_TtP6Nimble20NMBOrderedCollection_") -@protocol NMBOrderedCollection -- (NSInteger)indexOfObject:(id __null_unspecified)object; -@end - - - -/// Only classes, protocols, methods, properties, and subscript declarations can be -/// bridges to Objective-C via the @objc keyword. This class encapsulates callback-style -/// asynchronous waiting logic so that it may be called from Objective-C and Swift. -SWIFT_CLASS("_TtC6Nimble7NMBWait") -@interface NMBWait -+ (void)untilTimeout:(NSTimeInterval)timeout file:(NSString * __nonnull)file line:(NSUInteger)line action:(void (^ __nonnull)(void (^ __nonnull)(void)))action; -+ (void)untilFile:(NSString * __nonnull)file line:(NSUInteger)line action:(void (^ __nonnull)(void (^ __nonnull)(void)))action; -@end - - -@interface NSArray (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSArray (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSArray (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSDecimalNumber (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSDictionary (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSHashTable (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSHashTable (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSNumber (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSNumber (SWIFT_EXTENSION(Nimble)) -- (NSComparisonResult)NMB_compare:(id __null_unspecified)otherObject; -@end - - -@interface NSSet (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSSet (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSString (SWIFT_EXTENSION(Nimble)) -- (NSComparisonResult)NMB_compare:(id __null_unspecified)otherObject; -@end - - -SWIFT_CLASS("_TtC6Nimble14SourceLocation") -@interface SourceLocation -@property (nonatomic, readonly, copy) NSString * __nonnull file; -@property (nonatomic, readonly) NSUInteger line; -@property (nonatomic, readonly, copy) NSString * __nonnull description; -@end - -#pragma clang diagnostic pop diff --git a/Carthage/Build/Mac/Nimble.framework/Versions/A/Headers/Nimble.h b/Carthage/Build/Mac/Nimble.framework/Versions/A/Headers/Nimble.h deleted file mode 100644 index 4336218..0000000 --- a/Carthage/Build/Mac/Nimble.framework/Versions/A/Headers/Nimble.h +++ /dev/null @@ -1,6 +0,0 @@ -#import -#import -#import - -FOUNDATION_EXPORT double NimbleVersionNumber; -FOUNDATION_EXPORT const unsigned char NimbleVersionString[]; diff --git a/Carthage/Build/Mac/Nimble.framework/Versions/A/Modules/Nimble.swiftmodule/x86_64.swiftdoc b/Carthage/Build/Mac/Nimble.framework/Versions/A/Modules/Nimble.swiftmodule/x86_64.swiftdoc deleted file mode 100644 index 213bd3a..0000000 Binary files a/Carthage/Build/Mac/Nimble.framework/Versions/A/Modules/Nimble.swiftmodule/x86_64.swiftdoc and /dev/null differ diff --git a/Carthage/Build/Mac/Nimble.framework/Versions/A/Modules/Nimble.swiftmodule/x86_64.swiftmodule b/Carthage/Build/Mac/Nimble.framework/Versions/A/Modules/Nimble.swiftmodule/x86_64.swiftmodule deleted file mode 100644 index 019ebde..0000000 Binary files a/Carthage/Build/Mac/Nimble.framework/Versions/A/Modules/Nimble.swiftmodule/x86_64.swiftmodule and /dev/null differ diff --git a/Carthage/Build/Mac/Nimble.framework/Versions/A/Modules/module.modulemap b/Carthage/Build/Mac/Nimble.framework/Versions/A/Modules/module.modulemap deleted file mode 100644 index a8769c2..0000000 --- a/Carthage/Build/Mac/Nimble.framework/Versions/A/Modules/module.modulemap +++ /dev/null @@ -1,10 +0,0 @@ -framework module Nimble { - umbrella header "Nimble.h" - - export * - module * { export * } -} - -module Nimble.Swift { - header "Nimble-Swift.h" -} diff --git a/Carthage/Build/Mac/Nimble.framework/Versions/A/Nimble b/Carthage/Build/Mac/Nimble.framework/Versions/A/Nimble deleted file mode 100755 index 0a489fe..0000000 Binary files a/Carthage/Build/Mac/Nimble.framework/Versions/A/Nimble and /dev/null differ diff --git a/Carthage/Build/Mac/Nimble.framework/Versions/A/Resources/Info.plist b/Carthage/Build/Mac/Nimble.framework/Versions/A/Resources/Info.plist deleted file mode 100644 index 7f52257..0000000 --- a/Carthage/Build/Mac/Nimble.framework/Versions/A/Resources/Info.plist +++ /dev/null @@ -1,47 +0,0 @@ - - - - - BuildMachineOSBuild - 14D136 - CFBundleDevelopmentRegion - en - CFBundleExecutable - Nimble - CFBundleIdentifier - net.jeffhui.Nimble - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - Nimble - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 6D2105 - DTPlatformVersion - GM - DTSDKBuild - 14D125 - DTSDKName - macosx10.10 - DTXcode - 0632 - DTXcodeBuild - 6D2105 - NSHumanReadableCopyright - Copyright © 2014 Jeff Hui. All rights reserved. - UIDeviceFamily - - 1 - 2 - - - diff --git a/Carthage/Build/Mac/Nimble.framework/Versions/Current b/Carthage/Build/Mac/Nimble.framework/Versions/Current deleted file mode 120000 index 8c7e5a6..0000000 --- a/Carthage/Build/Mac/Nimble.framework/Versions/Current +++ /dev/null @@ -1 +0,0 @@ -A \ No newline at end of file diff --git a/Carthage/Build/Mac/Quick.framework/Headers b/Carthage/Build/Mac/Quick.framework/Headers deleted file mode 120000 index a177d2a..0000000 --- a/Carthage/Build/Mac/Quick.framework/Headers +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Headers \ No newline at end of file diff --git a/Carthage/Build/Mac/Quick.framework/Modules b/Carthage/Build/Mac/Quick.framework/Modules deleted file mode 120000 index 5736f31..0000000 --- a/Carthage/Build/Mac/Quick.framework/Modules +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Modules \ No newline at end of file diff --git a/Carthage/Build/Mac/Quick.framework/Quick b/Carthage/Build/Mac/Quick.framework/Quick deleted file mode 120000 index 1651b83..0000000 --- a/Carthage/Build/Mac/Quick.framework/Quick +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Quick \ No newline at end of file diff --git a/Carthage/Build/Mac/Quick.framework/Resources b/Carthage/Build/Mac/Quick.framework/Resources deleted file mode 120000 index 953ee36..0000000 --- a/Carthage/Build/Mac/Quick.framework/Resources +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Resources \ No newline at end of file diff --git a/Carthage/Build/Mac/Quick.framework/Versions/A/Headers/QCKDSL.h b/Carthage/Build/Mac/Quick.framework/Versions/A/Headers/QCKDSL.h deleted file mode 100644 index 7e63cbd..0000000 --- a/Carthage/Build/Mac/Quick.framework/Versions/A/Headers/QCKDSL.h +++ /dev/null @@ -1,211 +0,0 @@ -#import - -/** - Provides a hook for Quick to be configured before any examples are run. - Within this scope, override the +[QuickConfiguration configure:] method - to set properties on a configuration object to customize Quick behavior. - For details, see the documentation for Configuraiton.swift. - - @param name The name of the configuration class. Like any Objective-C - class name, this must be unique to the current runtime - environment. - */ -#define QuickConfigurationBegin(name) \ - @interface name : QuickConfiguration; @end \ - @implementation name \ - - -/** - Marks the end of a Quick configuration. - Make sure you put this after `QuickConfigurationBegin`. - */ -#define QuickConfigurationEnd \ - @end \ - - -/** - Defines a new QuickSpec. Define examples and example groups within the space - between this and `QuickSpecEnd`. - - @param name The name of the spec class. Like any Objective-C class name, this - must be unique to the current runtime environment. - */ -#define QuickSpecBegin(name) \ - @interface name : QuickSpec; @end \ - @implementation name \ - - (void)spec { \ - - -/** - Marks the end of a QuickSpec. Make sure you put this after `QuickSpecBegin`. - */ -#define QuickSpecEnd \ - } \ - @end \ - -typedef NSDictionary *(^QCKDSLSharedExampleContext)(void); -typedef void (^QCKDSLSharedExampleBlock)(QCKDSLSharedExampleContext); -typedef void (^QCKDSLEmptyBlock)(void); - -extern void qck_beforeSuite(QCKDSLEmptyBlock closure); -extern void qck_afterSuite(QCKDSLEmptyBlock closure); -extern void qck_sharedExamples(NSString *name, QCKDSLSharedExampleBlock closure); -extern void qck_describe(NSString *description, QCKDSLEmptyBlock closure); -extern void qck_context(NSString *description, QCKDSLEmptyBlock closure); -extern void qck_beforeEach(QCKDSLEmptyBlock closure); -extern void qck_afterEach(QCKDSLEmptyBlock closure); -extern void qck_pending(NSString *description, QCKDSLEmptyBlock closure); -extern void qck_xdescribe(NSString *description, QCKDSLEmptyBlock closure); -extern void qck_xcontext(NSString *description, QCKDSLEmptyBlock closure); -extern void qck_fdescribe(NSString *description, QCKDSLEmptyBlock closure); -extern void qck_fcontext(NSString *description, QCKDSLEmptyBlock closure); - -#ifndef QUICK_DISABLE_SHORT_SYNTAX -/** - Defines a closure to be run prior to any examples in the test suite. - You may define an unlimited number of these closures, but there is no - guarantee as to the order in which they're run. - - If the test suite crashes before the first example is run, this closure - will not be executed. - - @param closure The closure to be run prior to any examples in the test suite. - */ -static inline void beforeSuite(QCKDSLEmptyBlock closure) { - qck_beforeSuite(closure); -} - - -/** - Defines a closure to be run after all of the examples in the test suite. - You may define an unlimited number of these closures, but there is no - guarantee as to the order in which they're run. - - If the test suite crashes before all examples are run, this closure - will not be executed. - - @param closure The closure to be run after all of the examples in the test suite. - */ -static inline void afterSuite(QCKDSLEmptyBlock closure) { - qck_afterSuite(closure); -} - -/** - Defines a group of shared examples. These examples can be re-used in several locations - by using the `itBehavesLike` function. - - @param name The name of the shared example group. This must be unique across all shared example - groups defined in a test suite. - @param closure A closure containing the examples. This behaves just like an example group defined - using `describe` or `context`--the closure may contain any number of `beforeEach` - and `afterEach` closures, as well as any number of examples (defined using `it`). - */ -static inline void sharedExamples(NSString *name, QCKDSLSharedExampleBlock closure) { - qck_sharedExamples(name, closure); -} - -/** - Defines an example group. Example groups are logical groupings of examples. - Example groups can share setup and teardown code. - - @param description An arbitrary string describing the example group. - @param closure A closure that can contain other examples. - */ -static inline void describe(NSString *description, QCKDSLEmptyBlock closure) { - qck_describe(description, closure); -} - -/** - Defines an example group. Equivalent to `describe`. - */ -static inline void context(NSString *description, QCKDSLEmptyBlock closure) { - qck_context(description, closure); -} - -/** - Defines a closure to be run prior to each example in the current example - group. This closure is not run for pending or otherwise disabled examples. - An example group may contain an unlimited number of beforeEach. They'll be - run in the order they're defined, but you shouldn't rely on that behavior. - - @param closure The closure to be run prior to each example. - */ -static inline void beforeEach(QCKDSLEmptyBlock closure) { - qck_beforeEach(closure); -} - -/** - Defines a closure to be run after each example in the current example - group. This closure is not run for pending or otherwise disabled examples. - An example group may contain an unlimited number of afterEach. They'll be - run in the order they're defined, but you shouldn't rely on that behavior. - - @param closure The closure to be run after each example. - */ -static inline void afterEach(QCKDSLEmptyBlock closure) { - qck_afterEach(closure); -} - -/** - Defines an example or example group that should not be executed. Use `pending` to temporarily disable - examples or groups that should not be run yet. - - @param description An arbitrary string describing the example or example group. - @param closure A closure that will not be evaluated. - */ -static inline void pending(NSString *description, QCKDSLEmptyBlock closure) { - qck_pending(description, closure); -} - -/** - Use this to quickly mark a `describe` block as pending. - This disables all examples within the block. - */ -static inline void xdescribe(NSString *description, QCKDSLEmptyBlock closure) { - qck_xdescribe(description, closure); -} - -/** - Use this to quickly mark a `context` block as pending. - This disables all examples within the block. - */ -static inline void xcontext(NSString *description, QCKDSLEmptyBlock closure) { - qck_xcontext(description, closure); -} - -/** - Use this to quickly focus a `describe` block, focusing the examples in the block. - If any examples in the test suite are focused, only those examples are executed. - This trumps any explicitly focused or unfocused examples within the block--they are all treated as focused. - */ -static inline void fdescribe(NSString *description, QCKDSLEmptyBlock closure) { - qck_fdescribe(description, closure); -} - -/** - Use this to quickly focus a `context` block. Equivalent to `fdescribe`. - */ -static inline void fcontext(NSString *description, QCKDSLEmptyBlock closure) { - qck_fcontext(description, closure); -} - -#define it qck_it -#define xit qck_xit -#define fit qck_fit -#define itBehavesLike qck_itBehavesLike -#define xitBehavesLike qck_xitBehavesLike -#define fitBehavesLike qck_fitBehavesLike -#endif - -#define qck_it qck_it_builder(@{}, @(__FILE__), __LINE__) -#define qck_xit qck_it_builder(@{Filter.pending: @YES}, @(__FILE__), __LINE__) -#define qck_fit qck_it_builder(@{Filter.focused: @YES}, @(__FILE__), __LINE__) -#define qck_itBehavesLike qck_itBehavesLike_builder(@{}, @(__FILE__), __LINE__) -#define qck_xitBehavesLike qck_itBehavesLike_builder(@{Filter.pending: @YES}, @(__FILE__), __LINE__) -#define qck_fitBehavesLike qck_itBehavesLike_builder(@{Filter.focused: @YES}, @(__FILE__), __LINE__) - -typedef void (^QCKItBlock)(NSString *description, QCKDSLEmptyBlock closure); -typedef void (^QCKItBehavesLikeBlock)(NSString *description, QCKDSLSharedExampleContext context); - -extern QCKItBlock qck_it_builder(NSDictionary *flags, NSString *file, NSUInteger line); -extern QCKItBehavesLikeBlock qck_itBehavesLike_builder(NSDictionary *flags, NSString *file, NSUInteger line); diff --git a/Carthage/Build/Mac/Quick.framework/Versions/A/Headers/Quick-Swift.h b/Carthage/Build/Mac/Quick.framework/Versions/A/Headers/Quick-Swift.h deleted file mode 100644 index 62fbf88..0000000 --- a/Carthage/Build/Mac/Quick.framework/Versions/A/Headers/Quick-Swift.h +++ /dev/null @@ -1,356 +0,0 @@ -// Generated by Apple Swift version 1.2 (swiftlang-602.0.49.6 clang-602.0.49) -#pragma clang diagnostic push - -#if defined(__has_include) && __has_include() -# include -#endif - -#pragma clang diagnostic ignored "-Wauto-import" -#include -#include -#include -#include - -#if defined(__has_include) && __has_include() -# include -#elif !defined(__cplusplus) || __cplusplus < 201103L -typedef uint_least16_t char16_t; -typedef uint_least32_t char32_t; -#endif - -typedef struct _NSZone NSZone; - -#if !defined(SWIFT_PASTE) -# define SWIFT_PASTE_HELPER(x, y) x##y -# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) -#endif -#if !defined(SWIFT_METATYPE) -# define SWIFT_METATYPE(X) Class -#endif - -#if defined(__has_attribute) && __has_attribute(objc_runtime_name) -# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) -#else -# define SWIFT_RUNTIME_NAME(X) -#endif -#if !defined(SWIFT_CLASS_EXTRA) -# define SWIFT_CLASS_EXTRA -#endif -#if !defined(SWIFT_PROTOCOL_EXTRA) -# define SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_ENUM_EXTRA) -# define SWIFT_ENUM_EXTRA -#endif -#if !defined(SWIFT_CLASS) -# if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA -# else -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# endif -#endif - -#if !defined(SWIFT_PROTOCOL) -# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -#endif - -#if !defined(SWIFT_EXTENSION) -# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) -#endif - -#if !defined(OBJC_DESIGNATED_INITIALIZER) -# if defined(__has_attribute) && __has_attribute(objc_designated_initializer) -# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) -# else -# define OBJC_DESIGNATED_INITIALIZER -# endif -#endif -#if !defined(SWIFT_ENUM) -# define SWIFT_ENUM(_type, _name) enum _name : _type _name; enum SWIFT_ENUM_EXTRA _name : _type -#endif -#if __has_feature(nullability) -# define SWIFT_NULLABILITY(X) X -#else -# if !defined(__nonnull) -# define __nonnull -# endif -# if !defined(__nullable) -# define __nullable -# endif -# if !defined(__null_unspecified) -# define __null_unspecified -# endif -# define SWIFT_NULLABILITY(X) -#endif -#if defined(__has_feature) && __has_feature(modules) -#endif - -#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" -#pragma clang diagnostic ignored "-Wduplicate-method-arg" - - -/// An object encapsulating the file and line number at which -/// a particular example is defined. -SWIFT_CLASS("_TtC5Quick8Callsite") -@interface Callsite - -/// The absolute path of the file in which an example is defined. -@property (nonatomic, readonly, copy) NSString * __nonnull file; - -/// The line number on which an example is defined. -@property (nonatomic, readonly) NSInteger line; -@end - -@class Example; -@class ExampleMetadata; - - -/// A configuration encapsulates various options you can use -/// to configure Quick's behavior. -SWIFT_CLASS("_TtC5Quick13Configuration") -@interface Configuration - -/// Run all examples if none match the configured filters. True by default. -@property (nonatomic) BOOL runAllWhenEverythingFiltered; - -/// Registers an inclusion filter. -/// -/// All examples are filtered using all inclusion filters. -/// The remaining examples are run. If no examples remain, all examples are run. -/// -/// \param filter A filter that, given an example, returns a value indicating -/// whether that example should be included in the examples -/// that are run. -- (void)include:(BOOL (^ __nonnull)(Example * __nonnull))filter; - -/// Registers an exclusion filter. -/// -/// All examples that remain after being filtered by the inclusion filters are -/// then filtered via all exclusion filters. -/// -/// \param filter A filter that, given an example, returns a value indicating -/// whether that example should be excluded from the examples -/// that are run. -- (void)exclude:(BOOL (^ __nonnull)(Example * __nonnull))filter; - -/// Identical to Quick.Configuration.beforeEach, except the closure is -/// provided with metadata on the example that the closure is being run -/// prior to. -- (void)beforeEachWithMetadata:(void (^ __nonnull)(ExampleMetadata * __nonnull))closure; - -/// Like Quick.DSL.beforeEach, this configures Quick to execute the -/// given closure before each example that is run. The closure -/// passed to this method is executed before each example Quick runs, -/// globally across the test suite. You may call this method multiple -/// times across mulitple +[QuickConfigure configure:] methods in order -/// to define several closures to run before each example. -/// -/// Note that, since Quick makes no guarantee as to the order in which -/// +[QuickConfiguration configure:] methods are evaluated, there is no -/// guarantee as to the order in which beforeEach closures are evaluated -/// either. Mulitple beforeEach defined on a single configuration, however, -/// will be executed in the order they're defined. -/// -/// \param closure The closure to be executed before each example -/// in the test suite. -- (void)beforeEach:(void (^ __nonnull)(void))closure; - -/// Identical to Quick.Configuration.afterEach, except the closure -/// is provided with metadata on the example that the closure is being -/// run after. -- (void)afterEachWithMetadata:(void (^ __nonnull)(ExampleMetadata * __nonnull))closure; - -/// Like Quick.DSL.afterEach, this configures Quick to execute the -/// given closure after each example that is run. The closure -/// passed to this method is executed after each example Quick runs, -/// globally across the test suite. You may call this method multiple -/// times across mulitple +[QuickConfigure configure:] methods in order -/// to define several closures to run after each example. -/// -/// Note that, since Quick makes no guarantee as to the order in which -/// +[QuickConfiguration configure:] methods are evaluated, there is no -/// guarantee as to the order in which afterEach closures are evaluated -/// either. Mulitple afterEach defined on a single configuration, however, -/// will be executed in the order they're defined. -/// -/// \param closure The closure to be executed before each example -/// in the test suite. -- (void)afterEach:(void (^ __nonnull)(void))closure; - -/// Like Quick.DSL.beforeSuite, this configures Quick to execute -/// the given closure prior to any and all examples that are run. -/// The two methods are functionally equivalent. -- (void)beforeSuite:(void (^ __nonnull)(void))closure; - -/// Like Quick.DSL.afterSuite, this configures Quick to execute -/// the given closure after all examples have been run. -/// The two methods are functionally equivalent. -- (void)afterSuite:(void (^ __nonnull)(void))closure; -@end - - - -/// Examples, defined with the it function, use assertions to -/// demonstrate how code should behave. These are like "tests" in XCTest. -SWIFT_CLASS("_TtC5Quick7Example") -@interface Example - -/// A boolean indicating whether the example is a shared example; -/// i.e.: whether it is an example defined with itBehavesLike. -@property (nonatomic) BOOL isSharedExample; - -/// The site at which the example is defined. -/// This must be set correctly in order for Xcode to highlight -/// the correct line in red when reporting a failure. -@property (nonatomic) Callsite * __nonnull callsite; - -/// The example name. A name is a concatenation of the name of -/// the example group the example belongs to, followed by the -/// description of the example itself. -/// -/// The example name is used to generate a test method selector -/// to be displayed in Xcode's test navigator. -@property (nonatomic, readonly, copy) NSString * __nonnull name; - -/// Executes the example closure, as well as all before and after -/// closures defined in the its surrounding example groups. -- (void)run; -@end - - - -/// Example groups are logical groupings of examples, defined with -/// the describe and context functions. Example groups can share -/// setup and teardown code. -SWIFT_CLASS("_TtC5Quick12ExampleGroup") -@interface ExampleGroup - -/// Returns a list of examples that belong to this example group, -/// or to any of its descendant example groups. -@property (nonatomic, readonly, copy) NSArray * __nonnull examples; -@end - - - -/// A class that encapsulates information about an example, -/// including the index at which the example was executed, as -/// well as the example itself. -SWIFT_CLASS("_TtC5Quick15ExampleMetadata") -@interface ExampleMetadata - -/// The example for which this metadata was collected. -@property (nonatomic, readonly) Example * __nonnull example; - -/// The index at which this example was executed in the -/// test suite. -@property (nonatomic, readonly) NSInteger exampleIndex; -@end - - - -/// A namespace for filter flag keys, defined primarily to make the -/// keys available in Objective-C. -SWIFT_CLASS("QCKFilter") -@interface Filter - -/// Example and example groups with [Focused: true] are included in test runs, -/// excluding all other examples without this flag. Use this to only run one or -/// two tests that you're currently focusing on. -+ (NSString * __nonnull)focused; - -/// Example and example groups with [Pending: true] are excluded from test runs. -/// Use this to temporarily suspend examples that you know do not pass yet. -+ (NSString * __nonnull)pending; -@end - - - -/// A collection of state Quick builds up in order to work its magic. -/// World is primarily responsible for maintaining a mapping of QuickSpec -/// classes to root example groups for those classes. -/// -/// It also maintains a mapping of shared example names to shared -/// example closures. -/// -/// You may configure how Quick behaves by calling the -[World configure:] -/// method from within an overridden +[QuickConfiguration configure:] method. -SWIFT_CLASS("_TtC5Quick5World") -@interface World - -/// The example group that is currently being run. -/// The DSL requires that this group is correctly set in order to build a -/// correct hierarchy of example groups and their examples. -@property (nonatomic) ExampleGroup * __nullable currentExampleGroup; - -/// The example metadata of the test that is currently being run. -/// This is useful for using the Quick test metadata (like its name) at -/// runtime. -@property (nonatomic) ExampleMetadata * __nullable currentExampleMetadata; - -/// A flag that indicates whether additional test suites are being run -/// within this test suite. This is only true within the context of Quick -/// functional tests. -@property (nonatomic) BOOL isRunningAdditionalSuites; -+ (World * __nonnull)sharedWorld; - -/// Exposes the World's Configuration object within the scope of the closure -/// so that it may be configured. This method must not be called outside of -/// an overridden +[QuickConfiguration configure:] method. -/// -/// \param closure A closure that takes a Configuration object that can -/// be mutated to change Quick's behavior. -- (void)configure:(void (^ __nonnull)(Configuration * __nonnull))closure; - -/// Finalizes the World's configuration. -/// Any subsequent calls to World.configure() will raise. -- (void)finalizeConfiguration; - -/// Returns an internally constructed root example group for the given -/// QuickSpec class. -/// -/// A root example group with the description "root example group" is lazily -/// initialized for each QuickSpec class. This root example group wraps the -/// top level of a -[QuickSpec spec] method--it's thanks to this group that -/// users can define beforeEach and it closures at the top level, like so: -/// -///
override func spec() {

// These belong to the root example group -/// beforeEach {} -/// it("is at the top level") {}

}

-/// \param cls The QuickSpec class for which to retrieve the root example group. -/// -/// \returns The root example group for the class. -- (ExampleGroup * __nonnull)rootExampleGroupForSpecClass:(Class __nonnull)cls; - -/// Returns all examples that should be run for a given spec class. -/// There are two filtering passes that occur when determining which examples should be run. -/// That is, these examples are the ones that are included by inclusion filters, and are -/// not excluded by exclusion filters. -/// -/// \param specClass The QuickSpec subclass for which examples are to be returned. -/// -/// \returns A list of examples to be run as test invocations. -- (NSArray * __nonnull)examplesForSpecClass:(Class __nonnull)specClass; -@end - -@class NSDictionary; - -@interface World (SWIFT_EXTENSION(Quick)) -- (void)beforeSuite:(void (^ __nonnull)(void))closure; -- (void)afterSuite:(void (^ __nonnull)(void))closure; -- (void)sharedExamples:(NSString * __nonnull)name closure:(void (^ __nonnull)(NSDictionary * __nonnull (^ __nonnull)(void)))closure; -- (void)describe:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags closure:(void (^ __nonnull)(void))closure; -- (void)context:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags closure:(void (^ __nonnull)(void))closure; -- (void)fdescribe:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags closure:(void (^ __nonnull)(void))closure; -- (void)xdescribe:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags closure:(void (^ __nonnull)(void))closure; -- (void)beforeEach:(void (^ __nonnull)(void))closure; -- (void)beforeEachWithClosure:(void (^ __nonnull)(ExampleMetadata * __nonnull))closure; -- (void)afterEach:(void (^ __nonnull)(void))closure; -- (void)afterEachWithClosure:(void (^ __nonnull)(ExampleMetadata * __nonnull))closure; -- (void)itWithDescription:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSInteger)line closure:(void (^ __nonnull)(void))closure; -- (void)fitWithDescription:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSInteger)line closure:(void (^ __nonnull)(void))closure; -- (void)xitWithDescription:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSInteger)line closure:(void (^ __nonnull)(void))closure; -- (void)itBehavesLikeSharedExampleNamed:(NSString * __nonnull)name sharedExampleContext:(NSDictionary * __nonnull (^ __nonnull)(void))sharedExampleContext flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSInteger)line; -- (void)pending:(NSString * __nonnull)description closure:(void (^ __nonnull)(void))closure; -@end - -#pragma clang diagnostic pop diff --git a/Carthage/Build/Mac/Quick.framework/Versions/A/Headers/Quick.h b/Carthage/Build/Mac/Quick.framework/Versions/A/Headers/Quick.h deleted file mode 100644 index 0c1b72d..0000000 --- a/Carthage/Build/Mac/Quick.framework/Versions/A/Headers/Quick.h +++ /dev/null @@ -1,13 +0,0 @@ -#import - -//! Project version number for Quick. -FOUNDATION_EXPORT double QuickVersionNumber; - -//! Project version string for Quick. -FOUNDATION_EXPORT const unsigned char QuickVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - -#import -#import -#import diff --git a/Carthage/Build/Mac/Quick.framework/Versions/A/Headers/QuickConfiguration.h b/Carthage/Build/Mac/Quick.framework/Versions/A/Headers/QuickConfiguration.h deleted file mode 100644 index 5646199..0000000 --- a/Carthage/Build/Mac/Quick.framework/Versions/A/Headers/QuickConfiguration.h +++ /dev/null @@ -1,30 +0,0 @@ -#import - -@class Configuration; - -/** - Subclass QuickConfiguration and override the +[QuickConfiguration configure:] - method in order to configure how Quick behaves when running specs, or to define - shared examples that are used across spec files. - */ -@interface QuickConfiguration : NSObject - -/** - This method is executed on each subclass of this class before Quick runs - any examples. You may override this method on as many subclasses as you like, but - there is no guarantee as to the order in which these methods are executed. - - You can override this method in order to: - - 1. Configure how Quick behaves, by modifying properties on the Configuration object. - Setting the same properties in several methods has undefined behavior. - - 2. Define shared examples using `sharedExamples`. - - @param configuration A mutable object that is used to configure how Quick behaves on - a framework level. For details on all the options, see the - documentation in Configuration.swift. - */ -+ (void)configure:(Configuration *)configuration; - -@end diff --git a/Carthage/Build/Mac/Quick.framework/Versions/A/Headers/QuickSpec.h b/Carthage/Build/Mac/Quick.framework/Versions/A/Headers/QuickSpec.h deleted file mode 100644 index 08d0079..0000000 --- a/Carthage/Build/Mac/Quick.framework/Versions/A/Headers/QuickSpec.h +++ /dev/null @@ -1,48 +0,0 @@ -#import - -/** - QuickSpec is a base class all specs written in Quick inherit from. - They need to inherit from QuickSpec, a subclass of XCTestCase, in - order to be discovered by the XCTest framework. - - XCTest automatically compiles a list of XCTestCase subclasses included - in the test target. It iterates over each class in that list, and creates - a new instance of that class for each test method. It then creates an - "invocation" to execute that test method. The invocation is an instance of - NSInvocation, which represents a single message send in Objective-C. - The invocation is set on the XCTestCase instance, and the test is run. - - Most of the code in QuickSpec is dedicated to hooking into XCTest events. - First, when the spec is first loaded and before it is sent any messages, - the +[NSObject initialize] method is called. QuickSpec overrides this method - to call +[QuickSpec spec]. This builds the example group stacks and - registers them with Quick.World, a global register of examples. - - Then, XCTest queries QuickSpec for a list of test methods. Normally, XCTest - automatically finds all methods whose selectors begin with the string "test". - However, QuickSpec overrides this default behavior by implementing the - +[XCTestCase testInvocations] method. This method iterates over each example - registered in Quick.World, defines a new method for that example, and - returns an invocation to call that method to XCTest. Those invocations are - the tests that are run by XCTest. Their selector names are displayed in - the Xcode test navigation bar. - */ -@interface QuickSpec : XCTestCase - -/** - Override this method in your spec to define a set of example groups - and examples. - - override class func spec() { - describe("winter") { - it("is coming") { - // ... - } - } - } - - See DSL.swift for more information on what syntax is available. - */ -- (void)spec; - -@end diff --git a/Carthage/Build/Mac/Quick.framework/Versions/A/Modules/Quick.swiftmodule/x86_64.swiftdoc b/Carthage/Build/Mac/Quick.framework/Versions/A/Modules/Quick.swiftmodule/x86_64.swiftdoc deleted file mode 100644 index 4f8a918..0000000 Binary files a/Carthage/Build/Mac/Quick.framework/Versions/A/Modules/Quick.swiftmodule/x86_64.swiftdoc and /dev/null differ diff --git a/Carthage/Build/Mac/Quick.framework/Versions/A/Modules/Quick.swiftmodule/x86_64.swiftmodule b/Carthage/Build/Mac/Quick.framework/Versions/A/Modules/Quick.swiftmodule/x86_64.swiftmodule deleted file mode 100644 index b85abb7..0000000 Binary files a/Carthage/Build/Mac/Quick.framework/Versions/A/Modules/Quick.swiftmodule/x86_64.swiftmodule and /dev/null differ diff --git a/Carthage/Build/Mac/Quick.framework/Versions/A/Modules/module.modulemap b/Carthage/Build/Mac/Quick.framework/Versions/A/Modules/module.modulemap deleted file mode 100644 index 43f1882..0000000 --- a/Carthage/Build/Mac/Quick.framework/Versions/A/Modules/module.modulemap +++ /dev/null @@ -1,10 +0,0 @@ -framework module Quick { - umbrella header "Quick.h" - - export * - module * { export * } -} - -module Quick.Swift { - header "Quick-Swift.h" -} diff --git a/Carthage/Build/Mac/Quick.framework/Versions/A/Quick b/Carthage/Build/Mac/Quick.framework/Versions/A/Quick deleted file mode 100755 index b792848..0000000 Binary files a/Carthage/Build/Mac/Quick.framework/Versions/A/Quick and /dev/null differ diff --git a/Carthage/Build/Mac/Quick.framework/Versions/A/Resources/Info.plist b/Carthage/Build/Mac/Quick.framework/Versions/A/Resources/Info.plist deleted file mode 100644 index 977ce3f..0000000 --- a/Carthage/Build/Mac/Quick.framework/Versions/A/Resources/Info.plist +++ /dev/null @@ -1,42 +0,0 @@ - - - - - BuildMachineOSBuild - 14D136 - CFBundleDevelopmentRegion - en - CFBundleExecutable - Quick - CFBundleIdentifier - io.quick.Quick - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - Quick - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 6D1002 - DTPlatformVersion - GM - DTSDKBuild - 14D125 - DTSDKName - macosx10.10 - DTXcode - 0631 - DTXcodeBuild - 6D1002 - NSHumanReadableCopyright - Copyright © 2014 - present, Quick Team. All rights reserved. - - diff --git a/Carthage/Build/Mac/Quick.framework/Versions/Current b/Carthage/Build/Mac/Quick.framework/Versions/Current deleted file mode 120000 index 8c7e5a6..0000000 --- a/Carthage/Build/Mac/Quick.framework/Versions/Current +++ /dev/null @@ -1 +0,0 @@ -A \ No newline at end of file diff --git a/Carthage/Build/iOS/Nimble.framework/Headers/DSL.h b/Carthage/Build/iOS/Nimble.framework/Headers/DSL.h deleted file mode 100644 index 8186e1f..0000000 --- a/Carthage/Build/iOS/Nimble.framework/Headers/DSL.h +++ /dev/null @@ -1,120 +0,0 @@ -#import - -@class NMBExpectation; -@class NMBObjCBeCloseToMatcher; -@class NMBObjCRaiseExceptionMatcher; -@protocol NMBMatcher; - - -#define NIMBLE_EXPORT FOUNDATION_EXPORT - -#ifdef NIMBLE_DISABLE_SHORT_SYNTAX -#define NIMBLE_SHORT(PROTO, ORIGINAL) -#else -#define NIMBLE_SHORT(PROTO, ORIGINAL) FOUNDATION_STATIC_INLINE PROTO { return (ORIGINAL); } -#endif - -NIMBLE_EXPORT NMBExpectation *NMB_expect(id(^actualBlock)(), const char *file, unsigned int line); - -NIMBLE_EXPORT id NMB_equal(id expectedValue); -NIMBLE_SHORT(id equal(id expectedValue), - NMB_equal(expectedValue)); - -NIMBLE_EXPORT NMBObjCBeCloseToMatcher *NMB_beCloseTo(NSNumber *expectedValue); -NIMBLE_SHORT(NMBObjCBeCloseToMatcher *beCloseTo(id expectedValue), - NMB_beCloseTo(expectedValue)); - -NIMBLE_EXPORT id NMB_beAnInstanceOf(Class expectedClass); -NIMBLE_SHORT(id beAnInstanceOf(Class expectedClass), - NMB_beAnInstanceOf(expectedClass)); - -NIMBLE_EXPORT id NMB_beAKindOf(Class expectedClass); -NIMBLE_SHORT(id beAKindOf(Class expectedClass), - NMB_beAKindOf(expectedClass)); - -NIMBLE_EXPORT id NMB_beginWith(id itemElementOrSubstring); -NIMBLE_SHORT(id beginWith(id itemElementOrSubstring), - NMB_beginWith(itemElementOrSubstring)); - -NIMBLE_EXPORT id NMB_beGreaterThan(NSNumber *expectedValue); -NIMBLE_SHORT(id beGreaterThan(NSNumber *expectedValue), - NMB_beGreaterThan(expectedValue)); - -NIMBLE_EXPORT id NMB_beGreaterThanOrEqualTo(NSNumber *expectedValue); -NIMBLE_SHORT(id beGreaterThanOrEqualTo(NSNumber *expectedValue), - NMB_beGreaterThanOrEqualTo(expectedValue)); - -NIMBLE_EXPORT id NMB_beIdenticalTo(id expectedInstance); -NIMBLE_SHORT(id beIdenticalTo(id expectedInstance), - NMB_beIdenticalTo(expectedInstance)); - -NIMBLE_EXPORT id NMB_beLessThan(NSNumber *expectedValue); -NIMBLE_SHORT(id beLessThan(NSNumber *expectedValue), - NMB_beLessThan(expectedValue)); - -NIMBLE_EXPORT id NMB_beLessThanOrEqualTo(NSNumber *expectedValue); -NIMBLE_SHORT(id beLessThanOrEqualTo(NSNumber *expectedValue), - NMB_beLessThanOrEqualTo(expectedValue)); - -NIMBLE_EXPORT id NMB_beTruthy(void); -NIMBLE_SHORT(id beTruthy(void), - NMB_beTruthy()); - -NIMBLE_EXPORT id NMB_beFalsy(void); -NIMBLE_SHORT(id beFalsy(void), - NMB_beFalsy()); - -NIMBLE_EXPORT id NMB_beTrue(void); -NIMBLE_SHORT(id beTrue(void), - NMB_beTrue()); - -NIMBLE_EXPORT id NMB_beFalse(void); -NIMBLE_SHORT(id beFalse(void), - NMB_beFalse()); - -NIMBLE_EXPORT id NMB_beNil(void); -NIMBLE_SHORT(id beNil(void), - NMB_beNil()); - -NIMBLE_EXPORT id NMB_beEmpty(void); -NIMBLE_SHORT(id beEmpty(void), - NMB_beEmpty()); - -NIMBLE_EXPORT id NMB_contain(id itemOrSubstring); -NIMBLE_SHORT(id contain(id itemOrSubstring), - NMB_contain(itemOrSubstring)); - -NIMBLE_EXPORT id NMB_endWith(id itemElementOrSubstring); -NIMBLE_SHORT(id endWith(id itemElementOrSubstring), - NMB_endWith(itemElementOrSubstring)); - -NIMBLE_EXPORT NMBObjCRaiseExceptionMatcher *NMB_raiseException(void); -NIMBLE_SHORT(NMBObjCRaiseExceptionMatcher *raiseException(void), - NMB_raiseException()); - -NIMBLE_EXPORT id NMB_match(id expectedValue); -NIMBLE_SHORT(id match(id expectedValue), - NMB_match(expectedValue)); - -NIMBLE_EXPORT id NMB_allPass(id matcher); -NIMBLE_SHORT(id allPass(id matcher), - NMB_allPass(matcher)); - -// In order to preserve breakpoint behavior despite using macros to fill in __FILE__ and __LINE__, -// define a builder that populates __FILE__ and __LINE__, and returns a block that takes timeout -// and action arguments. See https://github.com/Quick/Quick/pull/185 for details. -typedef void (^NMBWaitUntilTimeoutBlock)(NSTimeInterval timeout, void (^action)(void (^)(void))); -typedef void (^NMBWaitUntilBlock)(void (^action)(void (^)(void))); - -NIMBLE_EXPORT NMBWaitUntilTimeoutBlock nmb_wait_until_timeout_builder(NSString *file, NSUInteger line); -NIMBLE_EXPORT NMBWaitUntilBlock nmb_wait_until_builder(NSString *file, NSUInteger line); - -#define NMB_waitUntilTimeout nmb_wait_until_timeout_builder(@(__FILE__), __LINE__) -#define NMB_waitUntil nmb_wait_until_builder(@(__FILE__), __LINE__) - -#ifndef NIMBLE_DISABLE_SHORT_SYNTAX -#define expect(...) NMB_expect(^id{ return (__VA_ARGS__); }, __FILE__, __LINE__) -#define expectAction(...) NMB_expect(^id{ (__VA_ARGS__); return nil; }, __FILE__, __LINE__) -#define waitUntilTimeout NMB_waitUntilTimeout -#define waitUntil NMB_waitUntil -#endif diff --git a/Carthage/Build/iOS/Nimble.framework/Headers/NMBExceptionCapture.h b/Carthage/Build/iOS/Nimble.framework/Headers/NMBExceptionCapture.h deleted file mode 100644 index 8be4a5a..0000000 --- a/Carthage/Build/iOS/Nimble.framework/Headers/NMBExceptionCapture.h +++ /dev/null @@ -1,8 +0,0 @@ -#import - -@interface NMBExceptionCapture : NSObject - -- (id)initWithHandler:(void(^)(NSException *))handler finally:(void(^)())finally; -- (void)tryBlock:(void(^)())unsafeBlock; - -@end diff --git a/Carthage/Build/iOS/Nimble.framework/Headers/Nimble-Swift.h b/Carthage/Build/iOS/Nimble.framework/Headers/Nimble-Swift.h deleted file mode 100644 index b339c90..0000000 --- a/Carthage/Build/iOS/Nimble.framework/Headers/Nimble-Swift.h +++ /dev/null @@ -1,363 +0,0 @@ -// Generated by Apple Swift version 1.2 (swiftlang-602.0.53.1 clang-602.0.53) -#pragma clang diagnostic push - -#if defined(__has_include) && __has_include() -# include -#endif - -#pragma clang diagnostic ignored "-Wauto-import" -#include -#include -#include -#include - -#if defined(__has_include) && __has_include() -# include -#elif !defined(__cplusplus) || __cplusplus < 201103L -typedef uint_least16_t char16_t; -typedef uint_least32_t char32_t; -#endif - -typedef struct _NSZone NSZone; - -#if !defined(SWIFT_PASTE) -# define SWIFT_PASTE_HELPER(x, y) x##y -# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) -#endif -#if !defined(SWIFT_METATYPE) -# define SWIFT_METATYPE(X) Class -#endif - -#if defined(__has_attribute) && __has_attribute(objc_runtime_name) -# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) -#else -# define SWIFT_RUNTIME_NAME(X) -#endif -#if !defined(SWIFT_CLASS_EXTRA) -# define SWIFT_CLASS_EXTRA -#endif -#if !defined(SWIFT_PROTOCOL_EXTRA) -# define SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_ENUM_EXTRA) -# define SWIFT_ENUM_EXTRA -#endif -#if !defined(SWIFT_CLASS) -# if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA -# else -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# endif -#endif - -#if !defined(SWIFT_PROTOCOL) -# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -#endif - -#if !defined(SWIFT_EXTENSION) -# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) -#endif - -#if !defined(OBJC_DESIGNATED_INITIALIZER) -# if defined(__has_attribute) && __has_attribute(objc_designated_initializer) -# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) -# else -# define OBJC_DESIGNATED_INITIALIZER -# endif -#endif -#if !defined(SWIFT_ENUM) -# define SWIFT_ENUM(_type, _name) enum _name : _type _name; enum SWIFT_ENUM_EXTRA _name : _type -#endif -#if __has_feature(nullability) -# define SWIFT_NULLABILITY(X) X -#else -# if !defined(__nonnull) -# define __nonnull -# endif -# if !defined(__nullable) -# define __nullable -# endif -# if !defined(__null_unspecified) -# define __null_unspecified -# endif -# define SWIFT_NULLABILITY(X) -#endif -#if defined(__has_feature) && __has_feature(modules) -@import Foundation; -@import ObjectiveC; -#endif - -#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" -#pragma clang diagnostic ignored "-Wduplicate-method-arg" - -SWIFT_CLASS("_TtC6Nimble14FailureMessage") -@interface FailureMessage -@property (nonatomic, copy) NSString * __nonnull expected; -@property (nonatomic, copy) NSString * __nullable actualValue; -@property (nonatomic, copy) NSString * __nonnull to; -@property (nonatomic, copy) NSString * __nonnull postfixMessage; -@property (nonatomic, copy) NSString * __nonnull postfixActual; -- (SWIFT_NULLABILITY(nonnull) instancetype)init OBJC_DESIGNATED_INITIALIZER; -- (NSString * __nonnull)stringValue; -@end - - - -/// Protocol for types that support only beEmpty() -SWIFT_PROTOCOL("_TtP6Nimble13NMBCollection_") -@protocol NMBCollection -@property (nonatomic, readonly) NSInteger count; -@end - - - -///
Protocol for types to support beLessThan(), beLessThanOrEqualTo(),

beGreaterThan(), beGreaterThanOrEqualTo(), and equal() matchers.

-/// Types that conform to Swift's Comparable protocol will work implicitly too -SWIFT_PROTOCOL("_TtP6Nimble13NMBComparable_") -@protocol NMBComparable -- (NSComparisonResult)NMB_compare:(id __null_unspecified)otherObject; -@end - - - -/// Protocol for types that support contain() matcher. -SWIFT_PROTOCOL("_TtP6Nimble12NMBContainer_") -@protocol NMBContainer -- (BOOL)containsObject:(id __null_unspecified)object; -@end - - - -/// Protocol for types to support beCloseTo() matcher -SWIFT_PROTOCOL("_TtP6Nimble20NMBDoubleConvertible_") -@protocol NMBDoubleConvertible -@property (nonatomic, readonly) double doubleValue; -@end - -@protocol NMBMatcher; - -SWIFT_CLASS("_TtC6Nimble14NMBExpectation") -@interface NMBExpectation : NSObject -- (SWIFT_NULLABILITY(nonnull) instancetype)initWithActualBlock:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock negative:(BOOL)negative file:(NSString * __nonnull)file line:(NSUInteger)line OBJC_DESIGNATED_INITIALIZER; -@property (nonatomic, readonly, copy) NMBExpectation * __nonnull (^ __nonnull withTimeout)(NSTimeInterval); -@property (nonatomic, readonly, copy) void (^ __nonnull to)(id __nonnull); -@property (nonatomic, readonly, copy) void (^ __nonnull toNot)(id __nonnull); -@property (nonatomic, readonly, copy) void (^ __nonnull notTo)(id __nonnull); -@property (nonatomic, readonly, copy) void (^ __nonnull toEventually)(id __nonnull); -@property (nonatomic, readonly, copy) void (^ __nonnull toEventuallyNot)(id __nonnull); -@end - -@class SourceLocation; - - -/// Objective-C interface to the Swift variant of Matcher. This gives you full control over -/// to() and toNot() behaviors when matching a value. -SWIFT_PROTOCOL("_TtP6Nimble10NMBMatcher_") -@protocol NMBMatcher -- (BOOL)matches:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location; -- (BOOL)doesNotMatch:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location; -@end - - -SWIFT_CLASS("_TtC6Nimble23NMBObjCBeCloseToMatcher") -@interface NMBObjCBeCloseToMatcher -- (BOOL)matches:(NSObject * __null_unspecified (^ __nonnull)(void))actualExpression failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location; -- (BOOL)doesNotMatch:(NSObject * __null_unspecified (^ __nonnull)(void))actualExpression failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location; -@property (nonatomic, readonly, copy) NMBObjCBeCloseToMatcher * __nonnull (^ __nonnull within)(double); -@end - - -SWIFT_CLASS("_TtC6Nimble14NMBObjCMatcher") -@interface NMBObjCMatcher -- (BOOL)matches:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location; -- (BOOL)doesNotMatch:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)endWithMatcher:(id __nonnull)expected; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)beNilMatcher; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)beEmptyMatcher; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)beIdenticalToMatcher:(NSObject * __nullable)expected; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)beginWithMatcher:(id __nonnull)expected; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)beGreaterThanOrEqualToMatcher:(id __nullable)expected; -@end - -@class NMBObjCRaiseExceptionMatcher; - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCRaiseExceptionMatcher * __nonnull)raiseExceptionMatcher; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)beGreaterThanMatcher:(id __nullable)expected; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)beLessThanMatcher:(id __nullable)expected; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (id __nonnull)equalMatcher:(NSObject * __nonnull)expected; -@end - -@class NSString; - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (id __nonnull)matchMatcher:(NSString * __nonnull)expected; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (id __nonnull)beAKindOfMatcher:(Class __nonnull)expected; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)allPassMatcher:(NMBObjCMatcher * __nonnull)matcher; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (id __nonnull)beAnInstanceOfMatcher:(Class __nonnull)expected; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)beLessThanOrEqualToMatcher:(id __nullable)expected; -@end - -@class NSNumber; - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCBeCloseToMatcher * __nonnull)beCloseToMatcher:(NSNumber * __nonnull)expected within:(double)within; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)containMatcher:(NSObject * __nullable)expected; -@end - - -@interface NMBObjCMatcher (SWIFT_EXTENSION(Nimble)) -+ (NMBObjCMatcher * __nonnull)beTruthyMatcher; -+ (NMBObjCMatcher * __nonnull)beFalsyMatcher; -+ (NMBObjCMatcher * __nonnull)beTrueMatcher; -+ (NMBObjCMatcher * __nonnull)beFalseMatcher; -@end - -@class NSDictionary; - -SWIFT_CLASS("_TtC6Nimble28NMBObjCRaiseExceptionMatcher") -@interface NMBObjCRaiseExceptionMatcher -- (BOOL)matches:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location; -- (BOOL)doesNotMatch:(NSObject * __null_unspecified (^ __nonnull)(void))actualBlock failureMessage:(FailureMessage * __nonnull)failureMessage location:(SourceLocation * __nonnull)location; -@property (nonatomic, readonly, copy) NMBObjCRaiseExceptionMatcher * __nonnull (^ __nonnull named)(NSString * __nonnull); -@property (nonatomic, readonly, copy) NMBObjCRaiseExceptionMatcher * __nonnull (^ __nonnull reason)(NSString * __nullable); -@property (nonatomic, readonly, copy) NMBObjCRaiseExceptionMatcher * __nonnull (^ __nonnull userInfo)(NSDictionary * __nullable); -@property (nonatomic, readonly, copy) NMBObjCRaiseExceptionMatcher * __nonnull (^ __nonnull withName)(id __nonnull); -@property (nonatomic, readonly, copy) NMBObjCRaiseExceptionMatcher * __nonnull (^ __nonnull withReason)(id __nonnull); -@property (nonatomic, readonly, copy) NMBObjCRaiseExceptionMatcher * __nonnull (^ __nonnull withUserInfo)(id __nonnull); -@end - - - -/// Protocol for types that support beginWith(), endWith(), beEmpty() matchers -SWIFT_PROTOCOL("_TtP6Nimble20NMBOrderedCollection_") -@protocol NMBOrderedCollection -- (NSInteger)indexOfObject:(id __null_unspecified)object; -@end - - - -/// Only classes, protocols, methods, properties, and subscript declarations can be -/// bridges to Objective-C via the @objc keyword. This class encapsulates callback-style -/// asynchronous waiting logic so that it may be called from Objective-C and Swift. -SWIFT_CLASS("_TtC6Nimble7NMBWait") -@interface NMBWait -+ (void)untilTimeout:(NSTimeInterval)timeout file:(NSString * __nonnull)file line:(NSUInteger)line action:(void (^ __nonnull)(void (^ __nonnull)(void)))action; -+ (void)untilFile:(NSString * __nonnull)file line:(NSUInteger)line action:(void (^ __nonnull)(void (^ __nonnull)(void)))action; -@end - - -@interface NSArray (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSArray (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSArray (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSDecimalNumber (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSDictionary (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSHashTable (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSHashTable (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSNumber (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSNumber (SWIFT_EXTENSION(Nimble)) -- (NSComparisonResult)NMB_compare:(id __null_unspecified)otherObject; -@end - - -@interface NSSet (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSSet (SWIFT_EXTENSION(Nimble)) -@end - - -@interface NSString (SWIFT_EXTENSION(Nimble)) -- (NSComparisonResult)NMB_compare:(id __null_unspecified)otherObject; -@end - - -SWIFT_CLASS("_TtC6Nimble14SourceLocation") -@interface SourceLocation -@property (nonatomic, readonly, copy) NSString * __nonnull file; -@property (nonatomic, readonly) NSUInteger line; -@property (nonatomic, readonly, copy) NSString * __nonnull description; -@end - -#pragma clang diagnostic pop diff --git a/Carthage/Build/iOS/Nimble.framework/Headers/Nimble.h b/Carthage/Build/iOS/Nimble.framework/Headers/Nimble.h deleted file mode 100644 index 4336218..0000000 --- a/Carthage/Build/iOS/Nimble.framework/Headers/Nimble.h +++ /dev/null @@ -1,6 +0,0 @@ -#import -#import -#import - -FOUNDATION_EXPORT double NimbleVersionNumber; -FOUNDATION_EXPORT const unsigned char NimbleVersionString[]; diff --git a/Carthage/Build/iOS/Nimble.framework/Info.plist b/Carthage/Build/iOS/Nimble.framework/Info.plist deleted file mode 100644 index 9b670bb..0000000 Binary files a/Carthage/Build/iOS/Nimble.framework/Info.plist and /dev/null differ diff --git a/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm.swiftdoc b/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm.swiftdoc deleted file mode 100644 index 5039090..0000000 Binary files a/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm.swiftdoc and /dev/null differ diff --git a/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm.swiftmodule b/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm.swiftmodule deleted file mode 100644 index 898e492..0000000 Binary files a/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm.swiftmodule and /dev/null differ diff --git a/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm64.swiftdoc b/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm64.swiftdoc deleted file mode 100644 index ccf486a..0000000 Binary files a/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm64.swiftdoc and /dev/null differ diff --git a/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm64.swiftmodule b/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm64.swiftmodule deleted file mode 100644 index c46d992..0000000 Binary files a/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/arm64.swiftmodule and /dev/null differ diff --git a/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/i386.swiftdoc b/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/i386.swiftdoc deleted file mode 100644 index f7571b2..0000000 Binary files a/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/i386.swiftdoc and /dev/null differ diff --git a/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/i386.swiftmodule b/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/i386.swiftmodule deleted file mode 100644 index 2a7bb2f..0000000 Binary files a/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/i386.swiftmodule and /dev/null differ diff --git a/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/x86_64.swiftdoc b/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/x86_64.swiftdoc deleted file mode 100644 index a55f2df..0000000 Binary files a/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/x86_64.swiftdoc and /dev/null differ diff --git a/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/x86_64.swiftmodule b/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/x86_64.swiftmodule deleted file mode 100644 index 7818595..0000000 Binary files a/Carthage/Build/iOS/Nimble.framework/Modules/Nimble.swiftmodule/x86_64.swiftmodule and /dev/null differ diff --git a/Carthage/Build/iOS/Nimble.framework/Modules/module.modulemap b/Carthage/Build/iOS/Nimble.framework/Modules/module.modulemap deleted file mode 100644 index a8769c2..0000000 --- a/Carthage/Build/iOS/Nimble.framework/Modules/module.modulemap +++ /dev/null @@ -1,10 +0,0 @@ -framework module Nimble { - umbrella header "Nimble.h" - - export * - module * { export * } -} - -module Nimble.Swift { - header "Nimble-Swift.h" -} diff --git a/Carthage/Build/iOS/Nimble.framework/Nimble b/Carthage/Build/iOS/Nimble.framework/Nimble deleted file mode 100755 index 9cd6eb3..0000000 Binary files a/Carthage/Build/iOS/Nimble.framework/Nimble and /dev/null differ diff --git a/Carthage/Build/iOS/Nimble.framework/_CodeSignature/CodeResources b/Carthage/Build/iOS/Nimble.framework/_CodeSignature/CodeResources deleted file mode 100644 index 1198ceb..0000000 --- a/Carthage/Build/iOS/Nimble.framework/_CodeSignature/CodeResources +++ /dev/null @@ -1,183 +0,0 @@ - - - - - files - - Headers/DSL.h - - efzUjc/0uiV6lnHEXTxaB8VcwOc= - - Headers/NMBExceptionCapture.h - - ncXv+PqMUjLHOJpiFz6BKmTAq5o= - - Headers/Nimble-Swift.h - - xIm+277er+mK0xzoe90/iMGvNHo= - - Headers/Nimble.h - - HXkPd6XbqY7QmdFCpOCNIHhI4v0= - - Info.plist - - p9GOp+d/8hqqMk8hmSo/5N4Veyk= - - Modules/Nimble.swiftmodule/arm.swiftdoc - - 8QhmkzUAQZXDoW+vJs7Ll0XjCB4= - - Modules/Nimble.swiftmodule/arm.swiftmodule - - 1SJrYNypgnplXUVFzQ8Hf8QOaAQ= - - Modules/Nimble.swiftmodule/arm64.swiftdoc - - kE/P5WvprV0kaqd2/jB8TCyKBZg= - - Modules/Nimble.swiftmodule/arm64.swiftmodule - - lPppUfMVxhnMzF5O8s0H06huodk= - - Modules/module.modulemap - - HraXvk1VTxnsGdY8oSlKGNkdg60= - - - files2 - - Headers/DSL.h - - efzUjc/0uiV6lnHEXTxaB8VcwOc= - - Headers/NMBExceptionCapture.h - - ncXv+PqMUjLHOJpiFz6BKmTAq5o= - - Headers/Nimble-Swift.h - - xIm+277er+mK0xzoe90/iMGvNHo= - - Headers/Nimble.h - - HXkPd6XbqY7QmdFCpOCNIHhI4v0= - - Modules/Nimble.swiftmodule/arm.swiftdoc - - 8QhmkzUAQZXDoW+vJs7Ll0XjCB4= - - Modules/Nimble.swiftmodule/arm.swiftmodule - - 1SJrYNypgnplXUVFzQ8Hf8QOaAQ= - - Modules/Nimble.swiftmodule/arm64.swiftdoc - - kE/P5WvprV0kaqd2/jB8TCyKBZg= - - Modules/Nimble.swiftmodule/arm64.swiftmodule - - lPppUfMVxhnMzF5O8s0H06huodk= - - Modules/module.modulemap - - HraXvk1VTxnsGdY8oSlKGNkdg60= - - - rules - - ^ - - ^.*\.lproj/ - - optional - - weight - 1000 - - ^.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^version.plist$ - - - rules2 - - .*\.dSYM($|/) - - weight - 11 - - ^ - - weight - 20 - - ^(.*/)?\.DS_Store$ - - omit - - weight - 2000 - - ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ - - nested - - weight - 10 - - ^.* - - ^.*\.lproj/ - - optional - - weight - 1000 - - ^.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^Info\.plist$ - - omit - - weight - 20 - - ^PkgInfo$ - - omit - - weight - 20 - - ^[^/]+$ - - nested - - weight - 10 - - ^embedded\.provisionprofile$ - - weight - 20 - - ^version\.plist$ - - weight - 20 - - - - diff --git a/Carthage/Build/iOS/Quick.framework/Headers/QCKDSL.h b/Carthage/Build/iOS/Quick.framework/Headers/QCKDSL.h deleted file mode 100644 index 7e63cbd..0000000 --- a/Carthage/Build/iOS/Quick.framework/Headers/QCKDSL.h +++ /dev/null @@ -1,211 +0,0 @@ -#import - -/** - Provides a hook for Quick to be configured before any examples are run. - Within this scope, override the +[QuickConfiguration configure:] method - to set properties on a configuration object to customize Quick behavior. - For details, see the documentation for Configuraiton.swift. - - @param name The name of the configuration class. Like any Objective-C - class name, this must be unique to the current runtime - environment. - */ -#define QuickConfigurationBegin(name) \ - @interface name : QuickConfiguration; @end \ - @implementation name \ - - -/** - Marks the end of a Quick configuration. - Make sure you put this after `QuickConfigurationBegin`. - */ -#define QuickConfigurationEnd \ - @end \ - - -/** - Defines a new QuickSpec. Define examples and example groups within the space - between this and `QuickSpecEnd`. - - @param name The name of the spec class. Like any Objective-C class name, this - must be unique to the current runtime environment. - */ -#define QuickSpecBegin(name) \ - @interface name : QuickSpec; @end \ - @implementation name \ - - (void)spec { \ - - -/** - Marks the end of a QuickSpec. Make sure you put this after `QuickSpecBegin`. - */ -#define QuickSpecEnd \ - } \ - @end \ - -typedef NSDictionary *(^QCKDSLSharedExampleContext)(void); -typedef void (^QCKDSLSharedExampleBlock)(QCKDSLSharedExampleContext); -typedef void (^QCKDSLEmptyBlock)(void); - -extern void qck_beforeSuite(QCKDSLEmptyBlock closure); -extern void qck_afterSuite(QCKDSLEmptyBlock closure); -extern void qck_sharedExamples(NSString *name, QCKDSLSharedExampleBlock closure); -extern void qck_describe(NSString *description, QCKDSLEmptyBlock closure); -extern void qck_context(NSString *description, QCKDSLEmptyBlock closure); -extern void qck_beforeEach(QCKDSLEmptyBlock closure); -extern void qck_afterEach(QCKDSLEmptyBlock closure); -extern void qck_pending(NSString *description, QCKDSLEmptyBlock closure); -extern void qck_xdescribe(NSString *description, QCKDSLEmptyBlock closure); -extern void qck_xcontext(NSString *description, QCKDSLEmptyBlock closure); -extern void qck_fdescribe(NSString *description, QCKDSLEmptyBlock closure); -extern void qck_fcontext(NSString *description, QCKDSLEmptyBlock closure); - -#ifndef QUICK_DISABLE_SHORT_SYNTAX -/** - Defines a closure to be run prior to any examples in the test suite. - You may define an unlimited number of these closures, but there is no - guarantee as to the order in which they're run. - - If the test suite crashes before the first example is run, this closure - will not be executed. - - @param closure The closure to be run prior to any examples in the test suite. - */ -static inline void beforeSuite(QCKDSLEmptyBlock closure) { - qck_beforeSuite(closure); -} - - -/** - Defines a closure to be run after all of the examples in the test suite. - You may define an unlimited number of these closures, but there is no - guarantee as to the order in which they're run. - - If the test suite crashes before all examples are run, this closure - will not be executed. - - @param closure The closure to be run after all of the examples in the test suite. - */ -static inline void afterSuite(QCKDSLEmptyBlock closure) { - qck_afterSuite(closure); -} - -/** - Defines a group of shared examples. These examples can be re-used in several locations - by using the `itBehavesLike` function. - - @param name The name of the shared example group. This must be unique across all shared example - groups defined in a test suite. - @param closure A closure containing the examples. This behaves just like an example group defined - using `describe` or `context`--the closure may contain any number of `beforeEach` - and `afterEach` closures, as well as any number of examples (defined using `it`). - */ -static inline void sharedExamples(NSString *name, QCKDSLSharedExampleBlock closure) { - qck_sharedExamples(name, closure); -} - -/** - Defines an example group. Example groups are logical groupings of examples. - Example groups can share setup and teardown code. - - @param description An arbitrary string describing the example group. - @param closure A closure that can contain other examples. - */ -static inline void describe(NSString *description, QCKDSLEmptyBlock closure) { - qck_describe(description, closure); -} - -/** - Defines an example group. Equivalent to `describe`. - */ -static inline void context(NSString *description, QCKDSLEmptyBlock closure) { - qck_context(description, closure); -} - -/** - Defines a closure to be run prior to each example in the current example - group. This closure is not run for pending or otherwise disabled examples. - An example group may contain an unlimited number of beforeEach. They'll be - run in the order they're defined, but you shouldn't rely on that behavior. - - @param closure The closure to be run prior to each example. - */ -static inline void beforeEach(QCKDSLEmptyBlock closure) { - qck_beforeEach(closure); -} - -/** - Defines a closure to be run after each example in the current example - group. This closure is not run for pending or otherwise disabled examples. - An example group may contain an unlimited number of afterEach. They'll be - run in the order they're defined, but you shouldn't rely on that behavior. - - @param closure The closure to be run after each example. - */ -static inline void afterEach(QCKDSLEmptyBlock closure) { - qck_afterEach(closure); -} - -/** - Defines an example or example group that should not be executed. Use `pending` to temporarily disable - examples or groups that should not be run yet. - - @param description An arbitrary string describing the example or example group. - @param closure A closure that will not be evaluated. - */ -static inline void pending(NSString *description, QCKDSLEmptyBlock closure) { - qck_pending(description, closure); -} - -/** - Use this to quickly mark a `describe` block as pending. - This disables all examples within the block. - */ -static inline void xdescribe(NSString *description, QCKDSLEmptyBlock closure) { - qck_xdescribe(description, closure); -} - -/** - Use this to quickly mark a `context` block as pending. - This disables all examples within the block. - */ -static inline void xcontext(NSString *description, QCKDSLEmptyBlock closure) { - qck_xcontext(description, closure); -} - -/** - Use this to quickly focus a `describe` block, focusing the examples in the block. - If any examples in the test suite are focused, only those examples are executed. - This trumps any explicitly focused or unfocused examples within the block--they are all treated as focused. - */ -static inline void fdescribe(NSString *description, QCKDSLEmptyBlock closure) { - qck_fdescribe(description, closure); -} - -/** - Use this to quickly focus a `context` block. Equivalent to `fdescribe`. - */ -static inline void fcontext(NSString *description, QCKDSLEmptyBlock closure) { - qck_fcontext(description, closure); -} - -#define it qck_it -#define xit qck_xit -#define fit qck_fit -#define itBehavesLike qck_itBehavesLike -#define xitBehavesLike qck_xitBehavesLike -#define fitBehavesLike qck_fitBehavesLike -#endif - -#define qck_it qck_it_builder(@{}, @(__FILE__), __LINE__) -#define qck_xit qck_it_builder(@{Filter.pending: @YES}, @(__FILE__), __LINE__) -#define qck_fit qck_it_builder(@{Filter.focused: @YES}, @(__FILE__), __LINE__) -#define qck_itBehavesLike qck_itBehavesLike_builder(@{}, @(__FILE__), __LINE__) -#define qck_xitBehavesLike qck_itBehavesLike_builder(@{Filter.pending: @YES}, @(__FILE__), __LINE__) -#define qck_fitBehavesLike qck_itBehavesLike_builder(@{Filter.focused: @YES}, @(__FILE__), __LINE__) - -typedef void (^QCKItBlock)(NSString *description, QCKDSLEmptyBlock closure); -typedef void (^QCKItBehavesLikeBlock)(NSString *description, QCKDSLSharedExampleContext context); - -extern QCKItBlock qck_it_builder(NSDictionary *flags, NSString *file, NSUInteger line); -extern QCKItBehavesLikeBlock qck_itBehavesLike_builder(NSDictionary *flags, NSString *file, NSUInteger line); diff --git a/Carthage/Build/iOS/Quick.framework/Headers/Quick-Swift.h b/Carthage/Build/iOS/Quick.framework/Headers/Quick-Swift.h deleted file mode 100644 index 62fbf88..0000000 --- a/Carthage/Build/iOS/Quick.framework/Headers/Quick-Swift.h +++ /dev/null @@ -1,356 +0,0 @@ -// Generated by Apple Swift version 1.2 (swiftlang-602.0.49.6 clang-602.0.49) -#pragma clang diagnostic push - -#if defined(__has_include) && __has_include() -# include -#endif - -#pragma clang diagnostic ignored "-Wauto-import" -#include -#include -#include -#include - -#if defined(__has_include) && __has_include() -# include -#elif !defined(__cplusplus) || __cplusplus < 201103L -typedef uint_least16_t char16_t; -typedef uint_least32_t char32_t; -#endif - -typedef struct _NSZone NSZone; - -#if !defined(SWIFT_PASTE) -# define SWIFT_PASTE_HELPER(x, y) x##y -# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) -#endif -#if !defined(SWIFT_METATYPE) -# define SWIFT_METATYPE(X) Class -#endif - -#if defined(__has_attribute) && __has_attribute(objc_runtime_name) -# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) -#else -# define SWIFT_RUNTIME_NAME(X) -#endif -#if !defined(SWIFT_CLASS_EXTRA) -# define SWIFT_CLASS_EXTRA -#endif -#if !defined(SWIFT_PROTOCOL_EXTRA) -# define SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_ENUM_EXTRA) -# define SWIFT_ENUM_EXTRA -#endif -#if !defined(SWIFT_CLASS) -# if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA -# else -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# endif -#endif - -#if !defined(SWIFT_PROTOCOL) -# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -#endif - -#if !defined(SWIFT_EXTENSION) -# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) -#endif - -#if !defined(OBJC_DESIGNATED_INITIALIZER) -# if defined(__has_attribute) && __has_attribute(objc_designated_initializer) -# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) -# else -# define OBJC_DESIGNATED_INITIALIZER -# endif -#endif -#if !defined(SWIFT_ENUM) -# define SWIFT_ENUM(_type, _name) enum _name : _type _name; enum SWIFT_ENUM_EXTRA _name : _type -#endif -#if __has_feature(nullability) -# define SWIFT_NULLABILITY(X) X -#else -# if !defined(__nonnull) -# define __nonnull -# endif -# if !defined(__nullable) -# define __nullable -# endif -# if !defined(__null_unspecified) -# define __null_unspecified -# endif -# define SWIFT_NULLABILITY(X) -#endif -#if defined(__has_feature) && __has_feature(modules) -#endif - -#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" -#pragma clang diagnostic ignored "-Wduplicate-method-arg" - - -/// An object encapsulating the file and line number at which -/// a particular example is defined. -SWIFT_CLASS("_TtC5Quick8Callsite") -@interface Callsite - -/// The absolute path of the file in which an example is defined. -@property (nonatomic, readonly, copy) NSString * __nonnull file; - -/// The line number on which an example is defined. -@property (nonatomic, readonly) NSInteger line; -@end - -@class Example; -@class ExampleMetadata; - - -/// A configuration encapsulates various options you can use -/// to configure Quick's behavior. -SWIFT_CLASS("_TtC5Quick13Configuration") -@interface Configuration - -/// Run all examples if none match the configured filters. True by default. -@property (nonatomic) BOOL runAllWhenEverythingFiltered; - -/// Registers an inclusion filter. -/// -/// All examples are filtered using all inclusion filters. -/// The remaining examples are run. If no examples remain, all examples are run. -/// -/// \param filter A filter that, given an example, returns a value indicating -/// whether that example should be included in the examples -/// that are run. -- (void)include:(BOOL (^ __nonnull)(Example * __nonnull))filter; - -/// Registers an exclusion filter. -/// -/// All examples that remain after being filtered by the inclusion filters are -/// then filtered via all exclusion filters. -/// -/// \param filter A filter that, given an example, returns a value indicating -/// whether that example should be excluded from the examples -/// that are run. -- (void)exclude:(BOOL (^ __nonnull)(Example * __nonnull))filter; - -/// Identical to Quick.Configuration.beforeEach, except the closure is -/// provided with metadata on the example that the closure is being run -/// prior to. -- (void)beforeEachWithMetadata:(void (^ __nonnull)(ExampleMetadata * __nonnull))closure; - -/// Like Quick.DSL.beforeEach, this configures Quick to execute the -/// given closure before each example that is run. The closure -/// passed to this method is executed before each example Quick runs, -/// globally across the test suite. You may call this method multiple -/// times across mulitple +[QuickConfigure configure:] methods in order -/// to define several closures to run before each example. -/// -/// Note that, since Quick makes no guarantee as to the order in which -/// +[QuickConfiguration configure:] methods are evaluated, there is no -/// guarantee as to the order in which beforeEach closures are evaluated -/// either. Mulitple beforeEach defined on a single configuration, however, -/// will be executed in the order they're defined. -/// -/// \param closure The closure to be executed before each example -/// in the test suite. -- (void)beforeEach:(void (^ __nonnull)(void))closure; - -/// Identical to Quick.Configuration.afterEach, except the closure -/// is provided with metadata on the example that the closure is being -/// run after. -- (void)afterEachWithMetadata:(void (^ __nonnull)(ExampleMetadata * __nonnull))closure; - -/// Like Quick.DSL.afterEach, this configures Quick to execute the -/// given closure after each example that is run. The closure -/// passed to this method is executed after each example Quick runs, -/// globally across the test suite. You may call this method multiple -/// times across mulitple +[QuickConfigure configure:] methods in order -/// to define several closures to run after each example. -/// -/// Note that, since Quick makes no guarantee as to the order in which -/// +[QuickConfiguration configure:] methods are evaluated, there is no -/// guarantee as to the order in which afterEach closures are evaluated -/// either. Mulitple afterEach defined on a single configuration, however, -/// will be executed in the order they're defined. -/// -/// \param closure The closure to be executed before each example -/// in the test suite. -- (void)afterEach:(void (^ __nonnull)(void))closure; - -/// Like Quick.DSL.beforeSuite, this configures Quick to execute -/// the given closure prior to any and all examples that are run. -/// The two methods are functionally equivalent. -- (void)beforeSuite:(void (^ __nonnull)(void))closure; - -/// Like Quick.DSL.afterSuite, this configures Quick to execute -/// the given closure after all examples have been run. -/// The two methods are functionally equivalent. -- (void)afterSuite:(void (^ __nonnull)(void))closure; -@end - - - -/// Examples, defined with the it function, use assertions to -/// demonstrate how code should behave. These are like "tests" in XCTest. -SWIFT_CLASS("_TtC5Quick7Example") -@interface Example - -/// A boolean indicating whether the example is a shared example; -/// i.e.: whether it is an example defined with itBehavesLike. -@property (nonatomic) BOOL isSharedExample; - -/// The site at which the example is defined. -/// This must be set correctly in order for Xcode to highlight -/// the correct line in red when reporting a failure. -@property (nonatomic) Callsite * __nonnull callsite; - -/// The example name. A name is a concatenation of the name of -/// the example group the example belongs to, followed by the -/// description of the example itself. -/// -/// The example name is used to generate a test method selector -/// to be displayed in Xcode's test navigator. -@property (nonatomic, readonly, copy) NSString * __nonnull name; - -/// Executes the example closure, as well as all before and after -/// closures defined in the its surrounding example groups. -- (void)run; -@end - - - -/// Example groups are logical groupings of examples, defined with -/// the describe and context functions. Example groups can share -/// setup and teardown code. -SWIFT_CLASS("_TtC5Quick12ExampleGroup") -@interface ExampleGroup - -/// Returns a list of examples that belong to this example group, -/// or to any of its descendant example groups. -@property (nonatomic, readonly, copy) NSArray * __nonnull examples; -@end - - - -/// A class that encapsulates information about an example, -/// including the index at which the example was executed, as -/// well as the example itself. -SWIFT_CLASS("_TtC5Quick15ExampleMetadata") -@interface ExampleMetadata - -/// The example for which this metadata was collected. -@property (nonatomic, readonly) Example * __nonnull example; - -/// The index at which this example was executed in the -/// test suite. -@property (nonatomic, readonly) NSInteger exampleIndex; -@end - - - -/// A namespace for filter flag keys, defined primarily to make the -/// keys available in Objective-C. -SWIFT_CLASS("QCKFilter") -@interface Filter - -/// Example and example groups with [Focused: true] are included in test runs, -/// excluding all other examples without this flag. Use this to only run one or -/// two tests that you're currently focusing on. -+ (NSString * __nonnull)focused; - -/// Example and example groups with [Pending: true] are excluded from test runs. -/// Use this to temporarily suspend examples that you know do not pass yet. -+ (NSString * __nonnull)pending; -@end - - - -/// A collection of state Quick builds up in order to work its magic. -/// World is primarily responsible for maintaining a mapping of QuickSpec -/// classes to root example groups for those classes. -/// -/// It also maintains a mapping of shared example names to shared -/// example closures. -/// -/// You may configure how Quick behaves by calling the -[World configure:] -/// method from within an overridden +[QuickConfiguration configure:] method. -SWIFT_CLASS("_TtC5Quick5World") -@interface World - -/// The example group that is currently being run. -/// The DSL requires that this group is correctly set in order to build a -/// correct hierarchy of example groups and their examples. -@property (nonatomic) ExampleGroup * __nullable currentExampleGroup; - -/// The example metadata of the test that is currently being run. -/// This is useful for using the Quick test metadata (like its name) at -/// runtime. -@property (nonatomic) ExampleMetadata * __nullable currentExampleMetadata; - -/// A flag that indicates whether additional test suites are being run -/// within this test suite. This is only true within the context of Quick -/// functional tests. -@property (nonatomic) BOOL isRunningAdditionalSuites; -+ (World * __nonnull)sharedWorld; - -/// Exposes the World's Configuration object within the scope of the closure -/// so that it may be configured. This method must not be called outside of -/// an overridden +[QuickConfiguration configure:] method. -/// -/// \param closure A closure that takes a Configuration object that can -/// be mutated to change Quick's behavior. -- (void)configure:(void (^ __nonnull)(Configuration * __nonnull))closure; - -/// Finalizes the World's configuration. -/// Any subsequent calls to World.configure() will raise. -- (void)finalizeConfiguration; - -/// Returns an internally constructed root example group for the given -/// QuickSpec class. -/// -/// A root example group with the description "root example group" is lazily -/// initialized for each QuickSpec class. This root example group wraps the -/// top level of a -[QuickSpec spec] method--it's thanks to this group that -/// users can define beforeEach and it closures at the top level, like so: -/// -///
override func spec() {

// These belong to the root example group -/// beforeEach {} -/// it("is at the top level") {}

}

-/// \param cls The QuickSpec class for which to retrieve the root example group. -/// -/// \returns The root example group for the class. -- (ExampleGroup * __nonnull)rootExampleGroupForSpecClass:(Class __nonnull)cls; - -/// Returns all examples that should be run for a given spec class. -/// There are two filtering passes that occur when determining which examples should be run. -/// That is, these examples are the ones that are included by inclusion filters, and are -/// not excluded by exclusion filters. -/// -/// \param specClass The QuickSpec subclass for which examples are to be returned. -/// -/// \returns A list of examples to be run as test invocations. -- (NSArray * __nonnull)examplesForSpecClass:(Class __nonnull)specClass; -@end - -@class NSDictionary; - -@interface World (SWIFT_EXTENSION(Quick)) -- (void)beforeSuite:(void (^ __nonnull)(void))closure; -- (void)afterSuite:(void (^ __nonnull)(void))closure; -- (void)sharedExamples:(NSString * __nonnull)name closure:(void (^ __nonnull)(NSDictionary * __nonnull (^ __nonnull)(void)))closure; -- (void)describe:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags closure:(void (^ __nonnull)(void))closure; -- (void)context:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags closure:(void (^ __nonnull)(void))closure; -- (void)fdescribe:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags closure:(void (^ __nonnull)(void))closure; -- (void)xdescribe:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags closure:(void (^ __nonnull)(void))closure; -- (void)beforeEach:(void (^ __nonnull)(void))closure; -- (void)beforeEachWithClosure:(void (^ __nonnull)(ExampleMetadata * __nonnull))closure; -- (void)afterEach:(void (^ __nonnull)(void))closure; -- (void)afterEachWithClosure:(void (^ __nonnull)(ExampleMetadata * __nonnull))closure; -- (void)itWithDescription:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSInteger)line closure:(void (^ __nonnull)(void))closure; -- (void)fitWithDescription:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSInteger)line closure:(void (^ __nonnull)(void))closure; -- (void)xitWithDescription:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSInteger)line closure:(void (^ __nonnull)(void))closure; -- (void)itBehavesLikeSharedExampleNamed:(NSString * __nonnull)name sharedExampleContext:(NSDictionary * __nonnull (^ __nonnull)(void))sharedExampleContext flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSInteger)line; -- (void)pending:(NSString * __nonnull)description closure:(void (^ __nonnull)(void))closure; -@end - -#pragma clang diagnostic pop diff --git a/Carthage/Build/iOS/Quick.framework/Headers/Quick.h b/Carthage/Build/iOS/Quick.framework/Headers/Quick.h deleted file mode 100644 index 0c1b72d..0000000 --- a/Carthage/Build/iOS/Quick.framework/Headers/Quick.h +++ /dev/null @@ -1,13 +0,0 @@ -#import - -//! Project version number for Quick. -FOUNDATION_EXPORT double QuickVersionNumber; - -//! Project version string for Quick. -FOUNDATION_EXPORT const unsigned char QuickVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - -#import -#import -#import diff --git a/Carthage/Build/iOS/Quick.framework/Headers/QuickConfiguration.h b/Carthage/Build/iOS/Quick.framework/Headers/QuickConfiguration.h deleted file mode 100644 index 5646199..0000000 --- a/Carthage/Build/iOS/Quick.framework/Headers/QuickConfiguration.h +++ /dev/null @@ -1,30 +0,0 @@ -#import - -@class Configuration; - -/** - Subclass QuickConfiguration and override the +[QuickConfiguration configure:] - method in order to configure how Quick behaves when running specs, or to define - shared examples that are used across spec files. - */ -@interface QuickConfiguration : NSObject - -/** - This method is executed on each subclass of this class before Quick runs - any examples. You may override this method on as many subclasses as you like, but - there is no guarantee as to the order in which these methods are executed. - - You can override this method in order to: - - 1. Configure how Quick behaves, by modifying properties on the Configuration object. - Setting the same properties in several methods has undefined behavior. - - 2. Define shared examples using `sharedExamples`. - - @param configuration A mutable object that is used to configure how Quick behaves on - a framework level. For details on all the options, see the - documentation in Configuration.swift. - */ -+ (void)configure:(Configuration *)configuration; - -@end diff --git a/Carthage/Build/iOS/Quick.framework/Headers/QuickSpec.h b/Carthage/Build/iOS/Quick.framework/Headers/QuickSpec.h deleted file mode 100644 index 08d0079..0000000 --- a/Carthage/Build/iOS/Quick.framework/Headers/QuickSpec.h +++ /dev/null @@ -1,48 +0,0 @@ -#import - -/** - QuickSpec is a base class all specs written in Quick inherit from. - They need to inherit from QuickSpec, a subclass of XCTestCase, in - order to be discovered by the XCTest framework. - - XCTest automatically compiles a list of XCTestCase subclasses included - in the test target. It iterates over each class in that list, and creates - a new instance of that class for each test method. It then creates an - "invocation" to execute that test method. The invocation is an instance of - NSInvocation, which represents a single message send in Objective-C. - The invocation is set on the XCTestCase instance, and the test is run. - - Most of the code in QuickSpec is dedicated to hooking into XCTest events. - First, when the spec is first loaded and before it is sent any messages, - the +[NSObject initialize] method is called. QuickSpec overrides this method - to call +[QuickSpec spec]. This builds the example group stacks and - registers them with Quick.World, a global register of examples. - - Then, XCTest queries QuickSpec for a list of test methods. Normally, XCTest - automatically finds all methods whose selectors begin with the string "test". - However, QuickSpec overrides this default behavior by implementing the - +[XCTestCase testInvocations] method. This method iterates over each example - registered in Quick.World, defines a new method for that example, and - returns an invocation to call that method to XCTest. Those invocations are - the tests that are run by XCTest. Their selector names are displayed in - the Xcode test navigation bar. - */ -@interface QuickSpec : XCTestCase - -/** - Override this method in your spec to define a set of example groups - and examples. - - override class func spec() { - describe("winter") { - it("is coming") { - // ... - } - } - } - - See DSL.swift for more information on what syntax is available. - */ -- (void)spec; - -@end diff --git a/Carthage/Build/iOS/Quick.framework/Info.plist b/Carthage/Build/iOS/Quick.framework/Info.plist deleted file mode 100644 index 76ecfa1..0000000 Binary files a/Carthage/Build/iOS/Quick.framework/Info.plist and /dev/null differ diff --git a/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm.swiftdoc b/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm.swiftdoc deleted file mode 100644 index fea729a..0000000 Binary files a/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm.swiftdoc and /dev/null differ diff --git a/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm.swiftmodule b/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm.swiftmodule deleted file mode 100644 index f4f6332..0000000 Binary files a/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm.swiftmodule and /dev/null differ diff --git a/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm64.swiftdoc b/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm64.swiftdoc deleted file mode 100644 index 1469906..0000000 Binary files a/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm64.swiftdoc and /dev/null differ diff --git a/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm64.swiftmodule b/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm64.swiftmodule deleted file mode 100644 index c09abef..0000000 Binary files a/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/arm64.swiftmodule and /dev/null differ diff --git a/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/i386.swiftdoc b/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/i386.swiftdoc deleted file mode 100644 index e3cce09..0000000 Binary files a/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/i386.swiftdoc and /dev/null differ diff --git a/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/i386.swiftmodule b/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/i386.swiftmodule deleted file mode 100644 index dd53855..0000000 Binary files a/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/i386.swiftmodule and /dev/null differ diff --git a/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/x86_64.swiftdoc b/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/x86_64.swiftdoc deleted file mode 100644 index 1a4c52b..0000000 Binary files a/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/x86_64.swiftdoc and /dev/null differ diff --git a/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/x86_64.swiftmodule b/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/x86_64.swiftmodule deleted file mode 100644 index 77df20f..0000000 Binary files a/Carthage/Build/iOS/Quick.framework/Modules/Quick.swiftmodule/x86_64.swiftmodule and /dev/null differ diff --git a/Carthage/Build/iOS/Quick.framework/Modules/module.modulemap b/Carthage/Build/iOS/Quick.framework/Modules/module.modulemap deleted file mode 100644 index 43f1882..0000000 --- a/Carthage/Build/iOS/Quick.framework/Modules/module.modulemap +++ /dev/null @@ -1,10 +0,0 @@ -framework module Quick { - umbrella header "Quick.h" - - export * - module * { export * } -} - -module Quick.Swift { - header "Quick-Swift.h" -} diff --git a/Carthage/Build/iOS/Quick.framework/Quick b/Carthage/Build/iOS/Quick.framework/Quick deleted file mode 100755 index 88fb1e6..0000000 Binary files a/Carthage/Build/iOS/Quick.framework/Quick and /dev/null differ diff --git a/Carthage/Build/iOS/Quick.framework/_CodeSignature/CodeResources b/Carthage/Build/iOS/Quick.framework/_CodeSignature/CodeResources deleted file mode 100644 index e42c2e9..0000000 --- a/Carthage/Build/iOS/Quick.framework/_CodeSignature/CodeResources +++ /dev/null @@ -1,191 +0,0 @@ - - - - - files - - Headers/QCKDSL.h - - 7PbIJRcEKu110FAe5LNaPVYKGuw= - - Headers/Quick-Swift.h - - GhK9GU5/z4W4V5yhuvfd4uoOZFw= - - Headers/Quick.h - - 59agZ84aHaMJ7CsoHmcDe6PDCqc= - - Headers/QuickConfiguration.h - - nEtQvPA7W793Xa7hm7CqJF94SiY= - - Headers/QuickSpec.h - - JgnCxF7XdP++mBPDkQpO8cfDoKA= - - Info.plist - - XWFFPghetL4m69yPy1WgY75vOb0= - - Modules/Quick.swiftmodule/arm.swiftdoc - - nneJJXwVKWmSU81eyoS62MNPye4= - - Modules/Quick.swiftmodule/arm.swiftmodule - - KWhSUjdbqZoeGrvhAsJXNSXB8fk= - - Modules/Quick.swiftmodule/arm64.swiftdoc - - cly/Ztl6hanO5tcRLYTNPvZRfsY= - - Modules/Quick.swiftmodule/arm64.swiftmodule - - 84q3u7/hF9gS/TlZnmAJTrMWxos= - - Modules/module.modulemap - - QfbrXg9M17t7M1mX9Yzh72ZIg20= - - - files2 - - Headers/QCKDSL.h - - 7PbIJRcEKu110FAe5LNaPVYKGuw= - - Headers/Quick-Swift.h - - GhK9GU5/z4W4V5yhuvfd4uoOZFw= - - Headers/Quick.h - - 59agZ84aHaMJ7CsoHmcDe6PDCqc= - - Headers/QuickConfiguration.h - - nEtQvPA7W793Xa7hm7CqJF94SiY= - - Headers/QuickSpec.h - - JgnCxF7XdP++mBPDkQpO8cfDoKA= - - Modules/Quick.swiftmodule/arm.swiftdoc - - nneJJXwVKWmSU81eyoS62MNPye4= - - Modules/Quick.swiftmodule/arm.swiftmodule - - KWhSUjdbqZoeGrvhAsJXNSXB8fk= - - Modules/Quick.swiftmodule/arm64.swiftdoc - - cly/Ztl6hanO5tcRLYTNPvZRfsY= - - Modules/Quick.swiftmodule/arm64.swiftmodule - - 84q3u7/hF9gS/TlZnmAJTrMWxos= - - Modules/module.modulemap - - QfbrXg9M17t7M1mX9Yzh72ZIg20= - - - rules - - ^ - - ^.*\.lproj/ - - optional - - weight - 1000 - - ^.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^version.plist$ - - - rules2 - - .*\.dSYM($|/) - - weight - 11 - - ^ - - weight - 20 - - ^(.*/)?\.DS_Store$ - - omit - - weight - 2000 - - ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ - - nested - - weight - 10 - - ^.* - - ^.*\.lproj/ - - optional - - weight - 1000 - - ^.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^Info\.plist$ - - omit - - weight - 20 - - ^PkgInfo$ - - omit - - weight - 20 - - ^[^/]+$ - - nested - - weight - 10 - - ^embedded\.provisionprofile$ - - weight - 20 - - ^version\.plist$ - - weight - 20 - - - - diff --git a/Carthage/Checkouts/Nimble b/Carthage/Checkouts/Nimble new file mode 160000 index 0000000..8927113 --- /dev/null +++ b/Carthage/Checkouts/Nimble @@ -0,0 +1 @@ +Subproject commit 8927113f877f32c8a01b41b746c4ac261b42c48e diff --git a/Carthage/Checkouts/Quick b/Carthage/Checkouts/Quick new file mode 160000 index 0000000..8bf96f7 --- /dev/null +++ b/Carthage/Checkouts/Quick @@ -0,0 +1 @@ +Subproject commit 8bf96f708924d728dab5f0cf7543b6f1b896a209 diff --git a/JWTDecode.xcodeproj/project.pbxproj b/JWTDecode.xcodeproj/project.pbxproj index 1667ce5..2f6f16c 100644 --- a/JWTDecode.xcodeproj/project.pbxproj +++ b/JWTDecode.xcodeproj/project.pbxproj @@ -15,15 +15,15 @@ 5F0069141B3B532E0048928E /* JWTDecode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F0069091B3B532E0048928E /* JWTDecode.framework */; }; 5F0069231B3C4A7F0048928E /* JWTDecodeSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F0069221B3C4A7F0048928E /* JWTDecodeSpec.swift */; }; 5F0069241B3C4A860048928E /* JWTDecodeSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F0069221B3C4A7F0048928E /* JWTDecodeSpec.swift */; }; - 5F0069281B3C52210048928E /* Nimble.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5F0068FE1B3B50EA0048928E /* Nimble.framework */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - 5F0069291B3C52210048928E /* Quick.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5F0068FF1B3B50EA0048928E /* Quick.framework */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 5F0069391B3C790D0048928E /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F0069371B3C790D0048928E /* Nimble.framework */; }; 5F00693A1B3C790D0048928E /* Quick.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F0069381B3C790D0048928E /* Quick.framework */; }; - 5F00693B1B3C79560048928E /* Nimble.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5F0069371B3C790D0048928E /* Nimble.framework */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; - 5F00693C1B3C79560048928E /* Quick.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5F0069381B3C790D0048928E /* Quick.framework */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 5F00693D1B3C7B630048928E /* JWTDecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F0068E71B3B46240048928E /* JWTDecode.h */; settings = {ATTRIBUTES = (Public, ); }; }; 5F00693E1B3C7B930048928E /* JWTDecode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F0069021B3B511F0048928E /* JWTDecode.swift */; }; 5F0069411B3C828F0048928E /* A0JWTDecodeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F0069401B3C828F0048928E /* A0JWTDecodeSpec.m */; }; + 5F05AF7F1B62E9C200C4A9E6 /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F05AF7D1B62E9C200C4A9E6 /* Nimble.framework */; }; + 5F05AF801B62E9C200C4A9E6 /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F05AF7D1B62E9C200C4A9E6 /* Nimble.framework */; }; + 5F05AF811B62E9C200C4A9E6 /* Quick.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F05AF7E1B62E9C200C4A9E6 /* Quick.framework */; }; + 5F05AF821B62E9C200C4A9E6 /* Quick.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F05AF7E1B62E9C200C4A9E6 /* Quick.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -43,31 +43,6 @@ }; /* End PBXContainerItemProxy section */ -/* Begin PBXCopyFilesBuildPhase section */ - 5F0069271B3C520A0048928E /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 5F0069281B3C52210048928E /* Nimble.framework in CopyFiles */, - 5F0069291B3C52210048928E /* Quick.framework in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 5F00692A1B3C52290048928E /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 5F00693B1B3C79560048928E /* Nimble.framework in CopyFiles */, - 5F00693C1B3C79560048928E /* Quick.framework in CopyFiles */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ 5F0068E21B3B46240048928E /* JWTDecode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = JWTDecode.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 5F0068E61B3B46240048928E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; @@ -84,6 +59,8 @@ 5F0069381B3C790D0048928E /* Quick.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quick.framework; path = Carthage/Build/Mac/Quick.framework; sourceTree = ""; }; 5F00693F1B3C828E0048928E /* JWTDecode-iOSTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "JWTDecode-iOSTests-Bridging-Header.h"; sourceTree = ""; }; 5F0069401B3C828F0048928E /* A0JWTDecodeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = A0JWTDecodeSpec.m; sourceTree = ""; }; + 5F05AF7D1B62E9C200C4A9E6 /* Nimble.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Nimble.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5F05AF7E1B62E9C200C4A9E6 /* Quick.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Quick.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -101,6 +78,8 @@ 5F0068EE1B3B46240048928E /* JWTDecode.framework in Frameworks */, 5F0069001B3B50EA0048928E /* Nimble.framework in Frameworks */, 5F0069011B3B50EA0048928E /* Quick.framework in Frameworks */, + 5F05AF811B62E9C200C4A9E6 /* Quick.framework in Frameworks */, + 5F05AF7F1B62E9C200C4A9E6 /* Nimble.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -118,6 +97,8 @@ 5F0069141B3B532E0048928E /* JWTDecode.framework in Frameworks */, 5F0069391B3C790D0048928E /* Nimble.framework in Frameworks */, 5F00693A1B3C790D0048928E /* Quick.framework in Frameworks */, + 5F05AF821B62E9C200C4A9E6 /* Quick.framework in Frameworks */, + 5F05AF801B62E9C200C4A9E6 /* Nimble.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -177,6 +158,8 @@ 5F0068F21B3B46240048928E /* Supporting Files */ = { isa = PBXGroup; children = ( + 5F05AF7D1B62E9C200C4A9E6 /* Nimble.framework */, + 5F05AF7E1B62E9C200C4A9E6 /* Quick.framework */, 5F0068F31B3B46240048928E /* Info.plist */, ); name = "Supporting Files"; @@ -256,7 +239,6 @@ 5F0068E91B3B46240048928E /* Sources */, 5F0068EA1B3B46240048928E /* Frameworks */, 5F0068EB1B3B46240048928E /* Resources */, - 5F0069271B3C520A0048928E /* CopyFiles */, ); buildRules = ( ); @@ -293,7 +275,6 @@ 5F00690F1B3B532E0048928E /* Sources */, 5F0069101B3B532E0048928E /* Frameworks */, 5F0069111B3B532E0048928E /* Resources */, - 5F00692A1B3C52290048928E /* CopyFiles */, ); buildRules = ( ); @@ -560,7 +541,6 @@ FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", ); GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", @@ -581,7 +561,6 @@ FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", ); INFOPLIST_FILE = JWTDecodeTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; @@ -643,7 +622,6 @@ FRAMEWORK_SEARCH_PATHS = ( "$(DEVELOPER_FRAMEWORKS_DIR)", "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", ); GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", @@ -664,7 +642,6 @@ FRAMEWORK_SEARCH_PATHS = ( "$(DEVELOPER_FRAMEWORKS_DIR)", "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", ); INFOPLIST_FILE = JWTDecodeTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; diff --git a/JWTDecode.xcworkspace/contents.xcworkspacedata b/JWTDecode.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..69deb40 --- /dev/null +++ b/JWTDecode.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,13 @@ + + + + + + + + + diff --git a/script/LICENSE.md b/script/LICENSE.md new file mode 100644 index 0000000..8d92384 --- /dev/null +++ b/script/LICENSE.md @@ -0,0 +1,18 @@ +**Copyright (c) 2013 Justin Spahr-Summers** + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/script/README.md b/script/README.md new file mode 100644 index 0000000..f66206f --- /dev/null +++ b/script/README.md @@ -0,0 +1,82 @@ +# objc-build-scripts + +This project is a collection of scripts created with two goals: + + 1. To standardize how Objective-C projects are bootstrapped after cloning + 1. To easily build Objective-C projects on continuous integration servers + +## Scripts + +Right now, there are two important scripts: [`bootstrap`](#bootstrap) and +[`cibuild`](#cibuild). Both are Bash scripts, to maximize compatibility and +eliminate pesky system configuration issues (like setting up a working Ruby +environment). + +The structure of the scripts on disk is meant to follow that of a typical Ruby +project: + +``` +script/ + bootstrap + cibuild +``` + +### bootstrap + +This script is responsible for bootstrapping (initializing) your project after +it's been checked out. Here, you should install or clone any dependencies that +are required for a working build and development environment. + +By default, the script will verify that [xctool][] is installed, then initialize +and update submodules recursively. If any submodules contain `script/bootstrap`, +that will be run as well. + +To check that other tools are installed, you can set the `REQUIRED_TOOLS` +environment variable before running `script/bootstrap`, or edit it within the +script directly. Note that no installation is performed automatically, though +this can always be added within your specific project. + +### cibuild + +This script is responsible for building the project, as you would want it built +for continuous integration. This is preferable to putting the logic on the CI +server itself, since it ensures that any changes are versioned along with the +source. + +By default, the script will run [`bootstrap`](#bootstrap), look for any Xcode +workspace or project in the working directory, then build all targets/schemes +(as found by `xcodebuild -list`) using [xctool][]. + +You can also specify the schemes to build by passing them into the script: + +```sh +script/cibuild ReactiveCocoa-Mac ReactiveCocoa-iOS +``` + +As with the `bootstrap` script, there are several environment variables that can +be used to customize behavior. They can be set on the command line before +invoking the script, or the defaults changed within the script directly. + +## Getting Started + +To add the scripts to your project, read the contents of this repository into +a `script` folder: + +``` +$ git remote add objc-build-scripts https://github.com/jspahrsummers/objc-build-scripts.git +$ git fetch objc-build-scripts +$ git read-tree --prefix=script/ -u objc-build-scripts/master +``` + +Then commit the changes, to incorporate the scripts into your own repository's +history. You can also freely tweak the scripts for your specific project's +needs. + +To merge in upstream changes later: + +``` +$ git fetch -p objc-build-scripts +$ git merge --ff --squash -Xsubtree=script objc-build-scripts/master +``` + +[xctool]: https://github.com/facebook/xctool diff --git a/script/bootstrap b/script/bootstrap new file mode 100755 index 0000000..d61c863 --- /dev/null +++ b/script/bootstrap @@ -0,0 +1,47 @@ +#!/bin/bash + +export SCRIPT_DIR=$(dirname "$0") + +## +## Bootstrap Process +## + +main () +{ + local submodules=$(git submodule status) + local result=$? + + if [ "$result" -ne "0" ] + then + exit $result + fi + + if [ -n "$submodules" ] + then + echo "*** Updating submodules..." + update_submodules + fi +} + +bootstrap_submodule () +{ + local bootstrap="script/bootstrap" + + if [ -e "$bootstrap" ] + then + echo "*** Bootstrapping $name..." + "$bootstrap" >/dev/null + else + update_submodules + fi +} + +update_submodules () +{ + git submodule sync --quiet && git submodule update --init && git submodule foreach --quiet bootstrap_submodule +} + +export -f bootstrap_submodule +export -f update_submodules + +main diff --git a/script/cibuild b/script/cibuild new file mode 100755 index 0000000..33b5129 --- /dev/null +++ b/script/cibuild @@ -0,0 +1,173 @@ +#!/bin/bash + +export SCRIPT_DIR=$(dirname "$0") + +## +## Configuration Variables +## + +SCHEMES="$@" + +config () +{ + # The workspace to build. + # + # If not set and no workspace is found, the -workspace flag will not be passed + # to `xctool`. + # + # Only one of `XCWORKSPACE` and `XCODEPROJ` needs to be set. The former will + # take precedence. + : ${XCWORKSPACE=$(find_pattern "*.xcworkspace")} + + # The project to build. + # + # If not set and no project is found, the -project flag will not be passed + # to `xctool`. + # + # Only one of `XCWORKSPACE` and `XCODEPROJ` needs to be set. The former will + # take precedence. + : ${XCODEPROJ=$(find_pattern "*.xcodeproj")} + + # A bootstrap script to run before building. + # + # If this file does not exist, it is not considered an error. + : ${BOOTSTRAP="$SCRIPT_DIR/bootstrap"} + + # Extra options to pass to xctool. + : ${XCTOOL_OPTIONS="RUN_CLANG_STATIC_ANALYZER=NO"} + + # A whitespace-separated list of default schemes to build. + # + # Individual names can be quoted to avoid word splitting. + : ${SCHEMES:=$(xcodebuild -list -project "$XCODEPROJ" 2>/dev/null | awk -f "$SCRIPT_DIR/schemes.awk")} + + # A whitespace-separated list of executables that must be present and locatable. + : ${REQUIRED_TOOLS="xctool"} + + export XCWORKSPACE + export XCODEPROJ + export BOOTSTRAP + export XCTOOL_OPTIONS + export SCHEMES + export REQUIRED_TOOLS +} + +## +## Build Process +## + +main () +{ + config + + if [ -n "$REQUIRED_TOOLS" ] + then + echo "*** Checking dependencies..." + check_deps + fi + + if [ -f "$BOOTSTRAP" ] + then + echo "*** Bootstrapping..." + "$BOOTSTRAP" || exit $? + fi + + echo "*** The following schemes will be built:" + echo "$SCHEMES" | xargs -n 1 echo " " + echo + + echo "$SCHEMES" | xargs -n 1 | ( + local status=0 + + while read scheme + do + build_scheme "$scheme" || status=1 + done + + exit $status + ) +} + +check_deps () +{ + for tool in $REQUIRED_TOOLS + do + which -s "$tool" + if [ "$?" -ne "0" ] + then + echo "*** Error: $tool not found. Please install it and cibuild again." + exit 1 + fi + done +} + +find_pattern () +{ + ls -d $1 2>/dev/null | head -n 1 +} + +run_xctool () +{ + if [ -n "$XCWORKSPACE" ] + then + xctool -workspace "$XCWORKSPACE" $XCTOOL_OPTIONS "$@" 2>&1 + elif [ -n "$XCODEPROJ" ] + then + xctool -project "$XCODEPROJ" $XCTOOL_OPTIONS "$@" 2>&1 + else + echo "*** No workspace or project file found." + exit 1 + fi +} + +parse_build () +{ + awk -f "$SCRIPT_DIR/xctool.awk" 2>&1 >/dev/null +} + +build_scheme () +{ + local scheme=$1 + + echo "*** Building and testing $scheme..." + echo + + local sdkflag= + local action=test + + # Determine whether we can run unit tests for this target. + run_xctool -scheme "$scheme" run-tests | parse_build + + local awkstatus=$? + + if [ "$awkstatus" -eq "1" ] + then + # SDK not found, try for iphonesimulator. + sdkflag="-sdk iphonesimulator" + + # Determine whether the unit tests will run with iphonesimulator + run_xctool $sdkflag -scheme "$scheme" run-tests | parse_build + + awkstatus=$? + + if [ "$awkstatus" -ne "0" ] + then + # Unit tests will not run on iphonesimulator. + sdkflag="" + fi + fi + + if [ "$awkstatus" -ne "0" ] + then + # Unit tests aren't supported. + action=build + fi + + run_xctool $sdkflag -scheme "$scheme" $action +} + +export -f build_scheme +export -f run_xctool +export -f parse_build + +main diff --git a/script/schemes.awk b/script/schemes.awk new file mode 100644 index 0000000..4c94df9 --- /dev/null +++ b/script/schemes.awk @@ -0,0 +1,10 @@ +BEGIN { + FS = "\n"; +} + +/Schemes:/ { + while (getline && $0 != "") { + sub(/^ +/, ""); + print "'" $0 "'"; + } +} diff --git a/script/xctool.awk b/script/xctool.awk new file mode 100644 index 0000000..f613258 --- /dev/null +++ b/script/xctool.awk @@ -0,0 +1,25 @@ +# Exit statuses: +# +# 0 - No errors found. +# 1 - Wrong SDK. Retry with SDK `iphonesimulator`. +# 2 - Missing target. + +BEGIN { + status = 0; +} + +{ + print; +} + +/Testing with the '(.+)' SDK is not yet supported/ { + status = 1; +} + +/does not contain a target named/ { + status = 2; +} + +END { + exit status; +}