diff --git a/.swift-version b/.swift-version index 5186d07..819e07a 100644 --- a/.swift-version +++ b/.swift-version @@ -1 +1 @@ -4.0 +5.0 diff --git a/Example/Podfile b/Example/Podfile index a4d3874..eb3e175 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -7,23 +7,17 @@ target 'StyledText_Example' do target 'StyledText_Tests' do inherit! :search_paths - pod 'Nimble', '~> 8.0.5' + pod 'Nimble' pod 'Quick' - pod 'FBSnapshotTestCase', '~> 2.1.4' - pod 'Nimble-Snapshots', '~> 8.1.1' + pod 'iOSSnapshotTestCase' + pod 'Nimble-Snapshots' end end -# Hack until `swift_version` is added to the podspec https://github.com/CocoaPods/CocoaPods/issues/7134 -swift4 = ['FBSnapshotTestCase'] - post_install do |installer| - installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - config.build_settings['PROVISIONING_PROFILE_SPECIFIER'] = '' - if swift4.include?(target.name) - config.build_settings['SWIFT_VERSION'] = swift_version = '4.0' - end - end + installer.pods_project.targets.each do |target| + target.build_configurations.each do |config| + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0' end + end end diff --git a/Example/Podfile.lock b/Example/Podfile.lock index fb2def1..69e3362 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,33 +1,27 @@ PODS: - - FBSnapshotTestCase (2.1.4): - - FBSnapshotTestCase/SwiftSupport (= 2.1.4) - - FBSnapshotTestCase/Core (2.1.4) - - FBSnapshotTestCase/SwiftSupport (2.1.4): - - FBSnapshotTestCase/Core - iOSSnapshotTestCase (6.2.0): - iOSSnapshotTestCase/SwiftSupport (= 6.2.0) - iOSSnapshotTestCase/Core (6.2.0) - iOSSnapshotTestCase/SwiftSupport (6.2.0): - iOSSnapshotTestCase/Core - - Nimble (8.0.5) - - Nimble-Snapshots (8.1.1): - - Nimble-Snapshots/Core (= 8.1.1) - - Nimble-Snapshots/Core (8.1.1): + - Nimble (8.1.2) + - Nimble-Snapshots (8.2.1): + - Nimble-Snapshots/Core (= 8.2.1) + - Nimble-Snapshots/Core (8.2.1): - iOSSnapshotTestCase (~> 6.0) - Nimble (~> 8.0) - - Quick (1.2.0) - - StyledText (1.2.0) + - Quick (3.0.0) + - StyledText (1.3.0) DEPENDENCIES: - - FBSnapshotTestCase (~> 2.1.4) - - Nimble (~> 8.0.5) - - Nimble-Snapshots (~> 8.1.1) + - iOSSnapshotTestCase + - Nimble + - Nimble-Snapshots - Quick - StyledText (from `../`) SPEC REPOS: trunk: - - FBSnapshotTestCase - iOSSnapshotTestCase - Nimble - Nimble-Snapshots @@ -38,13 +32,12 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - FBSnapshotTestCase: 094f9f314decbabe373b87cc339bea235a63e07a iOSSnapshotTestCase: 9ab44cb5aa62b84d31847f40680112e15ec579a6 - Nimble: 4ab1aeb9b45553c75b9687196b0fa0713170a332 - Nimble-Snapshots: 5058fb9b459e64371f54a0f8d9dde6f33db490a0 - Quick: 58d203b1c5e27fff7229c4c1ae445ad7069a7a08 - StyledText: beae3735c7519bb41b62763eb88aa31d17fc8243 + Nimble: 3864815b4703c7ebffba875973c70e854489fbae + Nimble-Snapshots: 3a4750d83752625c8ebfdc588da105303ee2201e + Quick: 6d9559f40647bc4d510103842ef2fdd882d753e2 + StyledText: f1f3da3cb2151c2821d7b84a462bb57d22eb0b33 -PODFILE CHECKSUM: 3651a54dfc5a4b87eaeda450dfb810881dcebde4 +PODFILE CHECKSUM: c81093a63a3ec0078b3e3bb558a994249613c555 -COCOAPODS: 1.9.0 +COCOAPODS: 1.9.1 diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h deleted file mode 100644 index eefe11b..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -@interface UIApplication (StrictKeyWindow) - -/** - @return The receiver's @c keyWindow. Raises an assertion if @c nil. - */ -- (UIWindow *)fb_strictKeyWindow; - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m deleted file mode 100644 index 0f7a0c2..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -@implementation UIApplication (StrictKeyWindow) - -- (UIWindow *)fb_strictKeyWindow -{ - UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow; - if (!keyWindow) { - [NSException raise:@"FBSnapshotTestCaseNilKeyWindowException" - format:@"Snapshot tests must be hosted by an application with a key window. Please ensure your test" - " host sets up a key window at launch (either via storyboards or programmatically) and doesn't" - " do anything to remove it while snapshot tests are running."]; - } - return keyWindow; -} - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h deleted file mode 100644 index 9091d62..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h +++ /dev/null @@ -1,37 +0,0 @@ -// -// Created by Gabriel Handford on 3/1/09. -// Copyright 2009-2013. All rights reserved. -// Created by John Boiles on 10/20/11. -// Copyright (c) 2011. All rights reserved -// Modified by Felix Schulze on 2/11/13. -// Copyright 2013. All rights reserved. -// -// 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. -// - -#import - -@interface UIImage (Compare) - -- (BOOL)fb_compareWithImage:(UIImage *)image tolerance:(CGFloat)tolerance; - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m deleted file mode 100644 index c997f57..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m +++ /dev/null @@ -1,134 +0,0 @@ -// -// Created by Gabriel Handford on 3/1/09. -// Copyright 2009-2013. All rights reserved. -// Created by John Boiles on 10/20/11. -// Copyright (c) 2011. All rights reserved -// Modified by Felix Schulze on 2/11/13. -// Copyright 2013. All rights reserved. -// -// 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. -// - -#import - -// This makes debugging much more fun -typedef union { - uint32_t raw; - unsigned char bytes[4]; - struct { - char red; - char green; - char blue; - char alpha; - } __attribute__ ((packed)) pixels; -} FBComparePixel; - -@implementation UIImage (Compare) - -- (BOOL)fb_compareWithImage:(UIImage *)image tolerance:(CGFloat)tolerance -{ - NSAssert(CGSizeEqualToSize(self.size, image.size), @"Images must be same size."); - - CGSize referenceImageSize = CGSizeMake(CGImageGetWidth(self.CGImage), CGImageGetHeight(self.CGImage)); - CGSize imageSize = CGSizeMake(CGImageGetWidth(image.CGImage), CGImageGetHeight(image.CGImage)); - - // The images have the equal size, so we could use the smallest amount of bytes because of byte padding - size_t minBytesPerRow = MIN(CGImageGetBytesPerRow(self.CGImage), CGImageGetBytesPerRow(image.CGImage)); - size_t referenceImageSizeBytes = referenceImageSize.height * minBytesPerRow; - void *referenceImagePixels = calloc(1, referenceImageSizeBytes); - void *imagePixels = calloc(1, referenceImageSizeBytes); - - if (!referenceImagePixels || !imagePixels) { - free(referenceImagePixels); - free(imagePixels); - return NO; - } - - CGContextRef referenceImageContext = CGBitmapContextCreate(referenceImagePixels, - referenceImageSize.width, - referenceImageSize.height, - CGImageGetBitsPerComponent(self.CGImage), - minBytesPerRow, - CGImageGetColorSpace(self.CGImage), - (CGBitmapInfo)kCGImageAlphaPremultipliedLast - ); - CGContextRef imageContext = CGBitmapContextCreate(imagePixels, - imageSize.width, - imageSize.height, - CGImageGetBitsPerComponent(image.CGImage), - minBytesPerRow, - CGImageGetColorSpace(image.CGImage), - (CGBitmapInfo)kCGImageAlphaPremultipliedLast - ); - - if (!referenceImageContext || !imageContext) { - CGContextRelease(referenceImageContext); - CGContextRelease(imageContext); - free(referenceImagePixels); - free(imagePixels); - return NO; - } - - CGContextDrawImage(referenceImageContext, CGRectMake(0, 0, referenceImageSize.width, referenceImageSize.height), self.CGImage); - CGContextDrawImage(imageContext, CGRectMake(0, 0, imageSize.width, imageSize.height), image.CGImage); - - CGContextRelease(referenceImageContext); - CGContextRelease(imageContext); - - BOOL imageEqual = YES; - - // Do a fast compare if we can - if (tolerance == 0) { - imageEqual = (memcmp(referenceImagePixels, imagePixels, referenceImageSizeBytes) == 0); - } else { - // Go through each pixel in turn and see if it is different - const NSInteger pixelCount = referenceImageSize.width * referenceImageSize.height; - - FBComparePixel *p1 = referenceImagePixels; - FBComparePixel *p2 = imagePixels; - - NSInteger numDiffPixels = 0; - for (int n = 0; n < pixelCount; ++n) { - // If this pixel is different, increment the pixel diff count and see - // if we have hit our limit. - if (p1->raw != p2->raw) { - numDiffPixels ++; - - CGFloat percent = (CGFloat)numDiffPixels / pixelCount; - if (percent > tolerance) { - imageEqual = NO; - break; - } - } - - p1++; - p2++; - } - } - - free(referenceImagePixels); - free(imagePixels); - - return imageEqual; -} - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h deleted file mode 100644 index a0863f3..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h +++ /dev/null @@ -1,37 +0,0 @@ -// -// Created by Gabriel Handford on 3/1/09. -// Copyright 2009-2013. All rights reserved. -// Created by John Boiles on 10/20/11. -// Copyright (c) 2011. All rights reserved -// Modified by Felix Schulze on 2/11/13. -// Copyright 2013. All rights reserved. -// -// 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. -// - -#import - -@interface UIImage (Diff) - -- (UIImage *)fb_diffWithImage:(UIImage *)image; - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m deleted file mode 100644 index ebb72fe..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m +++ /dev/null @@ -1,56 +0,0 @@ -// -// Created by Gabriel Handford on 3/1/09. -// Copyright 2009-2013. All rights reserved. -// Created by John Boiles on 10/20/11. -// Copyright (c) 2011. All rights reserved -// Modified by Felix Schulze on 2/11/13. -// Copyright 2013. All rights reserved. -// -// 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. -// - -#import - -@implementation UIImage (Diff) - -- (UIImage *)fb_diffWithImage:(UIImage *)image -{ - if (!image) { - return nil; - } - CGSize imageSize = CGSizeMake(MAX(self.size.width, image.size.width), MAX(self.size.height, image.size.height)); - UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0); - CGContextRef context = UIGraphicsGetCurrentContext(); - [self drawInRect:CGRectMake(0, 0, self.size.width, self.size.height)]; - CGContextSetAlpha(context, 0.5); - CGContextBeginTransparencyLayer(context, NULL); - [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)]; - CGContextSetBlendMode(context, kCGBlendModeDifference); - CGContextSetFillColorWithColor(context,[UIColor whiteColor].CGColor); - CGContextFillRect(context, CGRectMake(0, 0, self.size.width, self.size.height)); - CGContextEndTransparencyLayer(context); - UIImage *returnImage = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - return returnImage; -} - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h deleted file mode 100644 index b0d5b26..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -@interface UIImage (Snapshot) - -/// Uses renderInContext: to get a snapshot of the layer. -+ (UIImage *)fb_imageForLayer:(CALayer *)layer; - -/// Uses renderInContext: to get a snapshot of the view layer. -+ (UIImage *)fb_imageForViewLayer:(UIView *)view; - -/// Uses drawViewHierarchyInRect: to get a snapshot of the view and adds the view into a window if needed. -+ (UIImage *)fb_imageForView:(UIView *)view; - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m deleted file mode 100644 index 968091b..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import - -@implementation UIImage (Snapshot) - -+ (UIImage *)fb_imageForLayer:(CALayer *)layer -{ - CGRect bounds = layer.bounds; - NSAssert1(CGRectGetWidth(bounds), @"Zero width for layer %@", layer); - NSAssert1(CGRectGetHeight(bounds), @"Zero height for layer %@", layer); - - UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0); - CGContextRef context = UIGraphicsGetCurrentContext(); - NSAssert1(context, @"Could not generate context for layer %@", layer); - CGContextSaveGState(context); - [layer layoutIfNeeded]; - [layer renderInContext:context]; - CGContextRestoreGState(context); - - UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - return snapshot; -} - -+ (UIImage *)fb_imageForViewLayer:(UIView *)view -{ - [view layoutIfNeeded]; - return [self fb_imageForLayer:view.layer]; -} - -+ (UIImage *)fb_imageForView:(UIView *)view -{ - CGRect bounds = view.bounds; - NSAssert1(CGRectGetWidth(bounds), @"Zero width for view %@", view); - NSAssert1(CGRectGetHeight(bounds), @"Zero height for view %@", view); - - // If the input view is already a UIWindow, then just use that. Otherwise wrap in a window. - UIWindow *window = [view isKindOfClass:[UIWindow class]] ? (UIWindow *)view : view.window; - BOOL removeFromSuperview = NO; - if (!window) { - window = [[UIApplication sharedApplication] fb_strictKeyWindow]; - } - - if (!view.window && view != window) { - [window addSubview:view]; - removeFromSuperview = YES; - } - - UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0); - [view layoutIfNeeded]; - [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES]; - - UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext(); - UIGraphicsEndImageContext(); - - if (removeFromSuperview) { - [view removeFromSuperview]; - } - - return snapshot; -} - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h deleted file mode 100644 index 72abc3c..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import - -#import - -#import - -#import - -/* - There are three ways of setting reference image directories. - - 1. Set the preprocessor macro FB_REFERENCE_IMAGE_DIR to a double quoted - c-string with the path. - 2. Set an environment variable named FB_REFERENCE_IMAGE_DIR with the path. This - takes precedence over the preprocessor macro to allow for run-time override. - 3. Keep everything unset, which will cause the reference images to be looked up - inside the bundle holding the current test, in the - Resources/ReferenceImages_* directories. - */ -#ifndef FB_REFERENCE_IMAGE_DIR -#define FB_REFERENCE_IMAGE_DIR "" -#endif - -/** - Similar to our much-loved XCTAssert() macros. Use this to perform your test. No need to write an explanation, though. - @param view The view to snapshot - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param suffixes An NSOrderedSet of strings for the different suffixes - @param tolerance The percentage of pixels that can differ and still count as an 'identical' view - */ -#define FBSnapshotVerifyViewWithOptions(view__, identifier__, suffixes__, tolerance__) \ - FBSnapshotVerifyViewOrLayerWithOptions(View, view__, identifier__, suffixes__, tolerance__) - -#define FBSnapshotVerifyView(view__, identifier__) \ - FBSnapshotVerifyViewWithOptions(view__, identifier__, FBSnapshotTestCaseDefaultSuffixes(), 0) - - -/** - Similar to our much-loved XCTAssert() macros. Use this to perform your test. No need to write an explanation, though. - @param layer The layer to snapshot - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param suffixes An NSOrderedSet of strings for the different suffixes - @param tolerance The percentage of pixels that can differ and still count as an 'identical' layer - */ -#define FBSnapshotVerifyLayerWithOptions(layer__, identifier__, suffixes__, tolerance__) \ - FBSnapshotVerifyViewOrLayerWithOptions(Layer, layer__, identifier__, suffixes__, tolerance__) - -#define FBSnapshotVerifyLayer(layer__, identifier__) \ - FBSnapshotVerifyLayerWithOptions(layer__, identifier__, FBSnapshotTestCaseDefaultSuffixes(), 0) - - -#define FBSnapshotVerifyViewOrLayerWithOptions(what__, viewOrLayer__, identifier__, suffixes__, tolerance__) \ -{ \ - NSString *errorDescription = [self snapshotVerifyViewOrLayer:viewOrLayer__ identifier:identifier__ suffixes:suffixes__ tolerance:tolerance__]; \ - BOOL noErrors = (errorDescription == nil); \ - XCTAssertTrue(noErrors, @"%@", errorDescription); \ -} - - -/** - The base class of view snapshotting tests. If you have small UI component, it's often easier to configure it in a test - and compare an image of the view to a reference image that write lots of complex layout-code tests. - - In order to flip the tests in your subclass to record the reference images set @c recordMode to @c YES. - - @attention When recording, the reference image directory should be explicitly - set, otherwise the images may be written to somewhere inside the - simulator directory. - - For example: - @code - - (void)setUp - { - [super setUp]; - self.recordMode = YES; - } - @endcode - */ -@interface FBSnapshotTestCase : XCTestCase - -/** - When YES, the test macros will save reference images, rather than performing an actual test. - */ -@property (readwrite, nonatomic, assign) BOOL recordMode; - -/** - When @c YES appends the name of the device model and OS to the snapshot file name. - The default value is @c NO. - */ -@property (readwrite, nonatomic, assign, getter=isDeviceAgnostic) BOOL deviceAgnostic; - -/** - When YES, renders a snapshot of the complete view hierarchy as visible onscreen. - There are several things that do not work if renderInContext: is used. - - UIVisualEffect #70 - - UIAppearance #91 - - Size Classes #92 - - @attention If the view does't belong to a UIWindow, it will create one and add the view as a subview. - */ -@property (readwrite, nonatomic, assign) BOOL usesDrawViewHierarchyInRect; - -- (void)setUp NS_REQUIRES_SUPER; -- (void)tearDown NS_REQUIRES_SUPER; - -/** - Performs the comparison or records a snapshot of the layer if recordMode is YES. - @param viewOrLayer The UIView or CALayer to snapshot - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param suffixes An NSOrderedSet of strings for the different suffixes - @param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care - @returns nil if the comparison (or saving of the reference image) succeeded. Otherwise it contains an error description. - */ -- (NSString *)snapshotVerifyViewOrLayer:(id)viewOrLayer - identifier:(NSString *)identifier - suffixes:(NSOrderedSet *)suffixes - tolerance:(CGFloat)tolerance; - -/** - Performs the comparison or records a snapshot of the layer if recordMode is YES. - @param layer The Layer to snapshot - @param referenceImagesDirectory The directory in which reference images are stored. - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care - @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfLayer:(CALayer *)layer - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr; - -/** - Performs the comparison or records a snapshot of the view if recordMode is YES. - @param view The view to snapshot - @param referenceImagesDirectory The directory in which reference images are stored. - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care - @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfView:(UIView *)view - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr; - -/** - Checks if reference image with identifier based name exists in the reference images directory. - @param referenceImagesDirectory The directory in which reference images are stored. - @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method. - @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if reference image exists. - */ -- (BOOL)referenceImageRecordedInDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - error:(NSError **)errorPtr; - -/** - Returns the reference image directory. - - Helper function used to implement the assert macros. - - @param dir directory to use if environment variable not specified. Ignored if null or empty. - */ -- (NSString *)getReferenceImageDirectoryWithDefault:(NSString *)dir; - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m deleted file mode 100644 index f44458c..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m +++ /dev/null @@ -1,192 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import - -@implementation FBSnapshotTestCase -{ - FBSnapshotTestController *_snapshotController; -} - -#pragma mark - Overrides - -- (void)setUp -{ - [super setUp]; - _snapshotController = [[FBSnapshotTestController alloc] initWithTestName:NSStringFromClass([self class])]; -} - -- (void)tearDown -{ - _snapshotController = nil; - [super tearDown]; -} - -- (BOOL)recordMode -{ - return _snapshotController.recordMode; -} - -- (void)setRecordMode:(BOOL)recordMode -{ - NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); - _snapshotController.recordMode = recordMode; -} - -- (BOOL)isDeviceAgnostic -{ - return _snapshotController.deviceAgnostic; -} - -- (void)setDeviceAgnostic:(BOOL)deviceAgnostic -{ - NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); - _snapshotController.deviceAgnostic = deviceAgnostic; -} - -- (BOOL)usesDrawViewHierarchyInRect -{ - return _snapshotController.usesDrawViewHierarchyInRect; -} - -- (void)setUsesDrawViewHierarchyInRect:(BOOL)usesDrawViewHierarchyInRect -{ - NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); - _snapshotController.usesDrawViewHierarchyInRect = usesDrawViewHierarchyInRect; -} - -#pragma mark - Public API - -- (NSString *)snapshotVerifyViewOrLayer:(id)viewOrLayer - identifier:(NSString *)identifier - suffixes:(NSOrderedSet *)suffixes - tolerance:(CGFloat)tolerance -{ - if (nil == viewOrLayer) { - return @"Object to be snapshotted must not be nil"; - } - NSString *referenceImageDirectory = [self getReferenceImageDirectoryWithDefault:(@ FB_REFERENCE_IMAGE_DIR)]; - if (referenceImageDirectory == nil) { - return @"Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme."; - } - if (suffixes.count == 0) { - return [NSString stringWithFormat:@"Suffixes set cannot be empty %@", suffixes]; - } - - BOOL testSuccess = NO; - NSError *error = nil; - NSMutableArray *errors = [NSMutableArray array]; - - if (self.recordMode) { - NSString *referenceImagesDirectory = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffixes.firstObject]; - BOOL referenceImageSaved = [self _compareSnapshotOfViewOrLayer:viewOrLayer referenceImagesDirectory:referenceImagesDirectory identifier:(identifier) tolerance:tolerance error:&error]; - if (!referenceImageSaved) { - [errors addObject:error]; - } - } else { - for (NSString *suffix in suffixes) { - NSString *referenceImagesDirectory = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffix]; - BOOL referenceImageAvailable = [self referenceImageRecordedInDirectory:referenceImagesDirectory identifier:(identifier) error:&error]; - - if (referenceImageAvailable) { - BOOL comparisonSuccess = [self _compareSnapshotOfViewOrLayer:viewOrLayer referenceImagesDirectory:referenceImagesDirectory identifier:identifier tolerance:tolerance error:&error]; - [errors removeAllObjects]; - if (comparisonSuccess) { - testSuccess = YES; - break; - } else { - [errors addObject:error]; - } - } else { - [errors addObject:error]; - } - } - } - - if (!testSuccess) { - return [NSString stringWithFormat:@"Snapshot comparison failed: %@", errors.firstObject]; - } - if (self.recordMode) { - return @"Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!"; - } - - return nil; -} - -- (BOOL)compareSnapshotOfLayer:(CALayer *)layer - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - return [self _compareSnapshotOfViewOrLayer:layer - referenceImagesDirectory:referenceImagesDirectory - identifier:identifier - tolerance:tolerance - error:errorPtr]; -} - -- (BOOL)compareSnapshotOfView:(UIView *)view - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - return [self _compareSnapshotOfViewOrLayer:view - referenceImagesDirectory:referenceImagesDirectory - identifier:identifier - tolerance:tolerance - error:errorPtr]; -} - -- (BOOL)referenceImageRecordedInDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__); - _snapshotController.referenceImagesDirectory = referenceImagesDirectory; - UIImage *referenceImage = [_snapshotController referenceImageForSelector:self.invocation.selector - identifier:identifier - error:errorPtr]; - - return (referenceImage != nil); -} - -- (NSString *)getReferenceImageDirectoryWithDefault:(NSString *)dir -{ - NSString *envReferenceImageDirectory = [NSProcessInfo processInfo].environment[@"FB_REFERENCE_IMAGE_DIR"]; - if (envReferenceImageDirectory) { - return envReferenceImageDirectory; - } - if (dir && dir.length > 0) { - return dir; - } - return [[NSBundle bundleForClass:self.class].resourcePath stringByAppendingPathComponent:@"ReferenceImages"]; -} - - -#pragma mark - Private API - -- (BOOL)_compareSnapshotOfViewOrLayer:(id)viewOrLayer - referenceImagesDirectory:(NSString *)referenceImagesDirectory - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - _snapshotController.referenceImagesDirectory = referenceImagesDirectory; - return [_snapshotController compareSnapshotOfViewOrLayer:viewOrLayer - selector:self.invocation.selector - identifier:identifier - tolerance:tolerance - error:errorPtr]; -} - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h deleted file mode 100644 index e04acf2..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -#ifdef __cplusplus -extern "C" { -#endif - -/** - Returns a Boolean value that indicates whether the snapshot test is running in 64Bit. - This method is a convenience for creating the suffixes set based on the architecture - that the test is running. - - @returns @c YES if the test is running in 64bit, otherwise @c NO. - */ -BOOL FBSnapshotTestCaseIs64Bit(void); - -/** - Returns a default set of strings that is used to append a suffix based on the architectures. - @warning Do not modify this function, you can create your own and use it with @c FBSnapshotVerifyViewWithOptions() - - @returns An @c NSOrderedSet object containing strings that are appended to the reference images directory. - */ -NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void); - -/** - Returns a fully «normalized» file name. - Strips punctuation and spaces and replaces them with @c _. Also appends the device model, running OS and screen size to the file name. - - @returns An @c NSString object containing the passed @c fileName with the device model, OS and screen size appended at the end. - */ -NSString *FBDeviceAgnosticNormalizedFileName(NSString *fileName); - -#ifdef __cplusplus -} -#endif diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m deleted file mode 100644 index d8709d8..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import -#import - -BOOL FBSnapshotTestCaseIs64Bit(void) -{ -#if __LP64__ - return YES; -#else - return NO; -#endif -} - -NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void) -{ - NSMutableOrderedSet *suffixesSet = [[NSMutableOrderedSet alloc] init]; - [suffixesSet addObject:@"_32"]; - [suffixesSet addObject:@"_64"]; - if (FBSnapshotTestCaseIs64Bit()) { - return [suffixesSet reversedOrderedSet]; - } - return [suffixesSet copy]; -} - -NSString *FBDeviceAgnosticNormalizedFileName(NSString *fileName) -{ - UIDevice *device = [UIDevice currentDevice]; - UIWindow *keyWindow = [[UIApplication sharedApplication] fb_strictKeyWindow]; - CGSize screenSize = keyWindow.bounds.size; - NSString *os = device.systemVersion; - - fileName = [NSString stringWithFormat:@"%@_%@%@_%.0fx%.0f", fileName, device.model, os, screenSize.width, screenSize.height]; - - NSMutableCharacterSet *invalidCharacters = [NSMutableCharacterSet new]; - [invalidCharacters formUnionWithCharacterSet:[NSCharacterSet whitespaceCharacterSet]]; - [invalidCharacters formUnionWithCharacterSet:[NSCharacterSet punctuationCharacterSet]]; - NSArray *validComponents = [fileName componentsSeparatedByCharactersInSet:invalidCharacters]; - fileName = [validComponents componentsJoinedByString:@"_"]; - - return fileName; -} \ No newline at end of file diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h deleted file mode 100644 index a0285ad..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import - -typedef NS_ENUM(NSInteger, FBSnapshotTestControllerErrorCode) { - FBSnapshotTestControllerErrorCodeUnknown, - FBSnapshotTestControllerErrorCodeNeedsRecord, - FBSnapshotTestControllerErrorCodePNGCreationFailed, - FBSnapshotTestControllerErrorCodeImagesDifferentSizes, - FBSnapshotTestControllerErrorCodeImagesDifferent, -}; -/** - Errors returned by the methods of FBSnapshotTestController use this domain. - */ -extern NSString *const FBSnapshotTestControllerErrorDomain; - -/** - Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. - */ -extern NSString *const FBReferenceImageFilePathKey; - -/** - Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. - */ -extern NSString *const FBReferenceImageKey; - -/** - Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. - */ -extern NSString *const FBCapturedImageKey; - -/** - Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary. - */ -extern NSString *const FBDiffedImageKey; - -/** - Provides the heavy-lifting for FBSnapshotTestCase. It loads and saves images, along with performing the actual pixel- - by-pixel comparison of images. - Instances are initialized with the test class, and directories to read and write to. - */ -@interface FBSnapshotTestController : NSObject - -/** - Record snapshots. - */ -@property (readwrite, nonatomic, assign) BOOL recordMode; - -/** - When @c YES appends the name of the device model and OS to the snapshot file name. - The default value is @c NO. - */ -@property (readwrite, nonatomic, assign, getter=isDeviceAgnostic) BOOL deviceAgnostic; - -/** - Uses drawViewHierarchyInRect:afterScreenUpdates: to draw the image instead of renderInContext: - */ -@property (readwrite, nonatomic, assign) BOOL usesDrawViewHierarchyInRect; - -/** - The directory in which referfence images are stored. - */ -@property (readwrite, nonatomic, copy) NSString *referenceImagesDirectory; - -/** - @param testClass The subclass of FBSnapshotTestCase that is using this controller. - @returns An instance of FBSnapshotTestController. - */ -- (instancetype)initWithTestClass:(Class)testClass; - -/** - Designated initializer. - @param testName The name of the tests. - @returns An instance of FBSnapshotTestController. - */ -- (instancetype)initWithTestName:(NSString *)testName; - -/** - Performs the comparison of the layer. - @param layer The Layer to snapshot. - @param selector The test method being run. - @param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method. - @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfLayer:(CALayer *)layer - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr; - -/** - Performs the comparison of the view. - @param view The view to snapshot. - @param selector The test method being run. - @param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method. - @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfView:(UIView *)view - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr; - -/** - Performs the comparison of a view or layer. - @param view The view or layer to snapshot. - @param selector The test method being run. - @param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method. - @param tolerance The percentage of pixels that can differ and still be considered 'identical' - @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc). - @returns YES if the comparison (or saving of the reference image) succeeded. - */ -- (BOOL)compareSnapshotOfViewOrLayer:(id)viewOrLayer - selector:(SEL)selector - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr; - -/** - Loads a reference image. - @param selector The test method being run. - @param identifier The optional identifier, used when multiple images are tested in a single -test method. - @param errorPtr An error, if this methods returns nil, the error will be something useful. - @returns An image. - */ -- (UIImage *)referenceImageForSelector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr; - -/** - Performs a pixel-by-pixel comparison of the two images with an allowable margin of error. - @param referenceImage The reference (correct) image. - @param image The image to test against the reference. - @param tolerance The percentage of pixels that can differ and still be considered 'identical' - @param errorPtr An error that indicates why the comparison failed if it does. - @returns YES if the comparison succeeded and the images are the same(ish). - */ -- (BOOL)compareReferenceImage:(UIImage *)referenceImage - toImage:(UIImage *)image - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr; - -/** - Saves the reference image and the test image to `failedOutputDirectory`. - @param referenceImage The reference (correct) image. - @param testImage The image to test against the reference. - @param selector The test method being run. - @param identifier The optional identifier, used when multiple images are tested in a single -test method. - @param errorPtr An error that indicates why the comparison failed if it does. - @returns YES if the save succeeded. - */ -- (BOOL)saveFailedReferenceImage:(UIImage *)referenceImage - testImage:(UIImage *)testImage - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr; -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m deleted file mode 100644 index 74c5a0a..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m +++ /dev/null @@ -1,358 +0,0 @@ -/* - * Copyright (c) 2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import -#import -#import -#import - -#import - -NSString *const FBSnapshotTestControllerErrorDomain = @"FBSnapshotTestControllerErrorDomain"; -NSString *const FBReferenceImageFilePathKey = @"FBReferenceImageFilePathKey"; -NSString *const FBReferenceImageKey = @"FBReferenceImageKey"; -NSString *const FBCapturedImageKey = @"FBCapturedImageKey"; -NSString *const FBDiffedImageKey = @"FBDiffedImageKey"; - -typedef NS_ENUM(NSUInteger, FBTestSnapshotFileNameType) { - FBTestSnapshotFileNameTypeReference, - FBTestSnapshotFileNameTypeFailedReference, - FBTestSnapshotFileNameTypeFailedTest, - FBTestSnapshotFileNameTypeFailedTestDiff, -}; - -@implementation FBSnapshotTestController -{ - NSString *_testName; - NSFileManager *_fileManager; -} - -#pragma mark - Initializers - -- (instancetype)initWithTestClass:(Class)testClass; -{ - return [self initWithTestName:NSStringFromClass(testClass)]; -} - -- (instancetype)initWithTestName:(NSString *)testName -{ - if (self = [super init]) { - _testName = [testName copy]; - _deviceAgnostic = NO; - - _fileManager = [[NSFileManager alloc] init]; - } - return self; -} - -#pragma mark - Overrides - -- (NSString *)description -{ - return [NSString stringWithFormat:@"%@ %@", [super description], _referenceImagesDirectory]; -} - -#pragma mark - Public API - -- (BOOL)compareSnapshotOfLayer:(CALayer *)layer - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - return [self compareSnapshotOfViewOrLayer:layer - selector:selector - identifier:identifier - tolerance:0 - error:errorPtr]; -} - -- (BOOL)compareSnapshotOfView:(UIView *)view - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - return [self compareSnapshotOfViewOrLayer:view - selector:selector - identifier:identifier - tolerance:0 - error:errorPtr]; -} - -- (BOOL)compareSnapshotOfViewOrLayer:(id)viewOrLayer - selector:(SEL)selector - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - if (self.recordMode) { - return [self _recordSnapshotOfViewOrLayer:viewOrLayer selector:selector identifier:identifier error:errorPtr]; - } else { - return [self _performPixelComparisonWithViewOrLayer:viewOrLayer selector:selector identifier:identifier tolerance:tolerance error:errorPtr]; - } -} - -- (UIImage *)referenceImageForSelector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - NSString *filePath = [self _referenceFilePathForSelector:selector identifier:identifier]; - UIImage *image = [UIImage imageWithContentsOfFile:filePath]; - if (nil == image && NULL != errorPtr) { - BOOL exists = [_fileManager fileExistsAtPath:filePath]; - if (!exists) { - *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain - code:FBSnapshotTestControllerErrorCodeNeedsRecord - userInfo:@{ - FBReferenceImageFilePathKey: filePath, - NSLocalizedDescriptionKey: @"Unable to load reference image.", - NSLocalizedFailureReasonErrorKey: @"Reference image not found. You need to run the test in record mode", - }]; - } else { - *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain - code:FBSnapshotTestControllerErrorCodeUnknown - userInfo:nil]; - } - } - return image; -} - -- (BOOL)compareReferenceImage:(UIImage *)referenceImage - toImage:(UIImage *)image - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - BOOL sameImageDimensions = CGSizeEqualToSize(referenceImage.size, image.size); - if (sameImageDimensions && [referenceImage fb_compareWithImage:image tolerance:tolerance]) { - return YES; - } - - if (NULL != errorPtr) { - NSString *errorDescription = sameImageDimensions ? @"Images different" : @"Images different sizes"; - NSString *errorReason = sameImageDimensions ? [NSString stringWithFormat:@"image pixels differed by more than %.2f%% from the reference image", tolerance * 100] - : [NSString stringWithFormat:@"referenceImage:%@, image:%@", NSStringFromCGSize(referenceImage.size), NSStringFromCGSize(image.size)]; - FBSnapshotTestControllerErrorCode errorCode = sameImageDimensions ? FBSnapshotTestControllerErrorCodeImagesDifferent : FBSnapshotTestControllerErrorCodeImagesDifferentSizes; - - *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain - code:errorCode - userInfo:@{ - NSLocalizedDescriptionKey: errorDescription, - NSLocalizedFailureReasonErrorKey: errorReason, - FBReferenceImageKey: referenceImage, - FBCapturedImageKey: image, - FBDiffedImageKey: [referenceImage fb_diffWithImage:image], - }]; - } - return NO; -} - -- (BOOL)saveFailedReferenceImage:(UIImage *)referenceImage - testImage:(UIImage *)testImage - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - NSData *referencePNGData = UIImagePNGRepresentation(referenceImage); - NSData *testPNGData = UIImagePNGRepresentation(testImage); - - NSString *referencePath = [self _failedFilePathForSelector:selector - identifier:identifier - fileNameType:FBTestSnapshotFileNameTypeFailedReference]; - - NSError *creationError = nil; - BOOL didCreateDir = [_fileManager createDirectoryAtPath:[referencePath stringByDeletingLastPathComponent] - withIntermediateDirectories:YES - attributes:nil - error:&creationError]; - if (!didCreateDir) { - if (NULL != errorPtr) { - *errorPtr = creationError; - } - return NO; - } - - if (![referencePNGData writeToFile:referencePath options:NSDataWritingAtomic error:errorPtr]) { - return NO; - } - - NSString *testPath = [self _failedFilePathForSelector:selector - identifier:identifier - fileNameType:FBTestSnapshotFileNameTypeFailedTest]; - - if (![testPNGData writeToFile:testPath options:NSDataWritingAtomic error:errorPtr]) { - return NO; - } - - NSString *diffPath = [self _failedFilePathForSelector:selector - identifier:identifier - fileNameType:FBTestSnapshotFileNameTypeFailedTestDiff]; - - UIImage *diffImage = [referenceImage fb_diffWithImage:testImage]; - NSData *diffImageData = UIImagePNGRepresentation(diffImage); - - if (![diffImageData writeToFile:diffPath options:NSDataWritingAtomic error:errorPtr]) { - return NO; - } - - NSLog(@"If you have Kaleidoscope installed you can run this command to see an image diff:\n" - @"ksdiff \"%@\" \"%@\"", referencePath, testPath); - - return YES; -} - -#pragma mark - Private API - -- (NSString *)_fileNameForSelector:(SEL)selector - identifier:(NSString *)identifier - fileNameType:(FBTestSnapshotFileNameType)fileNameType -{ - NSString *fileName = nil; - switch (fileNameType) { - case FBTestSnapshotFileNameTypeFailedReference: - fileName = @"reference_"; - break; - case FBTestSnapshotFileNameTypeFailedTest: - fileName = @"failed_"; - break; - case FBTestSnapshotFileNameTypeFailedTestDiff: - fileName = @"diff_"; - break; - default: - fileName = @""; - break; - } - fileName = [fileName stringByAppendingString:NSStringFromSelector(selector)]; - if (0 < identifier.length) { - fileName = [fileName stringByAppendingFormat:@"_%@", identifier]; - } - - if (self.isDeviceAgnostic) { - fileName = FBDeviceAgnosticNormalizedFileName(fileName); - } - - if ([[UIScreen mainScreen] scale] > 1) { - fileName = [fileName stringByAppendingFormat:@"@%.fx", [[UIScreen mainScreen] scale]]; - } - fileName = [fileName stringByAppendingPathExtension:@"png"]; - return fileName; -} - -- (NSString *)_referenceFilePathForSelector:(SEL)selector - identifier:(NSString *)identifier -{ - NSString *fileName = [self _fileNameForSelector:selector - identifier:identifier - fileNameType:FBTestSnapshotFileNameTypeReference]; - NSString *filePath = [_referenceImagesDirectory stringByAppendingPathComponent:_testName]; - filePath = [filePath stringByAppendingPathComponent:fileName]; - return filePath; -} - -- (NSString *)_failedFilePathForSelector:(SEL)selector - identifier:(NSString *)identifier - fileNameType:(FBTestSnapshotFileNameType)fileNameType -{ - NSString *fileName = [self _fileNameForSelector:selector - identifier:identifier - fileNameType:fileNameType]; - NSString *folderPath = NSTemporaryDirectory(); - if (getenv("IMAGE_DIFF_DIR")) { - folderPath = @(getenv("IMAGE_DIFF_DIR")); - } - NSString *filePath = [folderPath stringByAppendingPathComponent:_testName]; - filePath = [filePath stringByAppendingPathComponent:fileName]; - return filePath; -} - -- (BOOL)_performPixelComparisonWithViewOrLayer:(id)viewOrLayer - selector:(SEL)selector - identifier:(NSString *)identifier - tolerance:(CGFloat)tolerance - error:(NSError **)errorPtr -{ - UIImage *referenceImage = [self referenceImageForSelector:selector identifier:identifier error:errorPtr]; - if (nil != referenceImage) { - UIImage *snapshot = [self _imageForViewOrLayer:viewOrLayer]; - BOOL imagesSame = [self compareReferenceImage:referenceImage toImage:snapshot tolerance:tolerance error:errorPtr]; - if (!imagesSame) { - NSError *saveError = nil; - if ([self saveFailedReferenceImage:referenceImage testImage:snapshot selector:selector identifier:identifier error:&saveError] == NO) { - NSLog(@"Error saving test images: %@", saveError); - } - } - return imagesSame; - } - return NO; -} - -- (BOOL)_recordSnapshotOfViewOrLayer:(id)viewOrLayer - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - UIImage *snapshot = [self _imageForViewOrLayer:viewOrLayer]; - return [self _saveReferenceImage:snapshot selector:selector identifier:identifier error:errorPtr]; -} - -- (BOOL)_saveReferenceImage:(UIImage *)image - selector:(SEL)selector - identifier:(NSString *)identifier - error:(NSError **)errorPtr -{ - BOOL didWrite = NO; - if (nil != image) { - NSString *filePath = [self _referenceFilePathForSelector:selector identifier:identifier]; - NSData *pngData = UIImagePNGRepresentation(image); - if (nil != pngData) { - NSError *creationError = nil; - BOOL didCreateDir = [_fileManager createDirectoryAtPath:[filePath stringByDeletingLastPathComponent] - withIntermediateDirectories:YES - attributes:nil - error:&creationError]; - if (!didCreateDir) { - if (NULL != errorPtr) { - *errorPtr = creationError; - } - return NO; - } - didWrite = [pngData writeToFile:filePath options:NSDataWritingAtomic error:errorPtr]; - if (didWrite) { - NSLog(@"Reference image save at: %@", filePath); - } - } else { - if (nil != errorPtr) { - *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain - code:FBSnapshotTestControllerErrorCodePNGCreationFailed - userInfo:@{ - FBReferenceImageFilePathKey: filePath, - }]; - } - } - } - return didWrite; -} - -- (UIImage *)_imageForViewOrLayer:(id)viewOrLayer -{ - if ([viewOrLayer isKindOfClass:[UIView class]]) { - if (_usesDrawViewHierarchyInRect) { - return [UIImage fb_imageForView:viewOrLayer]; - } else { - return [UIImage fb_imageForViewLayer:viewOrLayer]; - } - } else if ([viewOrLayer isKindOfClass:[CALayer class]]) { - return [UIImage fb_imageForLayer:viewOrLayer]; - } else { - [NSException raise:@"Only UIView and CALayer classes can be snapshotted" format:@"%@", viewOrLayer]; - } - return nil; -} - -@end diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift deleted file mode 100644 index 471bb0d..0000000 --- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift +++ /dev/null @@ -1,125 +0,0 @@ -/* -* Copyright (c) 2015, Facebook, Inc. -* All rights reserved. -* -* This source code is licensed under the BSD-style license found in the -* LICENSE file in the root directory of this source tree. An additional grant -* of patent rights can be found in the PATENTS file in the same directory. -* -*/ - -#if swift(>=3) - public extension FBSnapshotTestCase { - public func FBSnapshotVerifyView(_ view: UIView, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { - FBSnapshotVerifyViewOrLayer(view, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line) - } - - public func FBSnapshotVerifyLayer(_ layer: CALayer, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { - FBSnapshotVerifyViewOrLayer(layer, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line) - } - - private func FBSnapshotVerifyViewOrLayer(_ viewOrLayer: AnyObject, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { - let envReferenceImageDirectory = self.getReferenceImageDirectory(withDefault: FB_REFERENCE_IMAGE_DIR) - var error: NSError? - var comparisonSuccess = false - - if let envReferenceImageDirectory = envReferenceImageDirectory { - for suffix in suffixes { - let referenceImagesDirectory = "\(envReferenceImageDirectory)\(suffix)" - if viewOrLayer.isKind(of: UIView.self) { - do { - try compareSnapshot(of: viewOrLayer as! UIView, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance) - comparisonSuccess = true - } catch let error1 as NSError { - error = error1 - comparisonSuccess = false - } - } else if viewOrLayer.isKind(of: CALayer.self) { - do { - try compareSnapshot(of: viewOrLayer as! CALayer, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance) - comparisonSuccess = true - } catch let error1 as NSError { - error = error1 - comparisonSuccess = false - } - } else { - assertionFailure("Only UIView and CALayer classes can be snapshotted") - } - - assert(recordMode == false, message: "Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!", file: file, line: line) - - if comparisonSuccess || recordMode { - break - } - - assert(comparisonSuccess, message: "Snapshot comparison failed: \(error)", file: file, line: line) - } - } else { - XCTFail("Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme.") - } - } - - func assert(_ assertion: Bool, message: String, file: StaticString, line: UInt) { - if !assertion { - XCTFail(message, file: file, line: line) - } - } - } -#else -public extension FBSnapshotTestCase { - public func FBSnapshotVerifyView(view: UIView, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { - FBSnapshotVerifyViewOrLayer(view, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line) - } - - public func FBSnapshotVerifyLayer(layer: CALayer, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { - FBSnapshotVerifyViewOrLayer(layer, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line) - } - - private func FBSnapshotVerifyViewOrLayer(viewOrLayer: AnyObject, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) { - let envReferenceImageDirectory = self.getReferenceImageDirectoryWithDefault(FB_REFERENCE_IMAGE_DIR) - var error: NSError? - var comparisonSuccess = false - - if let envReferenceImageDirectory = envReferenceImageDirectory { - for suffix in suffixes { - let referenceImagesDirectory = "\(envReferenceImageDirectory)\(suffix)" - if viewOrLayer.isKindOfClass(UIView) { - do { - try compareSnapshotOfView(viewOrLayer as! UIView, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance) - comparisonSuccess = true - } catch let error1 as NSError { - error = error1 - comparisonSuccess = false - } - } else if viewOrLayer.isKindOfClass(CALayer) { - do { - try compareSnapshotOfLayer(viewOrLayer as! CALayer, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance) - comparisonSuccess = true - } catch let error1 as NSError { - error = error1 - comparisonSuccess = false - } - } else { - assertionFailure("Only UIView and CALayer classes can be snapshotted") - } - - assert(recordMode == false, message: "Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!", file: file, line: line) - - if comparisonSuccess || recordMode { - break - } - - assert(comparisonSuccess, message: "Snapshot comparison failed: \(error)", file: file, line: line) - } - } else { - XCTFail("Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme.") - } - } - - func assert(assertion: Bool, message: String, file: StaticString, line: UInt) { - if !assertion { - XCTFail(message, file: file, line: line) - } - } -} -#endif diff --git a/Example/Pods/FBSnapshotTestCase/LICENSE b/Example/Pods/FBSnapshotTestCase/LICENSE deleted file mode 100644 index 2dd780c..0000000 --- a/Example/Pods/FBSnapshotTestCase/LICENSE +++ /dev/null @@ -1,29 +0,0 @@ -BSD License - -For the FBSnapshotTestCase software - -Copyright (c) 2013, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Example/Pods/FBSnapshotTestCase/README.md b/Example/Pods/FBSnapshotTestCase/README.md deleted file mode 100644 index bc23b83..0000000 --- a/Example/Pods/FBSnapshotTestCase/README.md +++ /dev/null @@ -1,97 +0,0 @@ -FBSnapshotTestCase -====================== - -[![Build Status](https://travis-ci.org/facebook/ios-snapshot-test-case.svg)](https://travis-ci.org/facebook/ios-snapshot-test-case) [![Cocoa Pod Version](https://cocoapod-badges.herokuapp.com/v/FBSnapshotTestCase/badge.svg)](http://cocoadocs.org/docsets/FBSnapshotTestCase/) - -What it does ------------- - -A "snapshot test case" takes a configured `UIView` or `CALayer` and uses the -`renderInContext:` method to get an image snapshot of its contents. It -compares this snapshot to a "reference image" stored in your source code -repository and fails the test if the two images don't match. - -Why? ----- - -At Facebook we write a lot of UI code. As you might imagine, each type of -feed story is rendered using a subclass of `UIView`. There are a lot of edge -cases that we want to handle correctly: - -- What if there is more text than can fit in the space available? -- What if an image doesn't match the size of an image view? -- What should the highlighted state look like? - -It's straightforward to test logic code, but less obvious how you should test -views. You can do a lot of rectangle asserts, but these are hard to understand -or visualize. Looking at an image diff shows you exactly what changed and how -it will look to users. - -We developed `FBSnapshotTestCase` to make snapshot tests easy. - -Installation with CocoaPods ---------------------------- - -1. Add the following lines to your Podfile: - - ``` - target "Tests" do - pod 'FBSnapshotTestCase' - end - ``` - - If you support iOS 7 use `FBSnapshotTestCase/Core` instead, which doesn't contain Swift support. - - Replace "Tests" with the name of your test project. - -2. There are [three ways](https://github.com/facebook/ios-snapshot-test-case/blob/master/FBSnapshotTestCase/FBSnapshotTestCase.h#L19-L29) of setting reference image directories, the recommended one is to define `FB_REFERENCE_IMAGE_DIR` in your scheme. This should point to the directory where you want reference images to be stored. At Facebook, we normally use this: - -|Name|Value| -|:---|:----| -|`FB_REFERENCE_IMAGE_DIR`|`$(SOURCE_ROOT)/$(PROJECT_NAME)Tests/ReferenceImages`| - - -![](FBSnapshotTestCaseDemo/Scheme_FB_REFERENCE_IMAGE_DIR.png) - -Creating a snapshot test ------------------------- - -1. Subclass `FBSnapshotTestCase` instead of `XCTestCase`. -2. From within your test, use `FBSnapshotVerifyView`. -3. Run the test once with `self.recordMode = YES;` in the test's `-setUp` - method. (This creates the reference images on disk.) -4. Remove the line enabling record mode and run the test. - -Features --------- - -- Automatically names reference images on disk according to test class and - selector. -- Prints a descriptive error message to the console on failure. (Bonus: - failure message includes a one-line command to see an image diff if - you have [Kaleidoscope](http://www.kaleidoscopeapp.com) installed.) -- Supply an optional "identifier" if you want to perform multiple snapshots - in a single test method. -- Support for `CALayer` via `FBSnapshotVerifyLayer`. -- `usesDrawViewHierarchyInRect` to handle cases like `UIVisualEffect`, `UIAppearance` and Size Classes. -- `isDeviceAgnostic` to allow appending the device model (`iPhone`, `iPad`, `iPod Touch`, etc), OS version and screen size to the images (allowing to have multiple tests for the same «snapshot» for different `OS`s and devices). - -Notes ------ - -Your unit test must be an "application test", not a "logic test." (That is, it -must be run within the Simulator so that it has access to UIKit.) In Xcode 5 -and later new projects only offer application tests, but older projects will -have separate targets for the two types. - -Authors -------- - -`FBSnapshotTestCase` was written at Facebook by -[Jonathan Dann](https://facebook.com/j.p.dann) with significant contributions by -[Todd Krabach](https://facebook.com/toddkrabach). - -License -------- - -`FBSnapshotTestCase` is BSD-licensed. See `LICENSE`. diff --git a/Example/Pods/Local Podspecs/StyledText.podspec.json b/Example/Pods/Local Podspecs/StyledText.podspec.json index f3ae6af..364377e 100644 --- a/Example/Pods/Local Podspecs/StyledText.podspec.json +++ b/Example/Pods/Local Podspecs/StyledText.podspec.json @@ -1,6 +1,6 @@ { "name": "StyledText", - "version": "1.2.0", + "version": "1.3.0", "summary": "Declarative text styles and simple Dynamic Type support for iOS", "description": "StyledText is a library that simplifies styling dynamic text in iOS applications. Instead of having to use attributed strings every time you need to update text, you can declaratively set a text style on your labels. When the text of the label is updated, the label uses the preset style.", "homepage": "https://github.com/blueapron/styled-text", @@ -13,11 +13,13 @@ }, "source": { "git": "https://github.com/blueapron/styled-text.git", - "tag": "v1.2.0" + "tag": "v1.3.0" }, "platforms": { "ios": "10.0" }, + "swift_versions": "5.0", "source_files": "StyledText/Classes/**/*", - "frameworks": "UIKit" + "frameworks": "UIKit", + "swift_version": "5.0" } diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index fb2def1..69e3362 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,33 +1,27 @@ PODS: - - FBSnapshotTestCase (2.1.4): - - FBSnapshotTestCase/SwiftSupport (= 2.1.4) - - FBSnapshotTestCase/Core (2.1.4) - - FBSnapshotTestCase/SwiftSupport (2.1.4): - - FBSnapshotTestCase/Core - iOSSnapshotTestCase (6.2.0): - iOSSnapshotTestCase/SwiftSupport (= 6.2.0) - iOSSnapshotTestCase/Core (6.2.0) - iOSSnapshotTestCase/SwiftSupport (6.2.0): - iOSSnapshotTestCase/Core - - Nimble (8.0.5) - - Nimble-Snapshots (8.1.1): - - Nimble-Snapshots/Core (= 8.1.1) - - Nimble-Snapshots/Core (8.1.1): + - Nimble (8.1.2) + - Nimble-Snapshots (8.2.1): + - Nimble-Snapshots/Core (= 8.2.1) + - Nimble-Snapshots/Core (8.2.1): - iOSSnapshotTestCase (~> 6.0) - Nimble (~> 8.0) - - Quick (1.2.0) - - StyledText (1.2.0) + - Quick (3.0.0) + - StyledText (1.3.0) DEPENDENCIES: - - FBSnapshotTestCase (~> 2.1.4) - - Nimble (~> 8.0.5) - - Nimble-Snapshots (~> 8.1.1) + - iOSSnapshotTestCase + - Nimble + - Nimble-Snapshots - Quick - StyledText (from `../`) SPEC REPOS: trunk: - - FBSnapshotTestCase - iOSSnapshotTestCase - Nimble - Nimble-Snapshots @@ -38,13 +32,12 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - FBSnapshotTestCase: 094f9f314decbabe373b87cc339bea235a63e07a iOSSnapshotTestCase: 9ab44cb5aa62b84d31847f40680112e15ec579a6 - Nimble: 4ab1aeb9b45553c75b9687196b0fa0713170a332 - Nimble-Snapshots: 5058fb9b459e64371f54a0f8d9dde6f33db490a0 - Quick: 58d203b1c5e27fff7229c4c1ae445ad7069a7a08 - StyledText: beae3735c7519bb41b62763eb88aa31d17fc8243 + Nimble: 3864815b4703c7ebffba875973c70e854489fbae + Nimble-Snapshots: 3a4750d83752625c8ebfdc588da105303ee2201e + Quick: 6d9559f40647bc4d510103842ef2fdd882d753e2 + StyledText: f1f3da3cb2151c2821d7b84a462bb57d22eb0b33 -PODFILE CHECKSUM: 3651a54dfc5a4b87eaeda450dfb810881dcebde4 +PODFILE CHECKSUM: c81093a63a3ec0078b3e3bb558a994249613c555 -COCOAPODS: 1.9.0 +COCOAPODS: 1.9.1 diff --git a/Example/Pods/Nimble-Snapshots/Nimble_Snapshots/HaveValidSnapshot.swift b/Example/Pods/Nimble-Snapshots/Nimble_Snapshots/HaveValidSnapshot.swift index 07958cc..1c66711 100644 --- a/Example/Pods/Nimble-Snapshots/Nimble_Snapshots/HaveValidSnapshot.swift +++ b/Example/Pods/Nimble-Snapshots/Nimble_Snapshots/HaveValidSnapshot.swift @@ -117,6 +117,10 @@ public func setNimblePixelTolerance(_ pixelTolerance: CGFloat) { FBSnapshotTest.sharedInstance.pixelTolerance = pixelTolerance } +public func recordAllSnapshots() { + switchChecksWithRecords = true +} + func getDefaultReferenceDirectory(_ sourceFileName: String) -> String { if let globalReference = FBSnapshotTest.sharedInstance.referenceImagesDirectory { return globalReference diff --git a/Example/Pods/Nimble/README.md b/Example/Pods/Nimble/README.md index 4f7f89b..b358b1d 100644 --- a/Example/Pods/Nimble/README.md +++ b/Example/Pods/Nimble/README.md @@ -1186,7 +1186,7 @@ expect { let notificationCenter = NotificationCenter() expect { notificationCenter.postNotification(testNotification) -}.to(postNotifications(equal([testNotification]), fromNotificationCenter: notificationCenter)) +}.to(postNotifications(equal([testNotification]), from: notificationCenter)) ``` > This matcher is only available in Swift. diff --git a/Example/Pods/Nimble/Sources/Nimble/Matchers/PostNotification.swift b/Example/Pods/Nimble/Sources/Nimble/Matchers/PostNotification.swift index 5e8bee3..1a62247 100644 --- a/Example/Pods/Nimble/Sources/Nimble/Matchers/PostNotification.swift +++ b/Example/Pods/Nimble/Sources/Nimble/Matchers/PostNotification.swift @@ -29,7 +29,7 @@ private let mainThread = pthread_self() public func postNotifications( _ predicate: Predicate<[Notification]>, - fromNotificationCenter center: NotificationCenter = .default + from center: NotificationCenter = .default ) -> Predicate { _ = mainThread // Force lazy-loading of this value let collector = NotificationCollector(notificationCenter: center) @@ -66,12 +66,18 @@ public func postNotifications( } } +@available(*, deprecated, renamed: "postNotifications(_:from:)") +public func postNotifications( + _ predicate: Predicate<[Notification]>, + fromNotificationCenter center: NotificationCenter +) -> Predicate { + return postNotifications(predicate, from: center) +} + public func postNotifications( _ notificationsMatcher: T, - fromNotificationCenter center: NotificationCenter = .default) - -> Predicate - where T: Matcher, T.ValueType == [Notification] -{ + from center: NotificationCenter = .default +)-> Predicate where T: Matcher, T.ValueType == [Notification] { _ = mainThread // Force lazy-loading of this value let collector = NotificationCollector(notificationCenter: center) collector.startObserving() @@ -98,3 +104,11 @@ public func postNotifications( return PredicateResult(bool: match, message: failureMessage.toExpectationMessage()) } } + +@available(*, deprecated, renamed: "postNotifications(_:from:)") +public func postNotifications( + _ notificationsMatcher: T, + fromNotificationCenter center: NotificationCenter +)-> Predicate where T: Matcher, T.ValueType == [Notification] { + return postNotifications(notificationsMatcher, from: center) +} diff --git a/Example/Pods/Nimble/Sources/Nimble/Matchers/ThrowAssertion.swift b/Example/Pods/Nimble/Sources/Nimble/Matchers/ThrowAssertion.swift index e20f9ea..0124431 100644 --- a/Example/Pods/Nimble/Sources/Nimble/Matchers/ThrowAssertion.swift +++ b/Example/Pods/Nimble/Sources/Nimble/Matchers/ThrowAssertion.swift @@ -1,7 +1,7 @@ import Foundation -#if canImport(CwlPreconditionTesting) -import CwlPreconditionTesting +#if canImport(NimbleCwlPreconditionTesting) +import NimbleCwlPreconditionTesting #endif public func throwAssertion() -> Predicate { diff --git a/Example/Pods/Nimble/Sources/Nimble/Utils/Await.swift b/Example/Pods/Nimble/Sources/Nimble/Utils/Await.swift index 8ffc60b..ebd81d0 100644 --- a/Example/Pods/Nimble/Sources/Nimble/Utils/Await.swift +++ b/Example/Pods/Nimble/Sources/Nimble/Utils/Await.swift @@ -301,11 +301,19 @@ internal class Awaiter { let timeoutSource = createTimerSource(timeoutQueue) var completionCount = 0 let trigger = AwaitTrigger(timeoutSource: timeoutSource, actionSource: nil) { - try closure { + try closure { result in completionCount += 1 if completionCount < 2 { - if promise.resolveResult(.completed($0)) { - CFRunLoopStop(CFRunLoopGetMain()) + func completeBlock() { + if promise.resolveResult(.completed(result)) { + CFRunLoopStop(CFRunLoopGetMain()) + } + } + + if Thread.isMainThread { + completeBlock() + } else { + DispatchQueue.main.async { completeBlock() } } } else { fail("waitUntil(..) expects its completion closure to be only called once", diff --git a/Example/Pods/Nimble/Sources/NimbleObjectiveC/XCTestObservationCenter+Register.m b/Example/Pods/Nimble/Sources/NimbleObjectiveC/XCTestObservationCenter+Register.m index fa5030a..3c1110b 100644 --- a/Example/Pods/Nimble/Sources/NimbleObjectiveC/XCTestObservationCenter+Register.m +++ b/Example/Pods/Nimble/Sources/NimbleObjectiveC/XCTestObservationCenter+Register.m @@ -1,5 +1,4 @@ #import -#import #if __has_include("Nimble-Swift.h") #import "Nimble-Swift.h" @@ -7,77 +6,12 @@ #import #endif -#pragma mark - Method Swizzling - -/// Swaps the implementations between two instance methods. -/// -/// @param class The class containing `originalSelector`. -/// @param originalSelector Original method to replace. -/// @param replacementSelector Replacement method. -void swizzleSelectors(Class class, SEL originalSelector, SEL replacementSelector) { - Method originalMethod = class_getInstanceMethod(class, originalSelector); - Method replacementMethod = class_getInstanceMethod(class, replacementSelector); - - BOOL didAddMethod = - class_addMethod(class, - originalSelector, - method_getImplementation(replacementMethod), - method_getTypeEncoding(replacementMethod)); - - if (didAddMethod) { - class_replaceMethod(class, - replacementSelector, - method_getImplementation(originalMethod), - method_getTypeEncoding(originalMethod)); - } else { - method_exchangeImplementations(originalMethod, replacementMethod); - } -} - #pragma mark - Private -@interface XCTestObservationCenter (Private) -- (void)_addLegacyTestObserver:(id)observer; -@end - @implementation XCTestObservationCenter (Register) -/// Uses objc method swizzling to register `CurrentTestCaseTracker` as a test observer. This is necessary -/// because Xcode 7.3 introduced timing issues where if a custom `XCTestObservation` is registered too early -/// it suppresses all console output (generated by `XCTestLog`), breaking any tools that depend on this output. -/// This approach waits to register our custom test observer until XCTest adds its first "legacy" observer, -/// falling back to registering after the first normal observer if this private method ever changes. + (void)load { - if (class_getInstanceMethod([self class], @selector(_addLegacyTestObserver:))) { - // Swizzle -_addLegacyTestObserver: - swizzleSelectors([self class], @selector(_addLegacyTestObserver:), @selector(NMB_original__addLegacyTestObserver:)); - } else { - // Swizzle -addTestObserver:, only if -_addLegacyTestObserver: is not implemented - swizzleSelectors([self class], @selector(addTestObserver:), @selector(NMB_original_addTestObserver:)); - } -} - -#pragma mark - Replacement Methods - -/// Registers `CurrentTestCaseTracker` as a test observer after `XCTestLog` has been added. -- (void)NMB_original__addLegacyTestObserver:(id)observer { - [self NMB_original__addLegacyTestObserver:observer]; - - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - [self addTestObserver:[CurrentTestCaseTracker sharedInstance]]; - }); -} - -/// Registers `CurrentTestCaseTracker` as a test observer after `XCTestLog` has been added. -/// This method is only used if `-_addLegacyTestObserver:` is not impelemented. (added in Xcode 7.3) -- (void)NMB_original_addTestObserver:(id)observer { - [self NMB_original_addTestObserver:observer]; - - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - [self NMB_original_addTestObserver:[CurrentTestCaseTracker sharedInstance]]; - }); + [[XCTestObservationCenter sharedTestObservationCenter] addTestObserver:[CurrentTestCaseTracker sharedInstance]]; } @end diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index f566eb3..c38b8b9 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,561 +7,499 @@ objects = { /* Begin PBXBuildFile section */ - 00224C929D57F45B70E87359E719948D /* FBSnapshotTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = C02C838B479DA9D87C0BC24B928E4F77 /* FBSnapshotTestCase.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0353CDD8BF6BD68D5822B5306BBACCAF /* UIImage+Compare.m in Sources */ = {isa = PBXBuildFile; fileRef = C3FFC9516B323D99D2C7DF20BD5B8985 /* UIImage+Compare.m */; }; - 03C0BA55217336E3053CE514F8E880FD /* Pods-StyledText_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BC7ABDA6DB1620BD4B7052AC3182C13 /* Pods-StyledText_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0683FC9DDCAB80660BD11E7159607DB6 /* World+DSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 3437ACAC69A9BC0B957BC85F00D46F3B /* World+DSL.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0892D14FE7A3452423E9129D7917664B /* MatchError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C5F8AAEDCC146CA200C4254AAC23C5E /* MatchError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 092256E303520E50ADEFF25EEB4E73EE /* CwlCatchException.h in Headers */ = {isa = PBXBuildFile; fileRef = D885C25D6129701085FDABB4606047D5 /* CwlCatchException.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 098BFC14C537EA9FAF9C07ADBBC45B52 /* XCTestObservationCenter+CurrentTestCaseTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D31D44BA8136F4B1BED16A2F02C5502 /* XCTestObservationCenter+CurrentTestCaseTracker.m */; }; - 0C091B7E293E5115646EE277C809E91A /* Nimble-Snapshots-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = EE2E3B7C318BECD7BAF6AD9896090ED3 /* Nimble-Snapshots-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11C410135C7E89353B480AC8DE0BFB77 /* UIApplication+StrictKeyWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 04A849C1EFF157DA59BD6EB71A45887B /* UIApplication+StrictKeyWindow.m */; }; - 11EDFDE1BC5494E14D6F81320FE3925F /* QuickConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B9F69C34F551D51D1962F7951A9EF81 /* QuickConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1291696393FFEA6F94FF1E0B79923B43 /* HooksPhase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38A029BD33644B2F87CC02FF24CEF2B1 /* HooksPhase.swift */; }; - 13D2A4D59DD9612E1AA7F3182A342162 /* mach_excServer.c in Sources */ = {isa = PBXBuildFile; fileRef = AA0BAE4448AD0D24984DA6B1792907A9 /* mach_excServer.c */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 14A94253562A978A55E5A7CE62FAC108 /* FBSnapshotTestController.h in Headers */ = {isa = PBXBuildFile; fileRef = 13FD88F3D38EBF44F986FF408383047F /* FBSnapshotTestController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 14AD81D52FAD9CF2C065C61FB00C3B4F /* UIImage+Diff.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D9ACD42F0FDA5E2CBE9F70295667345 /* UIImage+Diff.m */; }; - 14C511527597E5846AB2627F791C7D8E /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A69EB16895D0FDA9699EED91A3CFB841 /* QuartzCore.framework */; }; - 1517C401FBD8160B225D9A781C37CB5A /* Nimble-Snapshots-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CEF99E69EAD782AEDD946A6BE58C216 /* Nimble-Snapshots-dummy.m */; }; - 192A3F8BEC1A99FD8712D3E09724D72C /* FailureMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61D1ED503171C9E34795C28630C79553 /* FailureMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 1E9765321C09CD3A53C3962859EB4008 /* FBSnapshotTestCasePlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = C2DAD5B94EEFEE829E704529A73E31B0 /* FBSnapshotTestCasePlatform.m */; }; - 234849AD309265FD107C74357FC8C0CF /* DSL+Wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCAEA8B9C02FCAF65860369371BD356B /* DSL+Wait.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 2391FFD3230B40E2348B5257D6296BBB /* BeGreaterThanOrEqualTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D3E5D96225DED077D3EF966D01C9C14 /* BeGreaterThanOrEqualTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 018228C4760DF4F8B80630BC9ACCB39E /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = B90702A36987A4407C503DAF5EA8BF70 /* DSL.swift */; }; + 02DD7FC6A855D0675EA8B3BE66C99BBB /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E906E59597539202C0610CB360AA2AC /* XCTest.framework */; }; + 071B91450BAB053E659829D1A0E1C192 /* DynamicSizeSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFF5AFCC82D5982C7BDE5AF6F164BE1A /* DynamicSizeSnapshot.swift */; }; + 075211D7E4409D0826AC00348BDD999F /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A69EB16895D0FDA9699EED91A3CFB841 /* QuartzCore.framework */; }; + 0892D14FE7A3452423E9129D7917664B /* MatchError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 037B0A8291396D89D4F77E07627C0F83 /* MatchError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 092256E303520E50ADEFF25EEB4E73EE /* CwlCatchException.h in Headers */ = {isa = PBXBuildFile; fileRef = AC2D34E58EC07DA65CE887853E5EC4EC /* CwlCatchException.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0B7F3B8D408B030721FDB8C595D61AE2 /* Nimble-Snapshots-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 69C20EEF52DBE6C562A06347CB7CAD0B /* Nimble-Snapshots-dummy.m */; }; + 0F09592624001A1870813A4F998A0D2A /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E906E59597539202C0610CB360AA2AC /* XCTest.framework */; }; + 10C8810E574F925B5CD3449B6DBE6EC0 /* Quick.h in Headers */ = {isa = PBXBuildFile; fileRef = B92890D125C4551D906651D30FD431BE /* Quick.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 13D2A4D59DD9612E1AA7F3182A342162 /* mach_excServer.c in Sources */ = {isa = PBXBuildFile; fileRef = 9EDB30106ECB5FC688529F61427E6BB6 /* mach_excServer.c */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 14ECE81218F5F5C9BEF00819A7C078EC /* Closures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 698366958DC6935608D5A2AC1124B24F /* Closures.swift */; }; + 15A736854C06BE8BD030797A7122D98B /* Nimble_Snapshots.h in Headers */ = {isa = PBXBuildFile; fileRef = BB6EC39CBFE50D195B12ABC32E499302 /* Nimble_Snapshots.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 163C2D9C86D8AA40817453CC2F41F5BE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; + 192A3F8BEC1A99FD8712D3E09724D72C /* FailureMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F1012F5D8CD6359B797D4CC8EC02030 /* FailureMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 19BE484FBF9788D950C5F0F58E76168C /* Nimble-Snapshots-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 823214BB437475073AD6380CDD9BE2DB /* Nimble-Snapshots-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1A8DF79F5EF3D69864A84173E7C9810E /* QCKDSL.h in Headers */ = {isa = PBXBuildFile; fileRef = C5B0AA9191CB3A0D6711FA08729EE0CD /* QCKDSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1D614FAF3233332BF1DABF640545D72F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF0FC4B74774AC1644D1B62CBDC0CCBF /* UIKit.framework */; }; + 209F98BB7B328893FB64BA0393B4BD57 /* HooksPhase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C107EF1AE0303E5F158349466E1553FC /* HooksPhase.swift */; }; + 22B5B4ED0824E7BAF2091AAD6238A73F /* QuickSpecBase.m in Sources */ = {isa = PBXBuildFile; fileRef = BA4254CF1C59658097CD397A1908A07C /* QuickSpecBase.m */; }; + 234849AD309265FD107C74357FC8C0CF /* DSL+Wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55C1DA629049424DC91675887D9F68A7 /* DSL+Wait.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 2391FFD3230B40E2348B5257D6296BBB /* BeGreaterThanOrEqualTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = F414BF62DF9495F0F479DB4C362D8B16 /* BeGreaterThanOrEqualTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 25699DE8F06F26C21F3824F074DC2DD4 /* DynamicTypeController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C08B2F4E72EA687CCA717EAB0C59F656 /* DynamicTypeController.swift */; }; - 26B9FEAB3DE0C8B91709D53571752A3B /* MatcherFunc.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA44B3F730848082AA9F1D9E591D5EB2 /* MatcherFunc.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 26B9FEAB3DE0C8B91709D53571752A3B /* MatcherFunc.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8C7F742D91EA9171A992AA4625653D7 /* MatcherFunc.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 274D7398458439FC1CFC4F5D412F46EF /* WeakArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91FBE7480A38D7D7FF327B577F6ED9C4 /* WeakArray.swift */; }; - 2A94FACEA07096DDE05ACF58491DD963 /* World+DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = EACA3A093ED9BB7A60633402E9D40E28 /* World+DSL.swift */; }; - 2A95AD48CE160CCC59957E4F91EEC9B9 /* XCTestSuite+QuickTestSuiteBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 38BFD03F1F5CFDF9828650C4A20055A6 /* XCTestSuite+QuickTestSuiteBuilder.m */; }; - 2ADD7D3E0B94EF044CF3FFD2F8EA2C67 /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED6B10B8F12295D008DC954385194128 /* DSL.swift */; }; - 2B350015B9F7546D0769649EE12D7D1A /* NimbleXCTestHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28647D71540442E83491CCA7ABD942A4 /* NimbleXCTestHandler.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 2B350015B9F7546D0769649EE12D7D1A /* NimbleXCTestHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = FEF1DF655526BAF961DC5768E7BD299F /* NimbleXCTestHandler.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 2C83A7BFA2F4DFC3C1DE20702814E02E /* StyledText-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C152F93A865CD3CF2503C2530A540576 /* StyledText-dummy.m */; }; - 2DCFF0CE0BD295F1D46D3247F36B192C /* UIImage+Compare.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F3939E47B03A04CCEE11831F7FA276A /* UIImage+Compare.m */; }; - 2EA6B2E10F38275D4CEB37B7ADDAE0E0 /* QuickConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 532C2F46C22116ABA22E309056D6458E /* QuickConfiguration.m */; }; + 2EC794115349425A8865FE5DAD061D1D /* iOSSnapshotTestCase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 48A2A771C0F6CC509080DA21DC76D606 /* iOSSnapshotTestCase-dummy.m */; }; + 2F0B5199CDB717CA9F680579900ABF15 /* QuickSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = DC3A0932BB28EEB2EA4B38DE436E8BC5 /* QuickSpec.m */; }; + 2F9C2BB07DA61523AD7C9DCE47DC7498 /* UIImage+Snapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = 849C54FB99D27CD7653267C08F392E72 /* UIImage+Snapshot.m */; }; 30B1055F25BD4D7C9B87E90286DD9F8D /* TextStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D71A28591554C37F4773DE54C43571D6 /* TextStyle.swift */; }; - 3262B230B938C8D6522790093FEAF69D /* EndWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = B36AFF643D999732F2CB2654CA2E4952 /* EndWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 32DF30CA07145B105E1F456EB3459623 /* Nimble_Snapshots.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B5724B71AEE25862063B59E66F4BF61 /* Nimble_Snapshots.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 330E8E4A6596ED625E9B34C94CC4136E /* Await.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10D951E4943C47039EF9F0EC0612C7D6 /* Await.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 33F3D6D33A64FCE3417538DF0CC6BF64 /* FBSnapshotTestCasePlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C2F984A0D1A6663D8358FB74616C0EF /* FBSnapshotTestCasePlatform.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3460FEA0CEADB05D3B56C2E1CAF9590C /* ElementsEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = A20E4CFBCDE6C12F0E217FA52C09D342 /* ElementsEqual.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 3722B93E1E8BF31C11CDF45AA815A767 /* QuickTestSuite.swift in Sources */ = {isa = PBXBuildFile; fileRef = A99E6A47133AED1341A2C1590E22594C /* QuickTestSuite.swift */; }; - 39133A7716CEDEB690A7DA9D12C45C4D /* CwlDarwinDefinitions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 820D38D8EE6A6451C76FFC43FD73CCC7 /* CwlDarwinDefinitions.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 3262B230B938C8D6522790093FEAF69D /* EndWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DEA02BA580AFE76B269F8D10ED807AE /* EndWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 330E8E4A6596ED625E9B34C94CC4136E /* Await.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC969A46E97EAB16729C9B770320256E /* Await.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 3460FEA0CEADB05D3B56C2E1CAF9590C /* ElementsEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1AA4C77433E4419B8E52DD4BE31C5DA /* ElementsEqual.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 39133A7716CEDEB690A7DA9D12C45C4D /* CwlDarwinDefinitions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22016A00EDECC7ECB820A382AED90EEB /* CwlDarwinDefinitions.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 3937CFDBB2D0472D717F07BF3ADFC98C /* StyledTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F79D8BF19C2FA8DB683C45A9BABB1D5 /* StyledTextView.swift */; }; - 3BD0C370BBCEBDEA68B8EDBD969370EB /* mach_excServer.h in Headers */ = {isa = PBXBuildFile; fileRef = B8463D6B4FEE37F049D267A6BB6BB429 /* mach_excServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3D317145F0CA3D74E737AB0B919AB6E9 /* QuickSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = 4588FC13E7F7E57EC53EFF1479C48B43 /* QuickSpec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3D9143D80C7867629C19ADCFD3086CBA /* FBSnapshotTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = CE8B5A37E4E06570F40F9B430D628CFE /* FBSnapshotTestCase.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3EA08EB6F673D8876FE9A2CDB31275DC /* UIImage+Snapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 995DAB18CD52B258DCD728CE7A2FCA55 /* UIImage+Snapshot.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 40039E0AF0D764360B1D4FC4F7950D2E /* UIApplication+StrictKeyWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = C92609FA3F628802C76D980E12A94585 /* UIApplication+StrictKeyWindow.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4203EF96811AE514D64AE069311B1575 /* AllPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27DD284FA901FCAB014FD00EFC244700 /* AllPass.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 39382B0A1EF090D15BA6C89FC3DCB099 /* QuickTestObservation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 873DD83B39F65143143EF2C7EBC2EAD1 /* QuickTestObservation.swift */; }; + 397F8F8200C5201681E45A3A308FB09C /* XCTestObservationCenter+CurrentTestCaseTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F137A96B9257016E0D9451D24756E63 /* XCTestObservationCenter+CurrentTestCaseTracker.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3BD0C370BBCEBDEA68B8EDBD969370EB /* mach_excServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D7A8AAE16A29455D88A96E1CAD77620 /* mach_excServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3D6A581E79FD9EAC1A948D8BC53F1EB0 /* QuickConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3291F9E8823BE853FDBF39E713BBC8E /* QuickConfiguration.swift */; }; + 4203EF96811AE514D64AE069311B1575 /* AllPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7EA429D9E5076692DD64BE30CDCF846 /* AllPass.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 4291EBA3474A02E90B01EAE2A1865772 /* StyledButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EF8EB84DDBF7B517959F766080CE185 /* StyledButton.swift */; }; - 42F76698690916E0407F51610D829412 /* BeGreaterThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E02C503602DC755FE67F0C4FB9D2A7F /* BeGreaterThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 43BF42159F430B01CB7F94DFDA66F510 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E906E59597539202C0610CB360AA2AC /* XCTest.framework */; }; - 44C9470137EF941955A1FDCE71D68C26 /* MatcherProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64CD1CB40F72876DE2A4A6419F80A00F /* MatcherProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 4672FD9F2A61E374A3E7DD79336D4831 /* FBSnapshotTestCase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45544E7DC8BC621B5141430C9031836E /* FBSnapshotTestCase.framework */; }; - 46B90B2CF2EB97B38C43A31E9A5478C2 /* PostNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90D71B3DC97F41D5C97B183F006CD500 /* PostNotification.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 46BDEBF35D99D2CC53EF72DFC5BDCDCC /* BeLessThanOrEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = B11690633C49BCECBD572913D98D9387 /* BeLessThanOrEqual.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 48F15AE2F06B8500AD60C39BB45280A3 /* NSBundle+CurrentTestBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 888DCF2F6DEA8CD62AC0BE7143C84F2C /* NSBundle+CurrentTestBundle.swift */; }; - 4A9E7C1A8B697A1C0B0A1E0DF855A591 /* CwlCatchException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10476AB6B6D82C5D04171DFB2F043C6E /* CwlCatchException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 4CD5591DB1830D1F96292CDFF84B30A0 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E906E59597539202C0610CB360AA2AC /* XCTest.framework */; }; - 4E5EE3187B48F60A0FBA4EB9ACB7FD76 /* NSString+C99ExtendedIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFC3F0CE34BEEDA0FB51C6910AEE5811 /* NSString+C99ExtendedIdentifier.swift */; }; - 51AF27C6C6A436C598A9C6FD24990EF7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; - 524B49575CF7A7FF74F8B460C17512F2 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E906E59597539202C0610CB360AA2AC /* XCTest.framework */; }; - 52AB6461CAA9481D24835F3E48301FC6 /* BeIdenticalTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4018085C58D26AF5FD02154991BDE8B7 /* BeIdenticalTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 53D4EA82797AB425B9DD2A06C8DED64B /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF0FC4B74774AC1644D1B62CBDC0CCBF /* UIKit.framework */; }; - 5578F928AEFA8B2B7CC542033590DFD6 /* Match.swift in Sources */ = {isa = PBXBuildFile; fileRef = DECB05C01F82D94232FBF570CDAD6647 /* Match.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 5A49B2C87AABFAED124DE8DDCC2FEAA1 /* World.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D59FF37755330882EF7356E677CE501 /* World.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5B6F70DDD4C63CF6ED95291BCB633494 /* ContainElementSatisfying.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67EBE1E3FE91179FC4FB238EF1D0FD2F /* ContainElementSatisfying.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 602E3758C0EF64AF6B7FCEA05BF5B9B9 /* Expectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A5517971FCF5D6E93A5DC75B4AFBD47 /* Expectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 610D6EC1202EB3B04500DD44B66A9DB1 /* UIImage+Compare.h in Headers */ = {isa = PBXBuildFile; fileRef = CB769D9B2B743149BE634D411B836ABA /* UIImage+Compare.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 618B2BE4222F19852598D9A76F888685 /* FBSnapshotTestController.m in Sources */ = {isa = PBXBuildFile; fileRef = D6E97B6D373A3D03F97FD7A3CE86FA22 /* FBSnapshotTestController.m */; }; - 64E26D7D025AC4462DFA8BA66B38C9D8 /* HaveCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75A1B22DCD492D4627DC014F7C2766E5 /* HaveCount.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 65C7F5A043925A30B66024D146D70C0E /* SuiteHooks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30C4BCA6D4B80F53F10C5B3620E27A84 /* SuiteHooks.swift */; }; - 663333C5E1449EB8487518A5FEAEF8AD /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F8842749959EB75CFBC97264CC7A19B /* Configuration.swift */; }; - 67365D8C7D4AB95553BB274368DBCF1E /* Example.swift in Sources */ = {isa = PBXBuildFile; fileRef = D419F5CCB71712721E4487CF8A10AB4C /* Example.swift */; }; - 6AE239C5D116E1C06F5705699FB9EAF0 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E906E59597539202C0610CB360AA2AC /* XCTest.framework */; }; - 6DBC8EB7532E931C2FBDA71D1E0B66A4 /* FBSnapshotTestCase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FBC31F2A015FAE02F6D4F3BDB37F8E60 /* FBSnapshotTestCase-dummy.m */; }; - 705758F52A2D1F3ECE59D027D63B1F91 /* Pods-StyledText_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 08A10C56C7D1217A42D6F412071CC1F4 /* Pods-StyledText_Example-dummy.m */; }; - 72FB8CEABF346A37D54CC08647489A98 /* ThrowAssertion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 800C09AB4F1564BCEADB2508345BDEB9 /* ThrowAssertion.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 74A2E7C83AA510B19CBCFDEDF0993DFF /* NBSMockedApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = 543E8B9014E1EFD35412C772C6F225F2 /* NBSMockedApplication.m */; }; - 78A51B7FCC1DFB888AAA254529013C12 /* BeginWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE4471BBDE617986FF64CCCC1858BD4E /* BeginWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 7A5B1CC9274B3E4E10EE1561F3AFD58E /* Callsite.swift in Sources */ = {isa = PBXBuildFile; fileRef = 091CA31B0A95BC5E12112A8BB41F33E2 /* Callsite.swift */; }; - 7A66539DD738BE28A057CA37AAF8F829 /* ExampleHooks.swift in Sources */ = {isa = PBXBuildFile; fileRef = B63892BFC1B4B8F852DD26675FF2FC12 /* ExampleHooks.swift */; }; - 7AC93EB6DCDA9226165D5BC354FE7BC6 /* DSL.m in Sources */ = {isa = PBXBuildFile; fileRef = EE88AACEFE6D10B5B9D95F9DECDFE3C6 /* DSL.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 7DAC86DCBC36C10F43FA5FEB819B7BF1 /* Functional.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF70696FD648BCFC705B58352C886EDA /* Functional.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 806B9040D79A3DC58FB56EAC16FE19BF /* Stringers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2736EA742D5B0B34C12161B845B4EBF8 /* Stringers.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 80DEBE41D84FBA1C4D4FE00C8D797E82 /* CwlPreconditionTesting.h in Headers */ = {isa = PBXBuildFile; fileRef = 7303B9484DF95EADC676574D3BF05344 /* CwlPreconditionTesting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 84A3D2DAA3A41331772597AE8A5B5DD9 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F64940D9241DA56E989F5444A9D8772 /* SwiftSupport.swift */; }; - 857347F7E0C2B578C29882CA41D164E6 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A69EB16895D0FDA9699EED91A3CFB841 /* QuartzCore.framework */; }; - 88396E68DC05A379282F3B374F75F43C /* FBSnapshotTestController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1096B98C859D3A8CE6DD4D5C37498A9B /* FBSnapshotTestController.m */; }; - 88DAA80CCAE48DDE7693D93D9ECD7E01 /* iOSSnapshotTestCase-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F61484E938FC64965DF8C00269C871A /* iOSSnapshotTestCase-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 89EE4D6DBDB79963D65AA1E67B543B6D /* CwlCatchBadInstruction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E66836C99A6034B5527AFD5E0A407C6 /* CwlCatchBadInstruction.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 8A0EF19254BAC5DF0885D1FBA345E016 /* CwlMachBadInstructionHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B75D24DF2274E73658317C1F4C084C4 /* CwlMachBadInstructionHandler.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 8A8DC42AC071D3F57CC4D206A090C5B6 /* DynamicSizeSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 832F04544C8E99B5AF42D30F4426E9F2 /* DynamicSizeSnapshot.swift */; }; - 8AEAC7C2D0B3B1E6B77EC8B91F429387 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF0FC4B74774AC1644D1B62CBDC0CCBF /* UIKit.framework */; }; - 8C3F5E7FF0571B63D4DAA2825C9705D1 /* QuickSelectedTestSuiteBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98211E90E300CA842AC398D4DA33163F /* QuickSelectedTestSuiteBuilder.swift */; }; - 8CE3BF0ACE07EA42DD5DAC871BF4B767 /* FBSnapshotTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 00832869E480C76DBB84AD058AD3FAD4 /* FBSnapshotTestCase.m */; }; - 8D16EAB20CD849E7DC1B1EDCEF61067D /* QCKDSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 73E5B7BFC466E98F654DBB81438DD318 /* QCKDSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D17749611AB0C8BD51C068749D8DF68 /* NMBExceptionCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = 221F59BFBF9F3B79DCE086640939A88E /* NMBExceptionCapture.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D543DAD9A6C0B8BF8A5DB38AD876677 /* SatisfyAnyOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 756C528F11958D81E8CC1113978AC556 /* SatisfyAnyOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 8D75EC8969EA46FBD6E1BED7791A3C37 /* BeLogical.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DF262DB0DC90A8FC65E082DDABB28A7 /* BeLogical.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 8FC6C180807249B2D0654E9D6EFF736E /* XCTestObservationCenter+CurrentTestCaseTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = B746E3CA514C286129DD14E63D92F631 /* XCTestObservationCenter+CurrentTestCaseTracker.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 90142C6259374E18E640396A59AD379A /* FBSnapshotTestController.h in Headers */ = {isa = PBXBuildFile; fileRef = C7AC2B5C91F1168A8A52F374A958077D /* FBSnapshotTestController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9349D71F027919C3199C586D061DBF1F /* iOSSnapshotTestCase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D6998C6EA66CAD972E848F584B200A4 /* iOSSnapshotTestCase-dummy.m */; }; - 94DA3131D64B3D904BE28E72F1871065 /* BeAKindOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36B199CE95E97FAF14044C5C5429512F /* BeAKindOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 99E8019F4689A514DAC6AA40AFF7352E /* NMBObjCMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75337034950776B7AE14F83FB1DD53E5 /* NMBObjCMatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 9B9714C476F416AD7FD803EA1184D113 /* BeLessThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77AC9827A3F86EF2AF3E5FD99D17BE6F /* BeLessThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - 9BB5E9B6487FE95C710687B484C17161 /* Nimble.h in Headers */ = {isa = PBXBuildFile; fileRef = E4B2BC5F009FC51A71D0D45F7D87220E /* Nimble.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9C460BA614D4B1D314A252C4C5CE1D87 /* BeAnInstanceOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = F19B22264F3D313DE666984005B288CB /* BeAnInstanceOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 42F76698690916E0407F51610D829412 /* BeGreaterThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DA11FEA42B596B36E38E740F2C402CB /* BeGreaterThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 43229D9C99662499BAA1E3484BD51DB7 /* Pods-StyledText_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BB1827F741762101B444B0409086BD4 /* Pods-StyledText_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 433FA195424D6A2878EC9A7C5EC6C9EB /* UIImage+Compare.m in Sources */ = {isa = PBXBuildFile; fileRef = 060B9409813D285EFD77CF77B4CDE509 /* UIImage+Compare.m */; }; + 44C9470137EF941955A1FDCE71D68C26 /* MatcherProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50B8761C6DBCF44247E7E2B04C96D9A1 /* MatcherProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 46B90B2CF2EB97B38C43A31E9A5478C2 /* PostNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0399FD3EE0287676D4AD9833E0CE64F /* PostNotification.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 46BDEBF35D99D2CC53EF72DFC5BDCDCC /* BeLessThanOrEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F251AE1707364F5431A0D768B5B6311 /* BeLessThanOrEqual.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 4A9E7C1A8B697A1C0B0A1E0DF855A591 /* CwlCatchException.swift in Sources */ = {isa = PBXBuildFile; fileRef = E27161DF57DC7FE81ED74BFD4473B311 /* CwlCatchException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 4ADE5FC9505A3BF7DF17AF9756585116 /* QCKDSL.m in Sources */ = {isa = PBXBuildFile; fileRef = E068EE1DC859745AC9FF716482AE461D /* QCKDSL.m */; }; + 4D0099C93EDDE5969949B92DB8B1CA89 /* Pods-StyledText_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 08A10C56C7D1217A42D6F412071CC1F4 /* Pods-StyledText_Example-dummy.m */; }; + 4E1DBC9FF76D6AD924D1356260438074 /* QuickSelectedTestSuiteBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACC4471A2A893B7C123DAC9B52B1C488 /* QuickSelectedTestSuiteBuilder.swift */; }; + 4F1404FF2C99BA11E57980D7EB696D57 /* Pods-StyledText_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BC7ABDA6DB1620BD4B7052AC3182C13 /* Pods-StyledText_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5051F444A210706E6F97FD5E5D966388 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE8457174445D379830D8F3646D79BA1 /* SwiftSupport.swift */; }; + 512AAF465EE936155DD9BBA92368928E /* Quick-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A52436417166E0515C5F31EAA391FD32 /* Quick-dummy.m */; }; + 52AB6461CAA9481D24835F3E48301FC6 /* BeIdenticalTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B6C779A417D2690400136E99A0221D /* BeIdenticalTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 5578F928AEFA8B2B7CC542033590DFD6 /* Match.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9C82F3CCF156093E1AE5DB33A783814 /* Match.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 58A884856B7E64EE3C204D9EDAA14045 /* Behavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BC4B0ED77D2E218907801F4C12890DA /* Behavior.swift */; }; + 59BF9ABA8BB14E0E4E345D13AB6D49FB /* ExampleMetadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B79EC603B4E8EB417F507CDBC4C90E8 /* ExampleMetadata.swift */; }; + 5B6F70DDD4C63CF6ED95291BCB633494 /* ContainElementSatisfying.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0751A496A6A05097EB8C07B669886618 /* ContainElementSatisfying.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 602E3758C0EF64AF6B7FCEA05BF5B9B9 /* Expectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B50A472314EC0A3E678A65FC57D8153E /* Expectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 62A94E823FD0713A5AFBCE481451B78D /* NBSMockedApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = A06059ADF39C1ADBC9C2A5C4B9EB554D /* NBSMockedApplication.m */; }; + 63008DABB9B5693D4A1B3FFDD8F9A7D8 /* XCTestObservationCenter+CurrentTestCaseTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = D27F7E1AE8B439D7FB8B81DCBC9166EC /* XCTestObservationCenter+CurrentTestCaseTracker.m */; }; + 64BD1A297C3042E344E3990E7B3C2E8A /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E906E59597539202C0610CB360AA2AC /* XCTest.framework */; }; + 64E26D7D025AC4462DFA8BA66B38C9D8 /* HaveCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83D4073902C0D4FAE9F3C67F83D9F377 /* HaveCount.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 72FB8CEABF346A37D54CC08647489A98 /* ThrowAssertion.swift in Sources */ = {isa = PBXBuildFile; fileRef = A040413F7F6ABBB7B3AC7488F7EE6EBB /* ThrowAssertion.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 7536DD99ACEDE673713161E597B7B447 /* ExampleHooks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 621E31A318A51783CF5D776EFBFA25A6 /* ExampleHooks.swift */; }; + 76E7C7CDAA543C791A714B991F595F2B /* QuickSpecBase.h in Headers */ = {isa = PBXBuildFile; fileRef = E2576AC3CAD25D67A8C5E56CE523F900 /* QuickSpecBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 78A51B7FCC1DFB888AAA254529013C12 /* BeginWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9160ABF8D2A98F0FEEAA578C57F33B5 /* BeginWith.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 7AC93EB6DCDA9226165D5BC354FE7BC6 /* DSL.m in Sources */ = {isa = PBXBuildFile; fileRef = AFB4F9E9DFA8A094DC84C80495AA1FBD /* DSL.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 7B4DFCBFD778A3684C81E1C36FCFAF16 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; + 7CE6049975894E447F2D4071C74F6F8F /* Callsite.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9524C781E2440F3942356936F439D18 /* Callsite.swift */; }; + 7DAC86DCBC36C10F43FA5FEB819B7BF1 /* Functional.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC8CEF961CFDF78AB3495291E54451B /* Functional.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 7EB28FEC3D0ABA1A2A6CFE57C400F74D /* QuickSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B006F01DB3387A08422BAF95887B492 /* QuickSpec.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 806B9040D79A3DC58FB56EAC16FE19BF /* Stringers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8B2626771DA97CBA4EA15E42DC05A95 /* Stringers.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 8098FE9A2D056381A3AE9B3A5FEDBA9E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF0FC4B74774AC1644D1B62CBDC0CCBF /* UIKit.framework */; }; + 80DEBE41D84FBA1C4D4FE00C8D797E82 /* CwlPreconditionTesting.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F38B1236C479F83E22B3E05A2673834 /* CwlPreconditionTesting.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 812937E2E121B94525810D18A5EA06B4 /* FBSnapshotTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = ABA9A50C0077C5F4EECC113E46C6D41F /* FBSnapshotTestCase.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 822CDF6CD6A9304707F2280B23F9A7DB /* UIImage+Compare.h in Headers */ = {isa = PBXBuildFile; fileRef = 97389060151A2A0432DC7E32BC98537A /* UIImage+Compare.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 82D181F8DB6FBF06C77BAA3BF47ACFBB /* UIImage+Snapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 25595D5089B0C7FDDE17CB0EB174A58D /* UIImage+Snapshot.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 887AF8C809D60140319DE71D6427F370 /* NSBundle+CurrentTestBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D86436D8F816DE1A7E01E1547097CE72 /* NSBundle+CurrentTestBundle.swift */; }; + 89EE4D6DBDB79963D65AA1E67B543B6D /* CwlCatchBadInstruction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A32716BB8DC40EB09F91DDAC300E0BE /* CwlCatchBadInstruction.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 8A0EF19254BAC5DF0885D1FBA345E016 /* CwlMachBadInstructionHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = D85E8C8B45913AB5537B178C9750F126 /* CwlMachBadInstructionHandler.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 8D17749611AB0C8BD51C068749D8DF68 /* NMBExceptionCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B4E5AB2AD401A4BE4029EBFC9414BFF /* NMBExceptionCapture.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8D543DAD9A6C0B8BF8A5DB38AD876677 /* SatisfyAnyOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = B568D920744DD63B95FAA242837337DB /* SatisfyAnyOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 8D75EC8969EA46FBD6E1BED7791A3C37 /* BeLogical.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FDB7E4028E2585959E6CF0E8D12E3F8 /* BeLogical.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 8DC01045AC421ECC21348F2B1664640D /* UIImage+Diff.h in Headers */ = {isa = PBXBuildFile; fileRef = 1946D4C97FF72F772753BEFD53A8A572 /* UIImage+Diff.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 8E4A2F4A1EF16B63817A516CC2743619 /* Quick-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D9019FC72997AC85F32123652AD4E15 /* Quick-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9231B70907F130F31CF5717C502B780C /* ExampleGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 996550147138561F420B418F0C5A633B /* ExampleGroup.swift */; }; + 94B18F2CFF543F6B2E43E84630C337E2 /* SuiteHooks.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3C1CB16DE6D5A34FC2D39F52E817093 /* SuiteHooks.swift */; }; + 94DA3131D64B3D904BE28E72F1871065 /* BeAKindOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CF39512C0EB7210E2659D61AC850FF9 /* BeAKindOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 99E8019F4689A514DAC6AA40AFF7352E /* NMBObjCMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02DCC4A06320B61568FCFDB07F80ACE1 /* NMBObjCMatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 9B9714C476F416AD7FD803EA1184D113 /* BeLessThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4C82A6846C66B0A3704057184557B1D /* BeLessThan.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 9BB5E9B6487FE95C710687B484C17161 /* Nimble.h in Headers */ = {isa = PBXBuildFile; fileRef = FFEDBAF0A120E7BFE35F22CC94F950D4 /* Nimble.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9C460BA614D4B1D314A252C4C5CE1D87 /* BeAnInstanceOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = D74D93E06DE4E33E564E9F372052BCEA /* BeAnInstanceOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; 9D064EED0DB294FD591E7EFBB0E8F1C4 /* StyledText.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC878AA711E6600C06E590743AB2BB8 /* StyledText.swift */; }; - 9D65089019D558E5A9661F2DCAD20313 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62F45A15F27BDACE995D923F9B65B58A /* SwiftSupport.swift */; }; - 9DB13659CA8F9BF54942DEDAE9F5E858 /* QuickSpecBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 83EE9D2B1AF416BD18C7FAE3CEAD5470 /* QuickSpecBase.m */; }; - 9E82E59647C2E9653D2E5BAA5D15CF3D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; - 9F70369EF71BD9ABAFF687AF532CC20D /* CwlMachBadInstructionHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E25220F85BB2A30FE1363A85705CBDD /* CwlMachBadInstructionHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A33E1BD9292B392CF497D5804DF323B2 /* Pods-StyledText_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FE6E3EE0DC6789599163F59F1DFFC233 /* Pods-StyledText_Tests-dummy.m */; }; - A525E29E0A8079B35B793D8A2B5FBDF2 /* UIImage+Snapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = 928FD352260FA47317B599D7FB011FCC /* UIImage+Snapshot.m */; }; - A6A550089B7797DEF915A0C0BAE2390D /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D35F92A6BFBF9579DAFE842BFF03D7D /* Nimble.framework */; }; - A787308C5CA0BCA2B3A706F44CD5F7B4 /* ErrorUtility.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C2E26DA34CCA2B3EBAF185B8E9F946B /* ErrorUtility.swift */; }; - A804E6F5F86B3E26663C8A8EFCC0019A /* CurrentTestCaseTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87D177AA928246E37A081EE075265541 /* CurrentTestCaseTracker.swift */; }; - A9996A6303084D17B9C439CB132A1F69 /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE2BA2655B28BCD5D3CA0D8A5F49F44E /* DSL.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - AD69407E2FA1D39A9E09248052F2D81B /* ExpectationMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA7E8F691F413315915F2FAC01EBFB0E /* ExpectationMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + 9E874C00792FA983399C03EC00AE326D /* XCTestSuite+QuickTestSuiteBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D88D49779B1E347CABA59825D8FF155 /* XCTestSuite+QuickTestSuiteBuilder.m */; }; + 9F70369EF71BD9ABAFF687AF532CC20D /* CwlMachBadInstructionHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = C7D0B43188FFBB40D6C02C9DD5618681 /* CwlMachBadInstructionHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9FB5F3B3AAF3103848313FACD0CACBCD /* QuickConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 03C9D28A513D494A763196171BECC894 /* QuickConfiguration.m */; }; + A1BD451BD9DF7C65965CC17E2AE6B0B6 /* UIImage+Diff.m in Sources */ = {isa = PBXBuildFile; fileRef = 35564388437BF672543E79471CDC287E /* UIImage+Diff.m */; }; + A29619C12C64B536E8E91E1D8F4EA1E0 /* NBSMockedApplication.h in Headers */ = {isa = PBXBuildFile; fileRef = FFBC4A9F8C968FE82A9F2FCB275B29DD /* NBSMockedApplication.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A35159AD5A7A49BA9093F29B63DBD30D /* String+C99ExtendedIdentifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAB6F2AEF482D688AAD5CBC704A2F250 /* String+C99ExtendedIdentifier.swift */; }; + A6CE2E672C8EB4DF57485428AFD64A3C /* URL+FileName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36C8492F29F48B871868582BA96E335D /* URL+FileName.swift */; }; + A7F5B07BF96955EFDC9106335235EDB2 /* QuickTestSuite.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1BEF16996F9ECAEED4AAB6AD383153 /* QuickTestSuite.swift */; }; + A9996A6303084D17B9C439CB132A1F69 /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 040F136FD8222B1A3B2FD28DD750CEF8 /* DSL.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + A9DC72AE28D2D7C2C2D6B9924E03D2BF /* CurrentTestCaseTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7300A4BED21A2443F94C8213190B5EFA /* CurrentTestCaseTracker.swift */; }; + AC3457501DE121722F5C831081472B3C /* PrettyDynamicTypeSyntax.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB6F865D573F861854A32CDA44E34BA0 /* PrettyDynamicTypeSyntax.swift */; }; + AD69407E2FA1D39A9E09248052F2D81B /* ExpectationMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80F1EC01269D1E7D4B5E1C9C77B61D96 /* ExpectationMessage.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + AF60C00928A7AFE04E374B620EEA5F49 /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AC04239B041B4944B6FBB9C5DC49E97 /* Filter.swift */; }; AFC37A09B54E34CC706F3A716D23A389 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF0FC4B74774AC1644D1B62CBDC0CCBF /* UIKit.framework */; }; - B17CEF5ECE9BA91DC07E7208AECB567F /* Filter.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD1B3CE9A052A52487DD60774BA82376 /* Filter.swift */; }; - B25D795BDC4F426BC01EFC911F368B81 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; - B2A65EEDB5D5EC246EA68E10964FF7B3 /* ThrowError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23D568D4EF62C9A9ED6CFD847B302079 /* ThrowError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - B32EB305A484CF6A32F05B2E5BC13502 /* HaveValidSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = B745139304C7CDA08C674FE68C3B9BC1 /* HaveValidSnapshot.swift */; }; - B33F9EBFFC464D032BFBF2297BC48872 /* FBSnapshotTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 22CD40159D6C997342E35B580EEF96CA /* FBSnapshotTestCase.m */; }; - B4058A2AA8486E9879F113E6F67B9679 /* AdapterProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4785A7BD94236F4EA146D476A2ACDE49 /* AdapterProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - B4CE2BADD0EA88CC09F3A9B05E2C0A0E /* NBSMockedApplication.h in Headers */ = {isa = PBXBuildFile; fileRef = 16A3A8D9D7511362E4B610EC1508B466 /* NBSMockedApplication.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B5491A88571862A1B914E6BE3CFCA5BD /* QuickSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 359559EDDA06792B6BA56E4FB7C00981 /* QuickSpec.m */; }; - B6CC23C6C288F4EB9EDD3A06F1F5F094 /* Predicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBAD2BDA1FEC753971BD0B05271F168E /* Predicate.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - B71070160CF07EFA99ED0445B0D191E7 /* Nimble-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A213E348D2F1F809E77DCA9D79900BE /* Nimble-dummy.m */; }; - B74CD6E6EBEA0B642776BCB37850415D /* UIImage+Snapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = D084B35C6886DCE7C84D454491B35846 /* UIImage+Snapshot.h */; settings = {ATTRIBUTES = (Private, ); }; }; - B7662703AF8D3FFFCB0070C50FEDCC58 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86F31DDBF314B458CC718548636CA71F /* Errors.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - B79FC6E46F642C3FC74B3E6D9175B1AB /* SatisfyAllOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1AB3D3E1F075E5808F34442D0AA4303 /* SatisfyAllOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - BB55A0D6AC131302602D602979ADE914 /* PrettySyntax.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A6AEE65279ABD74253538A493F93C15 /* PrettySyntax.swift */; }; - BD8AB3699C483B11671A85C72CE92B50 /* ExampleGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = C84E188967AC53FEF855F875FF253E27 /* ExampleGroup.swift */; }; - BEDC36DEA21352A0F346A2513EE0540E /* QuickSpecBase.h in Headers */ = {isa = PBXBuildFile; fileRef = FF14760A13B9994B1EABE4DB9840501A /* QuickSpecBase.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C051C0411627BD5FCDA031782EB1F716 /* DSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 32742AFE076B4A882E97EBEB3ADA8D6F /* DSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C0C98C8C7D07E1598F20EE2F0539197D /* NMBExpectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 248D10BF9B49F97E0B49D6D09B3777FE /* NMBExpectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - C3BA37BF33BCB5D88108213FEE83D462 /* PrettyDynamicTypeSyntax.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BD77283BDFFF01672C8E4ABB11E7309 /* PrettyDynamicTypeSyntax.swift */; }; - C49D52712466511E332C952834C81FE1 /* FBSnapshotTestCasePlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 95CF3B768CC069318D8B60885DD3C51A /* FBSnapshotTestCasePlatform.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C903AEFEEB4E73644A03FB8285543107 /* BeEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3C93A37228E1C9ECC325A73FC2D1452 /* BeEmpty.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - C979EEB0159A65246F6BD2C906A8ADB7 /* BeVoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5C208198589C9A5A8D427AC4D0D3974 /* BeVoid.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - C99BBC3F70E056CB6A3CC0516318939D /* AssertionDispatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF61252BE76F896DED85A94C63847A18 /* AssertionDispatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - CD6B1F146B0E157FE5B9CAFFAE77A5B5 /* Nimble-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E34E16E9D1B3311284744BAFED6604E /* Nimble-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B13D9477F6901EE1619FA527910C9E55 /* FBSnapshotTestCasePlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CB95BAD1D18A44B5DEFE339877AFBFB /* FBSnapshotTestCasePlatform.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B1D6C9BB4B351163B7356350C14E0BD6 /* HaveValidSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21099B3A812D79405F5DAD9F5A04D01E /* HaveValidSnapshot.swift */; }; + B2A65EEDB5D5EC246EA68E10964FF7B3 /* ThrowError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C1708326A921C5C6AA5D9AF148144F8 /* ThrowError.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + B32E27BC6F40F3D3823163F5F9D3C61E /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D35F92A6BFBF9579DAFE842BFF03D7D /* Nimble.framework */; }; + B4058A2AA8486E9879F113E6F67B9679 /* AdapterProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A0887366A1BEA0CD8A3B000E9BA7705 /* AdapterProtocols.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + B48508EB39EE315F5A00429EEA69DD63 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D0750DFFA251B58D778E14E60AA38CF /* Configuration.swift */; }; + B5168D73EAD4724F10EC5DC802293A38 /* FBSnapshotTestCasePlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = E4113E832A34587810432A2E8280FBB2 /* FBSnapshotTestCasePlatform.m */; }; + B6CC23C6C288F4EB9EDD3A06F1F5F094 /* Predicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9C510B2F82EADBBFD6DAFA22022585 /* Predicate.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + B71070160CF07EFA99ED0445B0D191E7 /* Nimble-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9810CC4E143491676FF281F5C16432EE /* Nimble-dummy.m */; }; + B7662703AF8D3FFFCB0070C50FEDCC58 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84648FAD4E02F4D8929320E2B7DECAC6 /* Errors.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + B79FC6E46F642C3FC74B3E6D9175B1AB /* SatisfyAllOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6528F98FB950E84C26B66EC74F7D71CB /* SatisfyAllOf.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + B887FBBD900E5050F0822B0498F1223E /* FBSnapshotTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = A2BA45ED5441C69F43D998995C1E44F7 /* FBSnapshotTestCase.m */; }; + BE56C54CD29F23A1C631645390E8569D /* ErrorUtility.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15CE71915C6BE16338CE937C8066A148 /* ErrorUtility.swift */; }; + BF2D9B7DD43CCF7EA1C083FD65A3F85F /* FBSnapshotTestController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83F616ABF875692A1B893061A6DF0677 /* FBSnapshotTestController.m */; }; + BFEBC90223F66B0FF770B92B1C670BCF /* QuickConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = F3EB8050C124A57011C93309C82F42E9 /* QuickConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C051C0411627BD5FCDA031782EB1F716 /* DSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 27F0BDDA52DD5F68726D31978E0FB4BF /* DSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C0C98C8C7D07E1598F20EE2F0539197D /* NMBExpectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 161AC9213271CA5922941E6C0BCB4A08 /* NMBExpectation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + C229EB9011844CF381C647E88E2EC5E8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; + C61962778E73144801F86C61C1D6C392 /* FBSnapshotTestController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E3A20086756A500F8046735520B8185 /* FBSnapshotTestController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C6CA334FFB74ECF769F8647E33D67E56 /* HaveValidDynamicTypeSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2E9EA6B3818D6D3663BB3FCB400FE7F /* HaveValidDynamicTypeSnapshot.swift */; }; + C903AEFEEB4E73644A03FB8285543107 /* BeEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2A9AE94C22AC2B53E027EB2E5D1B02F /* BeEmpty.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + C979EEB0159A65246F6BD2C906A8ADB7 /* BeVoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 004C3834767B2B44F423DEFB5AE0C02E /* BeVoid.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + C99BBC3F70E056CB6A3CC0516318939D /* AssertionDispatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8DED670B42A9967846EF662DD1E83FF /* AssertionDispatcher.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + C9E716023868A97D2F5B19934D93045E /* World+DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 570C953BA2A6238E3116EFB0588A46B0 /* World+DSL.swift */; }; + CD6B1F146B0E157FE5B9CAFFAE77A5B5 /* Nimble-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F5DA74F2268147937B6D3259AB769A8A /* Nimble-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; CD84E9898D44A910B64AFD0F2F077A77 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; - CEB0B57C65304E1E2A8C70B2A3FC7A6B /* Quick-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 97F89ADED4A11991F76BBE0B3BE0342C /* Quick-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CEE8D31A4E76BB7B350BF2A7175D4BC2 /* NMBExceptionCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = C87789E8424FC4060FB3A449A673D711 /* NMBExceptionCapture.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - CF9218FF56D8EE43681150A3E1635C9A /* ToSucceed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 031A28C7532888301C0D7CDFCAB9AD14 /* ToSucceed.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - D04AAC8B22E4A4DC4F39891C4E52F251 /* UIImage+Diff.h in Headers */ = {isa = PBXBuildFile; fileRef = 3329BC5315878028FED0ED21139E578D /* UIImage+Diff.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D2BE111AE3950E47C5603F7EE3456107 /* Behavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A8ED7FBDA9BCEC35FA719E1F40930D5 /* Behavior.swift */; }; - D34D0540ADCBF163575B6B5444B1AAF6 /* Contain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8ED0881801DF0E361DB94D9F5FB0922A /* Contain.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - D9CFB8E5E354D7BE61D092259779F437 /* Equal.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC129BDCD479793877F0EE43BCB93B05 /* Equal.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - D9D6150D329A87CBB415FD349F0C50FD /* SourceLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08D39B07B845B5BF2AAE7AA6956A77D1 /* SourceLocation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - DB84342A0C0DEABBF7F729DE55225D82 /* XCTestObservationCenter+Register.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F6EF2C285BF926EBB95897E34E7FFF2 /* XCTestObservationCenter+Register.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - DC5219DBE9A6FFCC45A5A78F09E63A22 /* URL+FileName.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1233245C027B68CE1BCC18EC2424BA7 /* URL+FileName.swift */; }; - DCD198D49C0A198A09525B7688EE3BC9 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = 282B93AAD29C720659C46A9512E2FF39 /* Async.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - DF70F08D90E88A079516ECC9C7EB972E /* UIImage+Snapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = DEDD6AAB634A73F9A31003EA05C8E872 /* UIImage+Snapshot.m */; }; - E0B8D095C732352C854D365B9E5B993D /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF0FC4B74774AC1644D1B62CBDC0CCBF /* UIKit.framework */; }; - E0EAC85F7ACFAD998B14FCE66144000E /* NMBStringify.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AD7B08DA5EEDFE5245C3550B707E1A3 /* NMBStringify.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E0F1AD626C62F77B7C0A8B63B88A8D9C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; - E2A3FF8FBAC2E21C91E8C5EE009E0FCD /* QCKDSL.m in Sources */ = {isa = PBXBuildFile; fileRef = 30CFF1798F285AD7690DF7773E2F39C9 /* QCKDSL.m */; }; - E458AAE1AE9E2250F29806E5633B1860 /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DE16502B1A0089F2A8B489A5A1B9B9A /* Expression.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - E4E6A6902C6743D0145B0CF274E90310 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; - E8AC509D18EBF21B1FEA909652A01108 /* FBSnapshotTestCasePlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = 1971ED6C7EABA1D1BA2B761111C6BD1F /* FBSnapshotTestCasePlatform.m */; }; - E95B64448591FFBF6AE819B9C556ACAF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; - E9C86DA18E95A3E7935363BFA47B5F7D /* Pods-StyledText_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BB1827F741762101B444B0409086BD4 /* Pods-StyledText_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EBF72E2425380C4EE843419B62C4ABC4 /* UIImage+Diff.h in Headers */ = {isa = PBXBuildFile; fileRef = F4297F167A1464F0E9B512FB9AE8B365 /* UIImage+Diff.h */; settings = {ATTRIBUTES = (Private, ); }; }; + CEE8D31A4E76BB7B350BF2A7175D4BC2 /* NMBExceptionCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = 8691C6C8A7926D7CFB296501EF10D354 /* NMBExceptionCapture.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + CEFEB9BF35A6ED6C9E82272021398F82 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; + CF9218FF56D8EE43681150A3E1635C9A /* ToSucceed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09FF27E8AE4DB657873D5D0A66EEF77E /* ToSucceed.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + CFC4A8771A408B9801B3E77C6AAEF104 /* Pods-StyledText_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FE6E3EE0DC6789599163F59F1DFFC233 /* Pods-StyledText_Tests-dummy.m */; }; + D2C041844A0EB4EB2E8C7B9DAA748EEB /* Example.swift in Sources */ = {isa = PBXBuildFile; fileRef = B81D5ACA65F2B2871826CC14B0744F52 /* Example.swift */; }; + D34D0540ADCBF163575B6B5444B1AAF6 /* Contain.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4DEEE38754361E817A050F6D8AF9637 /* Contain.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + D92BCED3106FC640EC43DA7012092AE1 /* iOSSnapshotTestCase-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A3FD595A99C854B12B66E0943153110E /* iOSSnapshotTestCase-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D9CFB8E5E354D7BE61D092259779F437 /* Equal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96B61CDAAA97B0861F2E52B76ABE5540 /* Equal.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + D9D6150D329A87CBB415FD349F0C50FD /* SourceLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC64EFB3EBDEA8C55E73C2EB0A441B22 /* SourceLocation.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + DB84342A0C0DEABBF7F729DE55225D82 /* XCTestObservationCenter+Register.m in Sources */ = {isa = PBXBuildFile; fileRef = 85D2330D99C6E45F227FFC0718C22D9D /* XCTestObservationCenter+Register.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + DCD198D49C0A198A09525B7688EE3BC9 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18A10C96CC94B79C6F65582F913AE54C /* Async.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + E0EAC85F7ACFAD998B14FCE66144000E /* NMBStringify.h in Headers */ = {isa = PBXBuildFile; fileRef = F79D928FCE468BDD0F8CBEE4772504B2 /* NMBStringify.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E458AAE1AE9E2250F29806E5633B1860 /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9E814449EE59FCEFB666D932CCE1A15 /* Expression.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + E4F20C5ABD7648541E31802F835C58AF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; EC79ED8FB05B07FE2E3A03BA8787209B /* StyledText-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A5C77238CC6CA8DDA752154F7C030A7A /* StyledText-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EC7EF3D5778783BD93EBC6F82016ADA9 /* BeNil.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE72C6C9AE05756D447D927B8599A9A9 /* BeNil.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - ECCA1FA570A912E8CDB54EB843F1D030 /* NimbleEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA30C4723D1C6AFDAF11A4E6D301E4EA /* NimbleEnvironment.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + EC7EF3D5778783BD93EBC6F82016ADA9 /* BeNil.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD0B6DCEB9A5D25B4FF90E5F8826145D /* BeNil.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + ECCA1FA570A912E8CDB54EB843F1D030 /* NimbleEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE66AB9F82502D8BE282BEE7AC1E8875 /* NimbleEnvironment.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; EFB9CC9267297D8104141A4046AAD14E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */; }; - EFC160CE0D8BD88499BACB45706186B4 /* Quick-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6450A2F713873B3028909262AD2AA428 /* Quick-dummy.m */; }; - F0EC1E8DF64700838C1BC79AFEC93A1C /* World.swift in Sources */ = {isa = PBXBuildFile; fileRef = 709F19FD7DFBE2C32C4441321777FBD1 /* World.swift */; }; - F1AAAE00BB32B733B238E2B4E8424506 /* UIImage+Compare.h in Headers */ = {isa = PBXBuildFile; fileRef = BC215521BB1EC60C90136D00C8AAA7E7 /* UIImage+Compare.h */; settings = {ATTRIBUTES = (Private, ); }; }; + EFD47670BC5A28EC90926DCD32214F69 /* FBSnapshotTestCase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45544E7DC8BC621B5141430C9031836E /* FBSnapshotTestCase.framework */; }; + F01995755687FA91F51A15ED8FD9D125 /* World.swift in Sources */ = {isa = PBXBuildFile; fileRef = 035E34510146E6A90A078A0293AF484B /* World.swift */; }; F1FE6FF93AB0F9E80DEAFEA4C8F3A374 /* StyledLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 531EF1531B9CE03F44959AA7AAD1AD8E /* StyledLabel.swift */; }; - F27A7DE93F66B0C12B4C646D99F5B9F4 /* CwlCatchException.m in Sources */ = {isa = PBXBuildFile; fileRef = 21D4822AF805EE4755B2097B0C2F0935 /* CwlCatchException.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - F2879D2ED08204999EAB760DE2A2E200 /* Closures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97B5EF051EE75E4D591BCBE7F2147F05 /* Closures.swift */; }; - F310B21703A7BC438A09DDB96670583F /* AssertionRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2C3826454A477CDC393DFD224763243 /* AssertionRecorder.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - F4877B3857C780DCDB7F413A03F95600 /* BeCloseTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = E288CD9E15B6CFB53B3C6B8A022C385F /* BeCloseTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - F6BADA37B8D3F92052CE2BA71E702FAB /* HaveValidDynamicTypeSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA96AE05FB7BBE396C35F5D30B5A4E96 /* HaveValidDynamicTypeSnapshot.swift */; }; - F720FAF13A108CE6901E0A8B0580E1E8 /* FBSnapshotTestCase-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C9646287AD24D360D504CDFC6271E8B /* FBSnapshotTestCase-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F78E35D04F09485FA5DFA72FE1AD5AB2 /* NMBStringify.m in Sources */ = {isa = PBXBuildFile; fileRef = BABDF32E71466F4CB09A66D8FAF8EC7B /* NMBStringify.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - F93310609CA1D35157D85EFAB3808763 /* Quick.h in Headers */ = {isa = PBXBuildFile; fileRef = B31BB04F98F6BE0D5790A480EE61081A /* Quick.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F9E85548BF1EF8C5035BAF92233C34B6 /* RaisesException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27DA3F33D705182CC11A03E86830F6A1 /* RaisesException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; - FA22FC2D79147F6C3A6EA988DF868741 /* UIImage+Diff.m in Sources */ = {isa = PBXBuildFile; fileRef = F3344FBD5845A5702EB1D9E31F146C7E /* UIImage+Diff.m */; }; - FAB210037DEE6DDF3679C07D48D9E8DD /* ExampleMetadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = C55AB72618C2B431DE9FCACCD65B943D /* ExampleMetadata.swift */; }; - FF920E965F1CA016FF302DE8C92C5122 /* CwlBadInstructionException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 170C4E1A0FB1524E80D7647AED2B21E7 /* CwlBadInstructionException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + F27A7DE93F66B0C12B4C646D99F5B9F4 /* CwlCatchException.m in Sources */ = {isa = PBXBuildFile; fileRef = 9409C0B3600E2BD1F9B9BEC3D181B8A3 /* CwlCatchException.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + F310B21703A7BC438A09DDB96670583F /* AssertionRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9B090FACE06D97DC389F5AB0ABE1CED /* AssertionRecorder.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + F4877B3857C780DCDB7F413A03F95600 /* BeCloseTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8FF75F8DB454A4726BC2566463E73A5 /* BeCloseTo.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + F5FDCCBF377562DCAFA4AE711307C281 /* PrettySyntax.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F95F6A526D3DF705FFAF854981B1452 /* PrettySyntax.swift */; }; + F78E35D04F09485FA5DFA72FE1AD5AB2 /* NMBStringify.m in Sources */ = {isa = PBXBuildFile; fileRef = FBF3CEA309332EB156B3E2D0B6324309 /* NMBStringify.m */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + F9E85548BF1EF8C5035BAF92233C34B6 /* RaisesException.swift in Sources */ = {isa = PBXBuildFile; fileRef = DACB8F2E57FC1515881908D07D0480B3 /* RaisesException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; + FF920E965F1CA016FF302DE8C92C5122 /* CwlBadInstructionException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2697698D59A1BD0B6AFE98D1B1081B8D /* CwlBadInstructionException.swift */; settings = {COMPILER_FLAGS = "-DPRODUCT_NAME=Nimble/Nimble"; }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 2B15B64CBD0343BD296C362C27C35ACD /* PBXContainerItemProxy */ = { + 1FB3950EF8EC1F8CDDB7BBA69F8FCDA7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 98A98149697C80CEF8D5772791E92E66; - remoteInfo = FBSnapshotTestCase; + remoteGlobalIDString = 46C93AA424DF07F96D109412C94B5106; + remoteInfo = StyledText; }; - 366FEC074276E9FB710B5CB8522BAD1C /* PBXContainerItemProxy */ = { + 44D070512699E8CBAF92DF247800D8E3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 6F13695E06195A78EA8A95F8C7ED0D2F; - remoteInfo = Nimble; + remoteGlobalIDString = C393038B0BEF088C1B93E6528005862D; + remoteInfo = iOSSnapshotTestCase; }; - 773733D4D6BF2D1F0C4B848749EC8A31 /* PBXContainerItemProxy */ = { + 4D6661145E1BD8D9896AA20D68A630CF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = EE19095A8C98E0BC5774005673495238; remoteInfo = "Nimble-Snapshots"; }; - 8BF7CDF381A9A09379538836C17062D5 /* PBXContainerItemProxy */ = { + 63798BD7772D339231286E5BDC0102E2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 034C948C972057A8D4790D3F8C019319; - remoteInfo = "Pods-StyledText_Example"; + remoteGlobalIDString = C82891EAB7293DBEE916B21F57E8474D; + remoteInfo = Quick; }; - 8CCA0AE2DA74CF6725E0628440C59A10 /* PBXContainerItemProxy */ = { + 6D531970C5A5558D172961E0C0A35B4D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = C393038B0BEF088C1B93E6528005862D; - remoteInfo = iOSSnapshotTestCase; + remoteGlobalIDString = 6F13695E06195A78EA8A95F8C7ED0D2F; + remoteInfo = Nimble; }; - 98F8DF67052050573C49B84C23C40CC3 /* PBXContainerItemProxy */ = { + 8848BC76ADACFE84CC6114F45DEDB063 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = C82891EAB7293DBEE916B21F57E8474D; - remoteInfo = Quick; + remoteGlobalIDString = 034C948C972057A8D4790D3F8C019319; + remoteInfo = "Pods-StyledText_Example"; }; - DB9C8D60B4B98A3639B343794963EBF4 /* PBXContainerItemProxy */ = { + 9E443FE0E4321DE86707BBAC44BBCAFA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 6F13695E06195A78EA8A95F8C7ED0D2F; remoteInfo = Nimble; }; - F96FEF39888CFFD5E608C83ED48A84A8 /* PBXContainerItemProxy */ = { + A6FAE84199743AD4B181E9EC947093D1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = C393038B0BEF088C1B93E6528005862D; remoteInfo = iOSSnapshotTestCase; }; - FF3240993B885D532B59216E5981C16F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 46C93AA424DF07F96D109412C94B5106; - remoteInfo = StyledText; - }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 00832869E480C76DBB84AD058AD3FAD4 /* FBSnapshotTestCase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCase.m; path = FBSnapshotTestCase/FBSnapshotTestCase.m; sourceTree = ""; }; - 031A28C7532888301C0D7CDFCAB9AD14 /* ToSucceed.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToSucceed.swift; path = Sources/Nimble/Matchers/ToSucceed.swift; sourceTree = ""; }; - 04A849C1EFF157DA59BD6EB71A45887B /* UIApplication+StrictKeyWindow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIApplication+StrictKeyWindow.m"; path = "FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m"; sourceTree = ""; }; - 04DB51D85249338340A33A37F3B14CC8 /* FBSnapshotTestCase-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSnapshotTestCase-prefix.pch"; sourceTree = ""; }; + 004C3834767B2B44F423DEFB5AE0C02E /* BeVoid.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeVoid.swift; path = Sources/Nimble/Matchers/BeVoid.swift; sourceTree = ""; }; + 02DCC4A06320B61568FCFDB07F80ACE1 /* NMBObjCMatcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NMBObjCMatcher.swift; path = Sources/Nimble/Adapters/NMBObjCMatcher.swift; sourceTree = ""; }; + 035E34510146E6A90A078A0293AF484B /* World.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = World.swift; path = Sources/Quick/World.swift; sourceTree = ""; }; + 037B0A8291396D89D4F77E07627C0F83 /* MatchError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatchError.swift; path = Sources/Nimble/Matchers/MatchError.swift; sourceTree = ""; }; + 03C9D28A513D494A763196171BECC894 /* QuickConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickConfiguration.m; path = Sources/QuickObjectiveC/Configuration/QuickConfiguration.m; sourceTree = ""; }; + 040F136FD8222B1A3B2FD28DD750CEF8 /* DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DSL.swift; path = Sources/Nimble/DSL.swift; sourceTree = ""; }; + 060B9409813D285EFD77CF77B4CDE509 /* UIImage+Compare.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Compare.m"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.m"; sourceTree = ""; }; + 0751A496A6A05097EB8C07B669886618 /* ContainElementSatisfying.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContainElementSatisfying.swift; path = Sources/Nimble/Matchers/ContainElementSatisfying.swift; sourceTree = ""; }; 08A10C56C7D1217A42D6F412071CC1F4 /* Pods-StyledText_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-StyledText_Example-dummy.m"; sourceTree = ""; }; - 08D39B07B845B5BF2AAE7AA6956A77D1 /* SourceLocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SourceLocation.swift; path = Sources/Nimble/Utils/SourceLocation.swift; sourceTree = ""; }; - 091CA31B0A95BC5E12112A8BB41F33E2 /* Callsite.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Callsite.swift; path = Sources/Quick/Callsite.swift; sourceTree = ""; }; - 0A213E348D2F1F809E77DCA9D79900BE /* Nimble-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Nimble-dummy.m"; sourceTree = ""; }; + 09FF27E8AE4DB657873D5D0A66EEF77E /* ToSucceed.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToSucceed.swift; path = Sources/Nimble/Matchers/ToSucceed.swift; sourceTree = ""; }; + 0A0887366A1BEA0CD8A3B000E9BA7705 /* AdapterProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AdapterProtocols.swift; path = Sources/Nimble/Adapters/AdapterProtocols.swift; sourceTree = ""; }; + 0A32716BB8DC40EB09F91DDAC300E0BE /* CwlCatchBadInstruction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchBadInstruction.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlCatchBadInstruction.swift; sourceTree = ""; }; 0AC36DC99F2AA8C562B4CEC1F02FB01C /* Pods-StyledText_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-StyledText_Example-Info.plist"; sourceTree = ""; }; - 0B6694E91C80480B0DAAD6750A215B71 /* FBSnapshotTestCase-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "FBSnapshotTestCase-Info.plist"; sourceTree = ""; }; 0BC7ABDA6DB1620BD4B7052AC3182C13 /* Pods-StyledText_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-StyledText_Example-umbrella.h"; sourceTree = ""; }; 0C28D3CBB116B5C0A580732D63B2516D /* Pods-StyledText_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-StyledText_Example.modulemap"; sourceTree = ""; }; - 0CEF99E69EAD782AEDD946A6BE58C216 /* Nimble-Snapshots-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Nimble-Snapshots-dummy.m"; sourceTree = ""; }; 0D35F92A6BFBF9579DAFE842BFF03D7D /* Nimble.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Nimble.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 0D631E9908483F9525A6B3F36F16CC61 /* Quick.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Quick.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0D631E9908483F9525A6B3F36F16CC61 /* Quick.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Quick.framework; path = Quick.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0D787F825BC06DA3877C96AFFAB392F8 /* Quick-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Quick-prefix.pch"; sourceTree = ""; }; 0E906E59597539202C0610CB360AA2AC /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - 0F8842749959EB75CFBC97264CC7A19B /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Quick/Configuration/Configuration.swift; sourceTree = ""; }; - 10476AB6B6D82C5D04171DFB2F043C6E /* CwlCatchException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchException.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Dependencies/CwlCatchException/Sources/CwlCatchException/CwlCatchException.swift; sourceTree = ""; }; - 1096B98C859D3A8CE6DD4D5C37498A9B /* FBSnapshotTestController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestController.m; path = FBSnapshotTestCase/FBSnapshotTestController.m; sourceTree = ""; }; - 10D951E4943C47039EF9F0EC0612C7D6 /* Await.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Await.swift; path = Sources/Nimble/Utils/Await.swift; sourceTree = ""; }; - 110871CC1CABE4158F42B5A9EE6CCB0D /* Nimble-Snapshots.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Nimble-Snapshots.release.xcconfig"; sourceTree = ""; }; + 0F95F6A526D3DF705FFAF854981B1452 /* PrettySyntax.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrettySyntax.swift; path = Nimble_Snapshots/PrettySyntax.swift; sourceTree = ""; }; 12E2B2576B24210DF8972ABE955577D5 /* Pods-StyledText_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-StyledText_Tests.release.xcconfig"; sourceTree = ""; }; - 13FD88F3D38EBF44F986FF408383047F /* FBSnapshotTestController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestController.h; path = FBSnapshotTestCase/FBSnapshotTestController.h; sourceTree = ""; }; 14397138128D174C02D1144237F130C0 /* Pods-StyledText_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-StyledText_Example-acknowledgements.plist"; sourceTree = ""; }; 148E9B9B88A6C299608B94017E20CF78 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 16A3A8D9D7511362E4B610EC1508B466 /* NBSMockedApplication.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBSMockedApplication.h; path = Nimble_Snapshots/DynamicType/NBSMockedApplication.h; sourceTree = ""; }; - 170C4E1A0FB1524E80D7647AED2B21E7 /* CwlBadInstructionException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlBadInstructionException.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlBadInstructionException.swift; sourceTree = ""; }; - 1971ED6C7EABA1D1BA2B761111C6BD1F /* FBSnapshotTestCasePlatform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCasePlatform.m; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.m; sourceTree = ""; }; - 1BD77283BDFFF01672C8E4ABB11E7309 /* PrettyDynamicTypeSyntax.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrettyDynamicTypeSyntax.swift; path = Nimble_Snapshots/DynamicType/PrettyDynamicTypeSyntax.swift; sourceTree = ""; }; - 1C5F8AAEDCC146CA200C4254AAC23C5E /* MatchError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatchError.swift; path = Sources/Nimble/Matchers/MatchError.swift; sourceTree = ""; }; + 15A84F1025B8E8E5246E0654DAF8C168 /* Quick.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Quick.release.xcconfig; sourceTree = ""; }; + 15CE71915C6BE16338CE937C8066A148 /* ErrorUtility.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ErrorUtility.swift; path = Sources/Quick/ErrorUtility.swift; sourceTree = ""; }; + 161AC9213271CA5922941E6C0BCB4A08 /* NMBExpectation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NMBExpectation.swift; path = Sources/Nimble/Adapters/NMBExpectation.swift; sourceTree = ""; }; + 18A10C96CC94B79C6F65582F913AE54C /* Async.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Async.swift; path = Sources/Nimble/Matchers/Async.swift; sourceTree = ""; }; + 1946D4C97FF72F772753BEFD53A8A572 /* UIImage+Diff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Diff.h"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.h"; sourceTree = ""; }; 1C639A5778EBC828D88881CD05B9AFD8 /* Pods-StyledText_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-StyledText_Tests-acknowledgements.plist"; sourceTree = ""; }; - 1C9646287AD24D360D504CDFC6271E8B /* FBSnapshotTestCase-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSnapshotTestCase-umbrella.h"; sourceTree = ""; }; - 1CE81EAB18DF1F9D8104534D8C659A83 /* Quick.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Quick.release.xcconfig; sourceTree = ""; }; - 1D31D44BA8136F4B1BED16A2F02C5502 /* XCTestObservationCenter+CurrentTestCaseTracker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestObservationCenter+CurrentTestCaseTracker.m"; path = "Nimble_Snapshots/XCTestObservationCenter+CurrentTestCaseTracker.m"; sourceTree = ""; }; + 1E3A20086756A500F8046735520B8185 /* FBSnapshotTestController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestController.h; path = FBSnapshotTestCase/FBSnapshotTestController.h; sourceTree = ""; }; 1EF8EB84DDBF7B517959F766080CE185 /* StyledButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StyledButton.swift; path = StyledText/Classes/StyledButton.swift; sourceTree = ""; }; - 1F6EF2C285BF926EBB95897E34E7FFF2 /* XCTestObservationCenter+Register.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestObservationCenter+Register.m"; path = "Sources/NimbleObjectiveC/XCTestObservationCenter+Register.m"; sourceTree = ""; }; 1F79D8BF19C2FA8DB683C45A9BABB1D5 /* StyledTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StyledTextView.swift; path = StyledText/Classes/StyledTextView.swift; sourceTree = ""; }; - 2059C148205460F442DCFD88481819AB /* Nimble.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Nimble.debug.xcconfig; sourceTree = ""; }; - 216C66F5B0631FCEF5DD094DA4F8DEDC /* Nimble-Snapshots-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Nimble-Snapshots-Info.plist"; sourceTree = ""; }; - 21D4822AF805EE4755B2097B0C2F0935 /* CwlCatchException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlCatchException.m; path = Carthage/Checkouts/CwlPreconditionTesting/Dependencies/CwlCatchException/Sources/CwlCatchExceptionSupport/CwlCatchException.m; sourceTree = ""; }; - 221F59BFBF9F3B79DCE086640939A88E /* NMBExceptionCapture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NMBExceptionCapture.h; path = Sources/NimbleObjectiveC/NMBExceptionCapture.h; sourceTree = ""; }; - 22CD40159D6C997342E35B580EEF96CA /* FBSnapshotTestCase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCase.m; path = FBSnapshotTestCase/FBSnapshotTestCase.m; sourceTree = ""; }; + 21099B3A812D79405F5DAD9F5A04D01E /* HaveValidSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveValidSnapshot.swift; path = Nimble_Snapshots/HaveValidSnapshot.swift; sourceTree = ""; }; + 22016A00EDECC7ECB820A382AED90EEB /* CwlDarwinDefinitions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlDarwinDefinitions.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlDarwinDefinitions.swift; sourceTree = ""; }; 22F9678507641C32C95517996C9FA782 /* Pods-StyledText_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-StyledText_Tests-Info.plist"; sourceTree = ""; }; - 23D568D4EF62C9A9ED6CFD847B302079 /* ThrowError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowError.swift; path = Sources/Nimble/Matchers/ThrowError.swift; sourceTree = ""; }; - 248D10BF9B49F97E0B49D6D09B3777FE /* NMBExpectation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NMBExpectation.swift; path = Sources/Nimble/Adapters/NMBExpectation.swift; sourceTree = ""; }; - 24D09813D68CEB71269C1F50B2B5A411 /* Pods_StyledText_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_StyledText_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2736EA742D5B0B34C12161B845B4EBF8 /* Stringers.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Stringers.swift; path = Sources/Nimble/Utils/Stringers.swift; sourceTree = ""; }; + 24D09813D68CEB71269C1F50B2B5A411 /* Pods_StyledText_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_StyledText_Example.framework; path = "Pods-StyledText_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 25595D5089B0C7FDDE17CB0EB174A58D /* UIImage+Snapshot.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Snapshot.h"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.h"; sourceTree = ""; }; + 265278376D30ED62A1D410D362C4DA15 /* Nimble-Snapshots-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-Snapshots-prefix.pch"; sourceTree = ""; }; + 2697698D59A1BD0B6AFE98D1B1081B8D /* CwlBadInstructionException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlBadInstructionException.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlBadInstructionException.swift; sourceTree = ""; }; 277915C22BBFC6CBF054A5E161230B60 /* StyledText.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = StyledText.debug.xcconfig; sourceTree = ""; }; - 27A2A860C6FCF07037FD83ED9A3F3F10 /* Quick.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Quick.debug.xcconfig; sourceTree = ""; }; - 27DA3F33D705182CC11A03E86830F6A1 /* RaisesException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RaisesException.swift; path = Sources/Nimble/Matchers/RaisesException.swift; sourceTree = ""; }; - 27DD284FA901FCAB014FD00EFC244700 /* AllPass.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AllPass.swift; path = Sources/Nimble/Matchers/AllPass.swift; sourceTree = ""; }; - 2821555F8556D99C87BB6D70FB3B887F /* iOSSnapshotTestCase.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = iOSSnapshotTestCase.modulemap; sourceTree = ""; }; - 282B93AAD29C720659C46A9512E2FF39 /* Async.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Async.swift; path = Sources/Nimble/Matchers/Async.swift; sourceTree = ""; }; - 28647D71540442E83491CCA7ABD942A4 /* NimbleXCTestHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NimbleXCTestHandler.swift; path = Sources/Nimble/Adapters/NimbleXCTestHandler.swift; sourceTree = ""; }; - 2D6998C6EA66CAD972E848F584B200A4 /* iOSSnapshotTestCase-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "iOSSnapshotTestCase-dummy.m"; sourceTree = ""; }; - 2E34E16E9D1B3311284744BAFED6604E /* Nimble-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-umbrella.h"; sourceTree = ""; }; - 30C4BCA6D4B80F53F10C5B3620E27A84 /* SuiteHooks.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SuiteHooks.swift; path = Sources/Quick/Hooks/SuiteHooks.swift; sourceTree = ""; }; - 30CFF1798F285AD7690DF7773E2F39C9 /* QCKDSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QCKDSL.m; path = Sources/QuickObjectiveC/DSL/QCKDSL.m; sourceTree = ""; }; - 32742AFE076B4A882E97EBEB3ADA8D6F /* DSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DSL.h; path = Sources/NimbleObjectiveC/DSL.h; sourceTree = ""; }; - 3329BC5315878028FED0ED21139E578D /* UIImage+Diff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Diff.h"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.h"; sourceTree = ""; }; - 3437ACAC69A9BC0B957BC85F00D46F3B /* World+DSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "World+DSL.h"; path = "Sources/QuickObjectiveC/DSL/World+DSL.h"; sourceTree = ""; }; - 359559EDDA06792B6BA56E4FB7C00981 /* QuickSpec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickSpec.m; path = Sources/QuickObjectiveC/QuickSpec.m; sourceTree = ""; }; - 369B964522C41E19E9549B887578F369 /* Nimble-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Nimble-Info.plist"; sourceTree = ""; }; - 36B199CE95E97FAF14044C5C5429512F /* BeAKindOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeAKindOf.swift; path = Sources/Nimble/Matchers/BeAKindOf.swift; sourceTree = ""; }; - 38A029BD33644B2F87CC02FF24CEF2B1 /* HooksPhase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HooksPhase.swift; path = Sources/Quick/Hooks/HooksPhase.swift; sourceTree = ""; }; - 38BFD03F1F5CFDF9828650C4A20055A6 /* XCTestSuite+QuickTestSuiteBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestSuite+QuickTestSuiteBuilder.m"; path = "Sources/QuickObjectiveC/XCTestSuite+QuickTestSuiteBuilder.m"; sourceTree = ""; }; + 27F0BDDA52DD5F68726D31978E0FB4BF /* DSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DSL.h; path = Sources/NimbleObjectiveC/DSL.h; sourceTree = ""; }; + 28E4365D7D3C1AD3275047D89CE8EAC5 /* Nimble-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-prefix.pch"; sourceTree = ""; }; + 2F251AE1707364F5431A0D768B5B6311 /* BeLessThanOrEqual.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLessThanOrEqual.swift; path = Sources/Nimble/Matchers/BeLessThanOrEqual.swift; sourceTree = ""; }; + 3021AEA3B3D2FA8FBD2C4F6309412A9F /* Quick.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Quick.debug.xcconfig; sourceTree = ""; }; + 35564388437BF672543E79471CDC287E /* UIImage+Diff.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Diff.m"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.m"; sourceTree = ""; }; + 36C8492F29F48B871868582BA96E335D /* URL+FileName.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URL+FileName.swift"; path = "Sources/Quick/URL+FileName.swift"; sourceTree = ""; }; 3A78372BBAA254E75C8EB830A59818F7 /* Pods-StyledText_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-StyledText_Tests-acknowledgements.markdown"; sourceTree = ""; }; - 3B75D24DF2274E73658317C1F4C084C4 /* CwlMachBadInstructionHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlMachBadInstructionHandler.m; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/CwlMachBadInstructionHandler.m; sourceTree = ""; }; - 3C2E26DA34CCA2B3EBAF185B8E9F946B /* ErrorUtility.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ErrorUtility.swift; path = Sources/Quick/ErrorUtility.swift; sourceTree = ""; }; - 3C2F984A0D1A6663D8358FB74616C0EF /* FBSnapshotTestCasePlatform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCasePlatform.h; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.h; sourceTree = ""; }; - 3D9ACD42F0FDA5E2CBE9F70295667345 /* UIImage+Diff.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Diff.m"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.m"; sourceTree = ""; }; - 3D9B78B20EB30156B24F2DD6C4F1A4A1 /* Quick-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Quick-prefix.pch"; sourceTree = ""; }; - 3E25220F85BB2A30FE1363A85705CBDD /* CwlMachBadInstructionHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlMachBadInstructionHandler.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/include/CwlMachBadInstructionHandler.h; sourceTree = ""; }; - 4018085C58D26AF5FD02154991BDE8B7 /* BeIdenticalTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeIdenticalTo.swift; path = Sources/Nimble/Matchers/BeIdenticalTo.swift; sourceTree = ""; }; + 3CF39512C0EB7210E2659D61AC850FF9 /* BeAKindOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeAKindOf.swift; path = Sources/Nimble/Matchers/BeAKindOf.swift; sourceTree = ""; }; + 3F137A96B9257016E0D9451D24756E63 /* XCTestObservationCenter+CurrentTestCaseTracker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTestObservationCenter+CurrentTestCaseTracker.h"; path = "Nimble_Snapshots/XCTestObservationCenter+CurrentTestCaseTracker.h"; sourceTree = ""; }; + 42DFA1164EFCB4439D339BE020B0BB12 /* iOSSnapshotTestCase-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "iOSSnapshotTestCase-prefix.pch"; sourceTree = ""; }; + 44BB1BB142DF99EC623B598EBEF36D8A /* Quick.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Quick.modulemap; sourceTree = ""; }; + 44D16F035CC13D1315E697EC2EF5A158 /* Nimble-Snapshots.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Nimble-Snapshots.modulemap"; sourceTree = ""; }; 45544E7DC8BC621B5141430C9031836E /* FBSnapshotTestCase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FBSnapshotTestCase.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 4588FC13E7F7E57EC53EFF1479C48B43 /* QuickSpec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickSpec.h; path = Sources/QuickObjectiveC/QuickSpec.h; sourceTree = ""; }; - 4785A7BD94236F4EA146D476A2ACDE49 /* AdapterProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AdapterProtocols.swift; path = Sources/Nimble/Adapters/AdapterProtocols.swift; sourceTree = ""; }; - 478CE23E6DA813E6B943BBC65307D0A8 /* Nimble-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-prefix.pch"; sourceTree = ""; }; - 4A57290FFAFFB18CAE5A4F43CFB6E5C0 /* FBSnapshotTestCase.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FBSnapshotTestCase.release.xcconfig; sourceTree = ""; }; - 4B9F69C34F551D51D1962F7951A9EF81 /* QuickConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickConfiguration.h; path = Sources/QuickObjectiveC/Configuration/QuickConfiguration.h; sourceTree = ""; }; - 4CAE7DB50E0F983D24BB4405E9BDCB42 /* iOSSnapshotTestCase.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = iOSSnapshotTestCase.release.xcconfig; sourceTree = ""; }; + 45F576FF77A242929D7E9783D6C9AE47 /* Nimble.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Nimble.debug.xcconfig; sourceTree = ""; }; + 48A2A771C0F6CC509080DA21DC76D606 /* iOSSnapshotTestCase-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "iOSSnapshotTestCase-dummy.m"; sourceTree = ""; }; + 4C1BEF16996F9ECAEED4AAB6AD383153 /* QuickTestSuite.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickTestSuite.swift; path = Sources/Quick/QuickTestSuite.swift; sourceTree = ""; }; + 4C9C510B2F82EADBBFD6DAFA22022585 /* Predicate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Predicate.swift; path = Sources/Nimble/Matchers/Predicate.swift; sourceTree = ""; }; 4CC878AA711E6600C06E590743AB2BB8 /* StyledText.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StyledText.swift; path = StyledText/Classes/StyledText.swift; sourceTree = ""; }; - 4D59FF37755330882EF7356E677CE501 /* World.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = World.h; path = Sources/QuickObjectiveC/World.h; sourceTree = ""; }; - 4E02C503602DC755FE67F0C4FB9D2A7F /* BeGreaterThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThan.swift; path = Sources/Nimble/Matchers/BeGreaterThan.swift; sourceTree = ""; }; - 4F61484E938FC64965DF8C00269C871A /* iOSSnapshotTestCase-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "iOSSnapshotTestCase-umbrella.h"; sourceTree = ""; }; - 52C1B30CC4697E1933141720223103BC /* Nimble_Snapshots.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Nimble_Snapshots.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4F2E06B0C27FD73B088E2EDB6E6EA177 /* Nimble-Snapshots-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Nimble-Snapshots-Info.plist"; sourceTree = ""; }; + 50B8761C6DBCF44247E7E2B04C96D9A1 /* MatcherProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherProtocols.swift; path = Sources/Nimble/Matchers/MatcherProtocols.swift; sourceTree = ""; }; + 52C1B30CC4697E1933141720223103BC /* Nimble_Snapshots.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Nimble_Snapshots.framework; path = "Nimble-Snapshots.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 531EF1531B9CE03F44959AA7AAD1AD8E /* StyledLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StyledLabel.swift; path = StyledText/Classes/StyledLabel.swift; sourceTree = ""; }; - 532C2F46C22116ABA22E309056D6458E /* QuickConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickConfiguration.m; path = Sources/QuickObjectiveC/Configuration/QuickConfiguration.m; sourceTree = ""; }; - 543E8B9014E1EFD35412C772C6F225F2 /* NBSMockedApplication.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBSMockedApplication.m; path = Nimble_Snapshots/DynamicType/NBSMockedApplication.m; sourceTree = ""; }; 54AFFCBA358A7835B41F0545F9F0961D /* Pods-StyledText_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-StyledText_Example-frameworks.sh"; sourceTree = ""; }; - 5A5517971FCF5D6E93A5DC75B4AFBD47 /* Expectation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expectation.swift; path = Sources/Nimble/Expectation.swift; sourceTree = ""; }; - 5AE28BD227CB9E883F9A103F1FBE7B64 /* StyledText.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = StyledText.podspec; sourceTree = ""; tabWidth = 2; }; - 5C4F31330DFA99D699E4BDC8C3573D73 /* FBSnapshotTestCase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FBSnapshotTestCase.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 5DF262DB0DC90A8FC65E082DDABB28A7 /* BeLogical.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLogical.swift; path = Sources/Nimble/Matchers/BeLogical.swift; sourceTree = ""; }; - 61D1ED503171C9E34795C28630C79553 /* FailureMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FailureMessage.swift; path = Sources/Nimble/FailureMessage.swift; sourceTree = ""; }; - 62F45A15F27BDACE995D923F9B65B58A /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = FBSnapshotTestCase/SwiftSupport.swift; sourceTree = ""; }; - 6450A2F713873B3028909262AD2AA428 /* Quick-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Quick-dummy.m"; sourceTree = ""; }; - 64CD1CB40F72876DE2A4A6419F80A00F /* MatcherProtocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherProtocols.swift; path = Sources/Nimble/Matchers/MatcherProtocols.swift; sourceTree = ""; }; + 55C1DA629049424DC91675887D9F68A7 /* DSL+Wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DSL+Wait.swift"; path = "Sources/Nimble/DSL+Wait.swift"; sourceTree = ""; }; + 570C953BA2A6238E3116EFB0588A46B0 /* World+DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "World+DSL.swift"; path = "Sources/Quick/DSL/World+DSL.swift"; sourceTree = ""; }; + 5AE28BD227CB9E883F9A103F1FBE7B64 /* StyledText.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = StyledText.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 5D0750DFFA251B58D778E14E60AA38CF /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Quick/Configuration/Configuration.swift; sourceTree = ""; }; + 5D88D49779B1E347CABA59825D8FF155 /* XCTestSuite+QuickTestSuiteBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestSuite+QuickTestSuiteBuilder.m"; path = "Sources/QuickObjectiveC/XCTestSuite+QuickTestSuiteBuilder.m"; sourceTree = ""; }; + 621E31A318A51783CF5D776EFBFA25A6 /* ExampleHooks.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleHooks.swift; path = Sources/Quick/Hooks/ExampleHooks.swift; sourceTree = ""; }; + 6528F98FB950E84C26B66EC74F7D71CB /* SatisfyAllOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SatisfyAllOf.swift; path = Sources/Nimble/Matchers/SatisfyAllOf.swift; sourceTree = ""; }; 65D6AC668C22A2F5A85E1B78D3B4371B /* Pods-StyledText_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-StyledText_Tests.modulemap"; sourceTree = ""; }; - 67EBE1E3FE91179FC4FB238EF1D0FD2F /* ContainElementSatisfying.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContainElementSatisfying.swift; path = Sources/Nimble/Matchers/ContainElementSatisfying.swift; sourceTree = ""; }; - 6DE16502B1A0089F2A8B489A5A1B9B9A /* Expression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expression.swift; path = Sources/Nimble/Expression.swift; sourceTree = ""; }; - 6F64940D9241DA56E989F5444A9D8772 /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = FBSnapshotTestCase/SwiftSupport.swift; sourceTree = ""; }; - 709F19FD7DFBE2C32C4441321777FBD1 /* World.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = World.swift; path = Sources/Quick/World.swift; sourceTree = ""; }; - 7303B9484DF95EADC676574D3BF05344 /* CwlPreconditionTesting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlPreconditionTesting.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/include/CwlPreconditionTesting.h; sourceTree = ""; }; - 73E5B7BFC466E98F654DBB81438DD318 /* QCKDSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QCKDSL.h; path = Sources/QuickObjectiveC/DSL/QCKDSL.h; sourceTree = ""; }; - 75337034950776B7AE14F83FB1DD53E5 /* NMBObjCMatcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NMBObjCMatcher.swift; path = Sources/Nimble/Adapters/NMBObjCMatcher.swift; sourceTree = ""; }; - 756C528F11958D81E8CC1113978AC556 /* SatisfyAnyOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SatisfyAnyOf.swift; path = Sources/Nimble/Matchers/SatisfyAnyOf.swift; sourceTree = ""; }; - 75A1B22DCD492D4627DC014F7C2766E5 /* HaveCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveCount.swift; path = Sources/Nimble/Matchers/HaveCount.swift; sourceTree = ""; }; - 77AC9827A3F86EF2AF3E5FD99D17BE6F /* BeLessThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLessThan.swift; path = Sources/Nimble/Matchers/BeLessThan.swift; sourceTree = ""; }; - 78CC5C70773DC0A6C2CBE6F83DEAA7E9 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - 792F7E11A8FCFE14904F29B7AB53B750 /* iOSSnapshotTestCase.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = iOSSnapshotTestCase.debug.xcconfig; sourceTree = ""; }; - 7A6AEE65279ABD74253538A493F93C15 /* PrettySyntax.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrettySyntax.swift; path = Nimble_Snapshots/PrettySyntax.swift; sourceTree = ""; }; - 7A8ED7FBDA9BCEC35FA719E1F40930D5 /* Behavior.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Behavior.swift; path = Sources/Quick/Behavior.swift; sourceTree = ""; }; - 7AA0304BAB90D0ECD03B2624095DAA82 /* FBSnapshotTestCase.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FBSnapshotTestCase.modulemap; sourceTree = ""; }; + 698366958DC6935608D5A2AC1124B24F /* Closures.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Closures.swift; path = Sources/Quick/Hooks/Closures.swift; sourceTree = ""; }; + 69C20EEF52DBE6C562A06347CB7CAD0B /* Nimble-Snapshots-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Nimble-Snapshots-dummy.m"; sourceTree = ""; }; + 6AC04239B041B4944B6FBB9C5DC49E97 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = Sources/Quick/Filter.swift; sourceTree = ""; }; + 6B006F01DB3387A08422BAF95887B492 /* QuickSpec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickSpec.h; path = Sources/QuickObjectiveC/QuickSpec.h; sourceTree = ""; }; + 6C8E38F40C0999C2C7E00138E57B3194 /* Quick-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Quick-Info.plist"; sourceTree = ""; }; + 6CB95BAD1D18A44B5DEFE339877AFBFB /* FBSnapshotTestCasePlatform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCasePlatform.h; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.h; sourceTree = ""; }; + 6DEA02BA580AFE76B269F8D10ED807AE /* EndWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EndWith.swift; path = Sources/Nimble/Matchers/EndWith.swift; sourceTree = ""; }; + 6F38B1236C479F83E22B3E05A2673834 /* CwlPreconditionTesting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlPreconditionTesting.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/include/CwlPreconditionTesting.h; sourceTree = ""; }; + 700FA20DBE1B10DDBA99DC0051B0C309 /* iOSSnapshotTestCase.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = iOSSnapshotTestCase.release.xcconfig; sourceTree = ""; }; + 7300A4BED21A2443F94C8213190B5EFA /* CurrentTestCaseTracker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentTestCaseTracker.swift; path = Nimble_Snapshots/CurrentTestCaseTracker.swift; sourceTree = ""; }; + 78CC5C70773DC0A6C2CBE6F83DEAA7E9 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; + 7B79EC603B4E8EB417F507CDBC4C90E8 /* ExampleMetadata.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleMetadata.swift; path = Sources/Quick/ExampleMetadata.swift; sourceTree = ""; }; 7CC69EC1D2BD51F32762FA107C6A0CB1 /* StyledText.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = StyledText.release.xcconfig; sourceTree = ""; }; - 7E66836C99A6034B5527AFD5E0A407C6 /* CwlCatchBadInstruction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchBadInstruction.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlCatchBadInstruction.swift; sourceTree = ""; }; - 800C09AB4F1564BCEADB2508345BDEB9 /* ThrowAssertion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowAssertion.swift; path = Sources/Nimble/Matchers/ThrowAssertion.swift; sourceTree = ""; }; - 820D38D8EE6A6451C76FFC43FD73CCC7 /* CwlDarwinDefinitions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlDarwinDefinitions.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlPreconditionTesting/CwlDarwinDefinitions.swift; sourceTree = ""; }; - 832F04544C8E99B5AF42D30F4426E9F2 /* DynamicSizeSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DynamicSizeSnapshot.swift; path = Nimble_Snapshots/DynamicSize/DynamicSizeSnapshot.swift; sourceTree = ""; }; - 83EE9D2B1AF416BD18C7FAE3CEAD5470 /* QuickSpecBase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickSpecBase.m; path = Sources/QuickSpecBase/QuickSpecBase.m; sourceTree = ""; }; + 7DA11FEA42B596B36E38E740F2C402CB /* BeGreaterThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThan.swift; path = Sources/Nimble/Matchers/BeGreaterThan.swift; sourceTree = ""; }; + 80F1EC01269D1E7D4B5E1C9C77B61D96 /* ExpectationMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpectationMessage.swift; path = Sources/Nimble/ExpectationMessage.swift; sourceTree = ""; }; + 823214BB437475073AD6380CDD9BE2DB /* Nimble-Snapshots-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-Snapshots-umbrella.h"; sourceTree = ""; }; + 83D4073902C0D4FAE9F3C67F83D9F377 /* HaveCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveCount.swift; path = Sources/Nimble/Matchers/HaveCount.swift; sourceTree = ""; }; + 83F616ABF875692A1B893061A6DF0677 /* FBSnapshotTestController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestController.m; path = FBSnapshotTestCase/FBSnapshotTestController.m; sourceTree = ""; }; + 84648FAD4E02F4D8929320E2B7DECAC6 /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = Sources/Nimble/Utils/Errors.swift; sourceTree = ""; }; + 849C54FB99D27CD7653267C08F392E72 /* UIImage+Snapshot.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Snapshot.m"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.m"; sourceTree = ""; }; 8524496123516BD2556D7FFD3D226B8C /* Pods-StyledText_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-StyledText_Tests-frameworks.sh"; sourceTree = ""; }; + 85D2330D99C6E45F227FFC0718C22D9D /* XCTestObservationCenter+Register.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestObservationCenter+Register.m"; path = "Sources/NimbleObjectiveC/XCTestObservationCenter+Register.m"; sourceTree = ""; }; + 8691C6C8A7926D7CFB296501EF10D354 /* NMBExceptionCapture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBExceptionCapture.m; path = Sources/NimbleObjectiveC/NMBExceptionCapture.m; sourceTree = ""; }; 86A9A97943F737E541AAC9CE584F6050 /* Pods-StyledText_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-StyledText_Example.debug.xcconfig"; sourceTree = ""; }; - 86F31DDBF314B458CC718548636CA71F /* Errors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Errors.swift; path = Sources/Nimble/Utils/Errors.swift; sourceTree = ""; }; - 87D177AA928246E37A081EE075265541 /* CurrentTestCaseTracker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CurrentTestCaseTracker.swift; path = Nimble_Snapshots/CurrentTestCaseTracker.swift; sourceTree = ""; }; - 888DCF2F6DEA8CD62AC0BE7143C84F2C /* NSBundle+CurrentTestBundle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSBundle+CurrentTestBundle.swift"; path = "Sources/Quick/NSBundle+CurrentTestBundle.swift"; sourceTree = ""; }; + 873DD83B39F65143143EF2C7EBC2EAD1 /* QuickTestObservation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickTestObservation.swift; path = Sources/Quick/QuickTestObservation.swift; sourceTree = ""; }; + 8B4E5AB2AD401A4BE4029EBFC9414BFF /* NMBExceptionCapture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NMBExceptionCapture.h; path = Sources/NimbleObjectiveC/NMBExceptionCapture.h; sourceTree = ""; }; 8BB1827F741762101B444B0409086BD4 /* Pods-StyledText_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-StyledText_Tests-umbrella.h"; sourceTree = ""; }; - 8ED0881801DF0E361DB94D9F5FB0922A /* Contain.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Contain.swift; path = Sources/Nimble/Matchers/Contain.swift; sourceTree = ""; }; - 90D71B3DC97F41D5C97B183F006CD500 /* PostNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PostNotification.swift; path = Sources/Nimble/Matchers/PostNotification.swift; sourceTree = ""; }; + 8D9019FC72997AC85F32123652AD4E15 /* Quick-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Quick-umbrella.h"; sourceTree = ""; }; 91FBE7480A38D7D7FF327B577F6ED9C4 /* WeakArray.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WeakArray.swift; path = StyledText/Classes/WeakArray.swift; sourceTree = ""; }; - 928FD352260FA47317B599D7FB011FCC /* UIImage+Snapshot.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Snapshot.m"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.m"; sourceTree = ""; }; - 95CF3B768CC069318D8B60885DD3C51A /* FBSnapshotTestCasePlatform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCasePlatform.h; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.h; sourceTree = ""; }; - 96E654233A23C1D1699A4ACC94C8452B /* Quick-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Quick-Info.plist"; sourceTree = ""; }; - 97B5EF051EE75E4D591BCBE7F2147F05 /* Closures.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Closures.swift; path = Sources/Quick/Hooks/Closures.swift; sourceTree = ""; }; - 97F89ADED4A11991F76BBE0B3BE0342C /* Quick-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Quick-umbrella.h"; sourceTree = ""; }; - 98211E90E300CA842AC398D4DA33163F /* QuickSelectedTestSuiteBuilder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickSelectedTestSuiteBuilder.swift; path = Sources/Quick/QuickSelectedTestSuiteBuilder.swift; sourceTree = ""; }; - 995DAB18CD52B258DCD728CE7A2FCA55 /* UIImage+Snapshot.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Snapshot.h"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.h"; sourceTree = ""; }; + 9409C0B3600E2BD1F9B9BEC3D181B8A3 /* CwlCatchException.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlCatchException.m; path = Carthage/Checkouts/CwlPreconditionTesting/Dependencies/CwlCatchException/Sources/CwlCatchExceptionSupport/CwlCatchException.m; sourceTree = ""; }; + 95B6C779A417D2690400136E99A0221D /* BeIdenticalTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeIdenticalTo.swift; path = Sources/Nimble/Matchers/BeIdenticalTo.swift; sourceTree = ""; }; + 96B61CDAAA97B0861F2E52B76ABE5540 /* Equal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Equal.swift; path = Sources/Nimble/Matchers/Equal.swift; sourceTree = ""; }; + 97389060151A2A0432DC7E32BC98537A /* UIImage+Compare.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Compare.h"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.h"; sourceTree = ""; }; + 97CDC737044A34867D445AA4C0EF6A6B /* iOSSnapshotTestCase-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "iOSSnapshotTestCase-Info.plist"; sourceTree = ""; }; + 9810CC4E143491676FF281F5C16432EE /* Nimble-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Nimble-dummy.m"; sourceTree = ""; }; + 996550147138561F420B418F0C5A633B /* ExampleGroup.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleGroup.swift; path = Sources/Quick/ExampleGroup.swift; sourceTree = ""; }; 997C790F9BC59840F47B8D0CDA79CA8C /* StyledText-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "StyledText-prefix.pch"; sourceTree = ""; }; - 9AD7B08DA5EEDFE5245C3550B707E1A3 /* NMBStringify.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NMBStringify.h; path = Sources/NimbleObjectiveC/NMBStringify.h; sourceTree = ""; }; - 9B5724B71AEE25862063B59E66F4BF61 /* Nimble_Snapshots.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Nimble_Snapshots.h; path = Nimble_Snapshots/Nimble_Snapshots.h; sourceTree = ""; }; + 9BC4B0ED77D2E218907801F4C12890DA /* Behavior.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Behavior.swift; path = Sources/Quick/Behavior.swift; sourceTree = ""; }; + 9C1708326A921C5C6AA5D9AF148144F8 /* ThrowError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowError.swift; path = Sources/Nimble/Matchers/ThrowError.swift; sourceTree = ""; }; 9C99005A67BC0F57ACC4A979E48766BC /* StyledText-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "StyledText-Info.plist"; sourceTree = ""; }; - 9D3E5D96225DED077D3EF966D01C9C14 /* BeGreaterThanOrEqualTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThanOrEqualTo.swift; path = Sources/Nimble/Matchers/BeGreaterThanOrEqualTo.swift; sourceTree = ""; }; - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9F3939E47B03A04CCEE11831F7FA276A /* UIImage+Compare.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Compare.m"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.m"; sourceTree = ""; }; - A1AA68CF746FCFF15B6F04BCD0A0B840 /* Nimble-Snapshots.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Nimble-Snapshots.modulemap"; sourceTree = ""; }; - A20E4CFBCDE6C12F0E217FA52C09D342 /* ElementsEqual.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementsEqual.swift; path = Sources/Nimble/Matchers/ElementsEqual.swift; sourceTree = ""; }; - A3C93A37228E1C9ECC325A73FC2D1452 /* BeEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeEmpty.swift; path = Sources/Nimble/Matchers/BeEmpty.swift; sourceTree = ""; }; + 9D7A8AAE16A29455D88A96E1CAD77620 /* mach_excServer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mach_excServer.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/mach_excServer.h; sourceTree = ""; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 9EDB30106ECB5FC688529F61427E6BB6 /* mach_excServer.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mach_excServer.c; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/mach_excServer.c; sourceTree = ""; }; + 9F1012F5D8CD6359B797D4CC8EC02030 /* FailureMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FailureMessage.swift; path = Sources/Nimble/FailureMessage.swift; sourceTree = ""; }; + 9FDB7E4028E2585959E6CF0E8D12E3F8 /* BeLogical.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLogical.swift; path = Sources/Nimble/Matchers/BeLogical.swift; sourceTree = ""; }; + A040413F7F6ABBB7B3AC7488F7EE6EBB /* ThrowAssertion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ThrowAssertion.swift; path = Sources/Nimble/Matchers/ThrowAssertion.swift; sourceTree = ""; }; + A06059ADF39C1ADBC9C2A5C4B9EB554D /* NBSMockedApplication.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NBSMockedApplication.m; path = Nimble_Snapshots/DynamicType/NBSMockedApplication.m; sourceTree = ""; }; + A2A358CF6DFCD46437AC4093EDDE1024 /* Nimble.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Nimble.modulemap; sourceTree = ""; }; + A2BA45ED5441C69F43D998995C1E44F7 /* FBSnapshotTestCase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCase.m; path = FBSnapshotTestCase/FBSnapshotTestCase.m; sourceTree = ""; }; + A3C1CB16DE6D5A34FC2D39F52E817093 /* SuiteHooks.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SuiteHooks.swift; path = Sources/Quick/Hooks/SuiteHooks.swift; sourceTree = ""; }; + A3FD595A99C854B12B66E0943153110E /* iOSSnapshotTestCase-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "iOSSnapshotTestCase-umbrella.h"; sourceTree = ""; }; A41113005A7A99534DA8A1F85466E482 /* Pods-StyledText_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-StyledText_Example.release.xcconfig"; sourceTree = ""; }; + A4C82A6846C66B0A3704057184557B1D /* BeLessThan.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLessThan.swift; path = Sources/Nimble/Matchers/BeLessThan.swift; sourceTree = ""; }; + A52436417166E0515C5F31EAA391FD32 /* Quick-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Quick-dummy.m"; sourceTree = ""; }; A5C77238CC6CA8DDA752154F7C030A7A /* StyledText-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "StyledText-umbrella.h"; sourceTree = ""; }; A69EB16895D0FDA9699EED91A3CFB841 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; - A99E6A47133AED1341A2C1590E22594C /* QuickTestSuite.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickTestSuite.swift; path = Sources/Quick/QuickTestSuite.swift; sourceTree = ""; }; - AA0BAE4448AD0D24984DA6B1792907A9 /* mach_excServer.c */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.c; name = mach_excServer.c; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/mach_excServer.c; sourceTree = ""; }; - AA7E8F691F413315915F2FAC01EBFB0E /* ExpectationMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpectationMessage.swift; path = Sources/Nimble/ExpectationMessage.swift; sourceTree = ""; }; + A7EA429D9E5076692DD64BE30CDCF846 /* AllPass.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AllPass.swift; path = Sources/Nimble/Matchers/AllPass.swift; sourceTree = ""; }; + A8FF75F8DB454A4726BC2566463E73A5 /* BeCloseTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeCloseTo.swift; path = Sources/Nimble/Matchers/BeCloseTo.swift; sourceTree = ""; }; + A9524C781E2440F3942356936F439D18 /* Callsite.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Callsite.swift; path = Sources/Quick/Callsite.swift; sourceTree = ""; }; + A9C82F3CCF156093E1AE5DB33A783814 /* Match.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Match.swift; path = Sources/Nimble/Matchers/Match.swift; sourceTree = ""; }; + AB6F865D573F861854A32CDA44E34BA0 /* PrettyDynamicTypeSyntax.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PrettyDynamicTypeSyntax.swift; path = Nimble_Snapshots/DynamicType/PrettyDynamicTypeSyntax.swift; sourceTree = ""; }; + ABA9A50C0077C5F4EECC113E46C6D41F /* FBSnapshotTestCase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCase.h; path = FBSnapshotTestCase/FBSnapshotTestCase.h; sourceTree = ""; }; + AC2D34E58EC07DA65CE887853E5EC4EC /* CwlCatchException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlCatchException.h; path = Carthage/Checkouts/CwlPreconditionTesting/Dependencies/CwlCatchException/Sources/CwlCatchExceptionSupport/include/CwlCatchException.h; sourceTree = ""; }; + ACC4471A2A893B7C123DAC9B52B1C488 /* QuickSelectedTestSuiteBuilder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickSelectedTestSuiteBuilder.swift; path = Sources/Quick/QuickSelectedTestSuiteBuilder.swift; sourceTree = ""; }; ACC954830B3FD9AE00D6D488D382F6C6 /* Pods-StyledText_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-StyledText_Example-acknowledgements.markdown"; sourceTree = ""; }; - AE6707881662A476B25D243E206AEA15 /* Nimble-Snapshots.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Nimble-Snapshots.debug.xcconfig"; sourceTree = ""; }; + AD0B6DCEB9A5D25B4FF90E5F8826145D /* BeNil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeNil.swift; path = Sources/Nimble/Matchers/BeNil.swift; sourceTree = ""; }; AF0FC4B74774AC1644D1B62CBDC0CCBF /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - B11690633C49BCECBD572913D98D9387 /* BeLessThanOrEqual.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeLessThanOrEqual.swift; path = Sources/Nimble/Matchers/BeLessThanOrEqual.swift; sourceTree = ""; }; - B1D25846FC4A41B996B4286648181258 /* Nimble-Snapshots-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-Snapshots-prefix.pch"; sourceTree = ""; }; - B31BB04F98F6BE0D5790A480EE61081A /* Quick.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Quick.h; path = Sources/QuickObjectiveC/Quick.h; sourceTree = ""; }; - B36AFF643D999732F2CB2654CA2E4952 /* EndWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EndWith.swift; path = Sources/Nimble/Matchers/EndWith.swift; sourceTree = ""; }; - B58555BB4BE99A0FF6F7BFACE1580603 /* iOSSnapshotTestCase-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "iOSSnapshotTestCase-Info.plist"; sourceTree = ""; }; - B63892BFC1B4B8F852DD26675FF2FC12 /* ExampleHooks.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleHooks.swift; path = Sources/Quick/Hooks/ExampleHooks.swift; sourceTree = ""; }; - B71F16E6C18131F11E69BE2B9D5635A3 /* Nimble.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Nimble.modulemap; sourceTree = ""; }; - B745139304C7CDA08C674FE68C3B9BC1 /* HaveValidSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveValidSnapshot.swift; path = Nimble_Snapshots/HaveValidSnapshot.swift; sourceTree = ""; }; - B746E3CA514C286129DD14E63D92F631 /* XCTestObservationCenter+CurrentTestCaseTracker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTestObservationCenter+CurrentTestCaseTracker.h"; path = "Nimble_Snapshots/XCTestObservationCenter+CurrentTestCaseTracker.h"; sourceTree = ""; }; - B8463D6B4FEE37F049D267A6BB6BB429 /* mach_excServer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mach_excServer.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/mach_excServer.h; sourceTree = ""; }; - B8645FA8AD23516E7F974664129616DC /* Pods_StyledText_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_StyledText_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B91B00F8BE943329D633234BD67AE0AC /* FBSnapshotTestCase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FBSnapshotTestCase.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BA30C4723D1C6AFDAF11A4E6D301E4EA /* NimbleEnvironment.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NimbleEnvironment.swift; path = Sources/Nimble/Adapters/NimbleEnvironment.swift; sourceTree = ""; }; - BABDF32E71466F4CB09A66D8FAF8EC7B /* NMBStringify.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBStringify.m; path = Sources/NimbleObjectiveC/NMBStringify.m; sourceTree = ""; }; - BAE263041362D074978BB3B577DF0A05 /* Nimble.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Nimble.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BC215521BB1EC60C90136D00C8AAA7E7 /* UIImage+Compare.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Compare.h"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.h"; sourceTree = ""; }; - BCAEA8B9C02FCAF65860369371BD356B /* DSL+Wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DSL+Wait.swift"; path = "Sources/Nimble/DSL+Wait.swift"; sourceTree = ""; }; - BE0FD72D067430E3552BB5C50778D36C /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; - BE72C6C9AE05756D447D927B8599A9A9 /* BeNil.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeNil.swift; path = Sources/Nimble/Matchers/BeNil.swift; sourceTree = ""; }; - BE8FE45A5550F2344CEFB92134E72DFD /* Nimble.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Nimble.release.xcconfig; sourceTree = ""; }; - BFC3F0CE34BEEDA0FB51C6910AEE5811 /* NSString+C99ExtendedIdentifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSString+C99ExtendedIdentifier.swift"; path = "Sources/Quick/NSString+C99ExtendedIdentifier.swift"; sourceTree = ""; }; + AFB4F9E9DFA8A094DC84C80495AA1FBD /* DSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DSL.m; path = Sources/NimbleObjectiveC/DSL.m; sourceTree = ""; }; + B0399FD3EE0287676D4AD9833E0CE64F /* PostNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PostNotification.swift; path = Sources/Nimble/Matchers/PostNotification.swift; sourceTree = ""; }; + B2A9AE94C22AC2B53E027EB2E5D1B02F /* BeEmpty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeEmpty.swift; path = Sources/Nimble/Matchers/BeEmpty.swift; sourceTree = ""; }; + B50A472314EC0A3E678A65FC57D8153E /* Expectation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expectation.swift; path = Sources/Nimble/Expectation.swift; sourceTree = ""; }; + B568D920744DD63B95FAA242837337DB /* SatisfyAnyOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SatisfyAnyOf.swift; path = Sources/Nimble/Matchers/SatisfyAnyOf.swift; sourceTree = ""; }; + B81D5ACA65F2B2871826CC14B0744F52 /* Example.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Example.swift; path = Sources/Quick/Example.swift; sourceTree = ""; }; + B8645FA8AD23516E7F974664129616DC /* Pods_StyledText_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_StyledText_Tests.framework; path = "Pods-StyledText_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + B8B2626771DA97CBA4EA15E42DC05A95 /* Stringers.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Stringers.swift; path = Sources/Nimble/Utils/Stringers.swift; sourceTree = ""; }; + B90702A36987A4407C503DAF5EA8BF70 /* DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DSL.swift; path = Sources/Quick/DSL/DSL.swift; sourceTree = ""; }; + B9160ABF8D2A98F0FEEAA578C57F33B5 /* BeginWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeginWith.swift; path = Sources/Nimble/Matchers/BeginWith.swift; sourceTree = ""; }; + B91B00F8BE943329D633234BD67AE0AC /* FBSnapshotTestCase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = FBSnapshotTestCase.framework; path = iOSSnapshotTestCase.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B92890D125C4551D906651D30FD431BE /* Quick.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Quick.h; path = Sources/QuickObjectiveC/Quick.h; sourceTree = ""; }; + BA4254CF1C59658097CD397A1908A07C /* QuickSpecBase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickSpecBase.m; path = Sources/QuickObjCRuntime/QuickSpecBase.m; sourceTree = ""; }; + BAB6F2AEF482D688AAD5CBC704A2F250 /* String+C99ExtendedIdentifier.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+C99ExtendedIdentifier.swift"; path = "Sources/Quick/String+C99ExtendedIdentifier.swift"; sourceTree = ""; }; + BAE263041362D074978BB3B577DF0A05 /* Nimble.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Nimble.framework; path = Nimble.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + BB6EC39CBFE50D195B12ABC32E499302 /* Nimble_Snapshots.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Nimble_Snapshots.h; path = Nimble_Snapshots/Nimble_Snapshots.h; sourceTree = ""; }; + BE0FD72D067430E3552BB5C50778D36C /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; BFFA29E507D8E614157A3F9FA313A4BB /* Pods-StyledText_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-StyledText_Tests.debug.xcconfig"; sourceTree = ""; }; - C02C838B479DA9D87C0BC24B928E4F77 /* FBSnapshotTestCase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCase.h; path = FBSnapshotTestCase/FBSnapshotTestCase.h; sourceTree = ""; }; C08B2F4E72EA687CCA717EAB0C59F656 /* DynamicTypeController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DynamicTypeController.swift; path = StyledText/Classes/DynamicTypeController.swift; sourceTree = ""; }; + C107EF1AE0303E5F158349466E1553FC /* HooksPhase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HooksPhase.swift; path = Sources/Quick/Hooks/HooksPhase.swift; sourceTree = ""; }; C152F93A865CD3CF2503C2530A540576 /* StyledText-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "StyledText-dummy.m"; sourceTree = ""; }; - C2C3826454A477CDC393DFD224763243 /* AssertionRecorder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertionRecorder.swift; path = Sources/Nimble/Adapters/AssertionRecorder.swift; sourceTree = ""; }; - C2DAD5B94EEFEE829E704529A73E31B0 /* FBSnapshotTestCasePlatform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCasePlatform.m; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.m; sourceTree = ""; }; - C3FFC9516B323D99D2C7DF20BD5B8985 /* UIImage+Compare.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Compare.m"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.m"; sourceTree = ""; }; - C55AB72618C2B431DE9FCACCD65B943D /* ExampleMetadata.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleMetadata.swift; path = Sources/Quick/ExampleMetadata.swift; sourceTree = ""; }; - C5C208198589C9A5A8D427AC4D0D3974 /* BeVoid.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeVoid.swift; path = Sources/Nimble/Matchers/BeVoid.swift; sourceTree = ""; }; - C7AC2B5C91F1168A8A52F374A958077D /* FBSnapshotTestController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestController.h; path = FBSnapshotTestCase/FBSnapshotTestController.h; sourceTree = ""; }; - C84E188967AC53FEF855F875FF253E27 /* ExampleGroup.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExampleGroup.swift; path = Sources/Quick/ExampleGroup.swift; sourceTree = ""; }; - C87789E8424FC4060FB3A449A673D711 /* NMBExceptionCapture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBExceptionCapture.m; path = Sources/NimbleObjectiveC/NMBExceptionCapture.m; sourceTree = ""; }; - C92609FA3F628802C76D980E12A94585 /* UIApplication+StrictKeyWindow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIApplication+StrictKeyWindow.h"; path = "FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h"; sourceTree = ""; }; - CB769D9B2B743149BE634D411B836ABA /* UIImage+Compare.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Compare.h"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.h"; sourceTree = ""; }; - CE8B5A37E4E06570F40F9B430D628CFE /* FBSnapshotTestCase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCase.h; path = FBSnapshotTestCase/FBSnapshotTestCase.h; sourceTree = ""; }; - CEA1C552AF2358323833420270401208 /* iOSSnapshotTestCase-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "iOSSnapshotTestCase-prefix.pch"; sourceTree = ""; }; - CF61252BE76F896DED85A94C63847A18 /* AssertionDispatcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertionDispatcher.swift; path = Sources/Nimble/Adapters/AssertionDispatcher.swift; sourceTree = ""; }; - D084B35C6886DCE7C84D454491B35846 /* UIImage+Snapshot.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Snapshot.h"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.h"; sourceTree = ""; }; - D419F5CCB71712721E4487CF8A10AB4C /* Example.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Example.swift; path = Sources/Quick/Example.swift; sourceTree = ""; }; - D4D6A956830F3173273B7FE765DB2320 /* StyledText.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = StyledText.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D6E97B6D373A3D03F97FD7A3CE86FA22 /* FBSnapshotTestController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestController.m; path = FBSnapshotTestCase/FBSnapshotTestController.m; sourceTree = ""; }; + C3291F9E8823BE853FDBF39E713BBC8E /* QuickConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = QuickConfiguration.swift; path = Sources/Quick/Configuration/QuickConfiguration.swift; sourceTree = ""; }; + C5B0AA9191CB3A0D6711FA08729EE0CD /* QCKDSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QCKDSL.h; path = Sources/QuickObjectiveC/DSL/QCKDSL.h; sourceTree = ""; }; + C74E490F563150BA55CD0E5083B6FEFF /* iOSSnapshotTestCase.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = iOSSnapshotTestCase.modulemap; sourceTree = ""; }; + C7D0B43188FFBB40D6C02C9DD5618681 /* CwlMachBadInstructionHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlMachBadInstructionHandler.h; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/include/CwlMachBadInstructionHandler.h; sourceTree = ""; }; + C9B090FACE06D97DC389F5AB0ABE1CED /* AssertionRecorder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertionRecorder.swift; path = Sources/Nimble/Adapters/AssertionRecorder.swift; sourceTree = ""; }; + CDD9842C771EEB1AB20CD035BACB5265 /* Nimble-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Nimble-Info.plist"; sourceTree = ""; }; + CE3513D7582110817468E6FA307AD5EB /* Nimble.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Nimble.release.xcconfig; sourceTree = ""; }; + CEC8CEF961CFDF78AB3495291E54451B /* Functional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Functional.swift; path = Sources/Nimble/Utils/Functional.swift; sourceTree = ""; }; + CFEB9A0753416A9A0C7079B83B025B8A /* Nimble-Snapshots.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Nimble-Snapshots.release.xcconfig"; sourceTree = ""; }; + D27F7E1AE8B439D7FB8B81DCBC9166EC /* XCTestObservationCenter+CurrentTestCaseTracker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestObservationCenter+CurrentTestCaseTracker.m"; path = "Nimble_Snapshots/XCTestObservationCenter+CurrentTestCaseTracker.m"; sourceTree = ""; }; + D4D6A956830F3173273B7FE765DB2320 /* StyledText.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = StyledText.framework; path = StyledText.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D71A28591554C37F4773DE54C43571D6 /* TextStyle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TextStyle.swift; path = StyledText/Classes/TextStyle.swift; sourceTree = ""; }; - D885C25D6129701085FDABB4606047D5 /* CwlCatchException.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CwlCatchException.h; path = Carthage/Checkouts/CwlPreconditionTesting/Dependencies/CwlCatchException/Sources/CwlCatchExceptionSupport/include/CwlCatchException.h; sourceTree = ""; }; - DA44B3F730848082AA9F1D9E591D5EB2 /* MatcherFunc.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherFunc.swift; path = Sources/Nimble/Matchers/MatcherFunc.swift; sourceTree = ""; }; - DA96AE05FB7BBE396C35F5D30B5A4E96 /* HaveValidDynamicTypeSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveValidDynamicTypeSnapshot.swift; path = Nimble_Snapshots/DynamicType/HaveValidDynamicTypeSnapshot.swift; sourceTree = ""; }; - DC129BDCD479793877F0EE43BCB93B05 /* Equal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Equal.swift; path = Sources/Nimble/Matchers/Equal.swift; sourceTree = ""; }; - DE4471BBDE617986FF64CCCC1858BD4E /* BeginWith.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeginWith.swift; path = Sources/Nimble/Matchers/BeginWith.swift; sourceTree = ""; }; - DECB05C01F82D94232FBF570CDAD6647 /* Match.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Match.swift; path = Sources/Nimble/Matchers/Match.swift; sourceTree = ""; }; - DEDD6AAB634A73F9A31003EA05C8E872 /* UIImage+Snapshot.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Snapshot.m"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.m"; sourceTree = ""; }; - DF70696FD648BCFC705B58352C886EDA /* Functional.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Functional.swift; path = Sources/Nimble/Utils/Functional.swift; sourceTree = ""; }; - E1233245C027B68CE1BCC18EC2424BA7 /* URL+FileName.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URL+FileName.swift"; path = "Sources/Quick/URL+FileName.swift"; sourceTree = ""; }; - E1AB3D3E1F075E5808F34442D0AA4303 /* SatisfyAllOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SatisfyAllOf.swift; path = Sources/Nimble/Matchers/SatisfyAllOf.swift; sourceTree = ""; }; - E288CD9E15B6CFB53B3C6B8A022C385F /* BeCloseTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeCloseTo.swift; path = Sources/Nimble/Matchers/BeCloseTo.swift; sourceTree = ""; }; - E4B2BC5F009FC51A71D0D45F7D87220E /* Nimble.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Nimble.h; path = Sources/Nimble/Nimble.h; sourceTree = ""; }; - EACA3A093ED9BB7A60633402E9D40E28 /* World+DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "World+DSL.swift"; path = "Sources/Quick/DSL/World+DSL.swift"; sourceTree = ""; }; - EBAD2BDA1FEC753971BD0B05271F168E /* Predicate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Predicate.swift; path = Sources/Nimble/Matchers/Predicate.swift; sourceTree = ""; }; - ED6B10B8F12295D008DC954385194128 /* DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DSL.swift; path = Sources/Quick/DSL/DSL.swift; sourceTree = ""; }; - EE2BA2655B28BCD5D3CA0D8A5F49F44E /* DSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DSL.swift; path = Sources/Nimble/DSL.swift; sourceTree = ""; }; - EE2E3B7C318BECD7BAF6AD9896090ED3 /* Nimble-Snapshots-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-Snapshots-umbrella.h"; sourceTree = ""; }; - EE88AACEFE6D10B5B9D95F9DECDFE3C6 /* DSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DSL.m; path = Sources/NimbleObjectiveC/DSL.m; sourceTree = ""; }; + D74D93E06DE4E33E564E9F372052BCEA /* BeAnInstanceOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeAnInstanceOf.swift; path = Sources/Nimble/Matchers/BeAnInstanceOf.swift; sourceTree = ""; }; + D85E8C8B45913AB5537B178C9750F126 /* CwlMachBadInstructionHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CwlMachBadInstructionHandler.m; path = Carthage/Checkouts/CwlPreconditionTesting/Sources/CwlMachBadInstructionHandler/CwlMachBadInstructionHandler.m; sourceTree = ""; }; + D86436D8F816DE1A7E01E1547097CE72 /* NSBundle+CurrentTestBundle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSBundle+CurrentTestBundle.swift"; path = "Sources/Quick/NSBundle+CurrentTestBundle.swift"; sourceTree = ""; }; + D8C7F742D91EA9171A992AA4625653D7 /* MatcherFunc.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MatcherFunc.swift; path = Sources/Nimble/Matchers/MatcherFunc.swift; sourceTree = ""; }; + D8DED670B42A9967846EF662DD1E83FF /* AssertionDispatcher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AssertionDispatcher.swift; path = Sources/Nimble/Adapters/AssertionDispatcher.swift; sourceTree = ""; }; + DACB8F2E57FC1515881908D07D0480B3 /* RaisesException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RaisesException.swift; path = Sources/Nimble/Matchers/RaisesException.swift; sourceTree = ""; }; + DC3A0932BB28EEB2EA4B38DE436E8BC5 /* QuickSpec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QuickSpec.m; path = Sources/QuickObjectiveC/QuickSpec.m; sourceTree = ""; }; + DE66AB9F82502D8BE282BEE7AC1E8875 /* NimbleEnvironment.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NimbleEnvironment.swift; path = Sources/Nimble/Adapters/NimbleEnvironment.swift; sourceTree = ""; }; + E068EE1DC859745AC9FF716482AE461D /* QCKDSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = QCKDSL.m; path = Sources/QuickObjectiveC/DSL/QCKDSL.m; sourceTree = ""; }; + E2576AC3CAD25D67A8C5E56CE523F900 /* QuickSpecBase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickSpecBase.h; path = Sources/QuickObjCRuntime/include/QuickSpecBase.h; sourceTree = ""; }; + E27161DF57DC7FE81ED74BFD4473B311 /* CwlCatchException.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CwlCatchException.swift; path = Carthage/Checkouts/CwlPreconditionTesting/Dependencies/CwlCatchException/Sources/CwlCatchException/CwlCatchException.swift; sourceTree = ""; }; + E2E9EA6B3818D6D3663BB3FCB400FE7F /* HaveValidDynamicTypeSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HaveValidDynamicTypeSnapshot.swift; path = Nimble_Snapshots/DynamicType/HaveValidDynamicTypeSnapshot.swift; sourceTree = ""; }; + E4113E832A34587810432A2E8280FBB2 /* FBSnapshotTestCasePlatform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCasePlatform.m; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.m; sourceTree = ""; }; + E4DEEE38754361E817A050F6D8AF9637 /* Contain.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Contain.swift; path = Sources/Nimble/Matchers/Contain.swift; sourceTree = ""; }; + E5DA5D4A4D7C3CD635B7BC24A0012DDD /* Nimble-Snapshots.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Nimble-Snapshots.debug.xcconfig"; sourceTree = ""; }; + E9E814449EE59FCEFB666D932CCE1A15 /* Expression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Expression.swift; path = Sources/Nimble/Expression.swift; sourceTree = ""; }; + EC0F7AE49B7DDCB29385C225EF4CF3F1 /* iOSSnapshotTestCase.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = iOSSnapshotTestCase.debug.xcconfig; sourceTree = ""; }; + EE8457174445D379830D8F3646D79BA1 /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = FBSnapshotTestCase/SwiftSupport.swift; sourceTree = ""; }; EFA8008C49C2975D8861120E1346E9E0 /* StyledText.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = StyledText.modulemap; sourceTree = ""; }; - F19B22264F3D313DE666984005B288CB /* BeAnInstanceOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeAnInstanceOf.swift; path = Sources/Nimble/Matchers/BeAnInstanceOf.swift; sourceTree = ""; }; - F3344FBD5845A5702EB1D9E31F146C7E /* UIImage+Diff.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Diff.m"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.m"; sourceTree = ""; }; - F4297F167A1464F0E9B512FB9AE8B365 /* UIImage+Diff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Diff.h"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.h"; sourceTree = ""; }; - F4AB17C7335985CC780771623C19DB91 /* FBSnapshotTestCase.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FBSnapshotTestCase.debug.xcconfig; sourceTree = ""; }; - F6BC052D44097F7EED5FB14C89852CA5 /* Quick.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Quick.modulemap; sourceTree = ""; }; - FBC31F2A015FAE02F6D4F3BDB37F8E60 /* FBSnapshotTestCase-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FBSnapshotTestCase-dummy.m"; sourceTree = ""; }; - FD1B3CE9A052A52487DD60774BA82376 /* Filter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Filter.swift; path = Sources/Quick/Filter.swift; sourceTree = ""; }; + F1AA4C77433E4419B8E52DD4BE31C5DA /* ElementsEqual.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ElementsEqual.swift; path = Sources/Nimble/Matchers/ElementsEqual.swift; sourceTree = ""; }; + F3EB8050C124A57011C93309C82F42E9 /* QuickConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickConfiguration.h; path = Sources/QuickObjectiveC/Configuration/QuickConfiguration.h; sourceTree = ""; }; + F414BF62DF9495F0F479DB4C362D8B16 /* BeGreaterThanOrEqualTo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BeGreaterThanOrEqualTo.swift; path = Sources/Nimble/Matchers/BeGreaterThanOrEqualTo.swift; sourceTree = ""; }; + F5DA74F2268147937B6D3259AB769A8A /* Nimble-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Nimble-umbrella.h"; sourceTree = ""; }; + F79D928FCE468BDD0F8CBEE4772504B2 /* NMBStringify.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NMBStringify.h; path = Sources/NimbleObjectiveC/NMBStringify.h; sourceTree = ""; }; + FBF3CEA309332EB156B3E2D0B6324309 /* NMBStringify.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NMBStringify.m; path = Sources/NimbleObjectiveC/NMBStringify.m; sourceTree = ""; }; + FC64EFB3EBDEA8C55E73C2EB0A441B22 /* SourceLocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SourceLocation.swift; path = Sources/Nimble/Utils/SourceLocation.swift; sourceTree = ""; }; + FC969A46E97EAB16729C9B770320256E /* Await.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Await.swift; path = Sources/Nimble/Utils/Await.swift; sourceTree = ""; }; FE6E3EE0DC6789599163F59F1DFFC233 /* Pods-StyledText_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-StyledText_Tests-dummy.m"; sourceTree = ""; }; - FF14760A13B9994B1EABE4DB9840501A /* QuickSpecBase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = QuickSpecBase.h; path = Sources/QuickSpecBase/include/QuickSpecBase.h; sourceTree = ""; }; + FEF1DF655526BAF961DC5768E7BD299F /* NimbleXCTestHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NimbleXCTestHandler.swift; path = Sources/Nimble/Adapters/NimbleXCTestHandler.swift; sourceTree = ""; }; + FFBC4A9F8C968FE82A9F2FCB275B29DD /* NBSMockedApplication.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NBSMockedApplication.h; path = Nimble_Snapshots/DynamicType/NBSMockedApplication.h; sourceTree = ""; }; + FFEDBAF0A120E7BFE35F22CC94F950D4 /* Nimble.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Nimble.h; path = Sources/Nimble/Nimble.h; sourceTree = ""; }; + FFF5AFCC82D5982C7BDE5AF6F164BE1A /* DynamicSizeSnapshot.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DynamicSizeSnapshot.swift; path = Nimble_Snapshots/DynamicSize/DynamicSizeSnapshot.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 0C728B6C9A216E836740DA9B24398D9A /* Frameworks */ = { + 1FB41F3B817F50C08A530AB486E92A06 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E95B64448591FFBF6AE819B9C556ACAF /* Foundation.framework in Frameworks */, + 163C2D9C86D8AA40817453CC2F41F5BE /* Foundation.framework in Frameworks */, + 02DD7FC6A855D0675EA8B3BE66C99BBB /* XCTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2B02DE39DA67E24238677D9850083C8A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E4E6A6902C6743D0145B0CF274E90310 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4F7CCDE571CE6AF563671836E654CE1E /* Frameworks */ = { + 55C81EE76C6A69F1F69792A679310C68 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9E82E59647C2E9653D2E5BAA5D15CF3D /* Foundation.framework in Frameworks */, - 43BF42159F430B01CB7F94DFDA66F510 /* XCTest.framework in Frameworks */, + EFB9CC9267297D8104141A4046AAD14E /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 55C81EE76C6A69F1F69792A679310C68 /* Frameworks */ = { + 5ABDEF1BE9BF796A65FDE3CF47B5F454 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - EFB9CC9267297D8104141A4046AAD14E /* Foundation.framework in Frameworks */, + EFD47670BC5A28EC90926DCD32214F69 /* FBSnapshotTestCase.framework in Frameworks */, + C229EB9011844CF381C647E88E2EC5E8 /* Foundation.framework in Frameworks */, + B32E27BC6F40F3D3823163F5F9D3C61E /* Nimble.framework in Frameworks */, + 8098FE9A2D056381A3AE9B3A5FEDBA9E /* UIKit.framework in Frameworks */, + 64BD1A297C3042E344E3990E7B3C2E8A /* XCTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 646AD24EE5B74793A35B98E8D31081AC /* Frameworks */ = { + 664CFDBE73205468E132AC481E2EA271 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 4672FD9F2A61E374A3E7DD79336D4831 /* FBSnapshotTestCase.framework in Frameworks */, - 51AF27C6C6A436C598A9C6FD24990EF7 /* Foundation.framework in Frameworks */, - A6A550089B7797DEF915A0C0BAE2390D /* Nimble.framework in Frameworks */, - 8AEAC7C2D0B3B1E6B77EC8B91F429387 /* UIKit.framework in Frameworks */, - 4CD5591DB1830D1F96292CDFF84B30A0 /* XCTest.framework in Frameworks */, + 7B4DFCBFD778A3684C81E1C36FCFAF16 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9DB672DFFA247AC8A9BF7DD49ECD9400 /* Frameworks */ = { + B25B1D32D86BA1FF4D75AB37ED872F05 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E0F1AD626C62F77B7C0A8B63B88A8D9C /* Foundation.framework in Frameworks */, - 857347F7E0C2B578C29882CA41D164E6 /* QuartzCore.framework in Frameworks */, - 53D4EA82797AB425B9DD2A06C8DED64B /* UIKit.framework in Frameworks */, - 524B49575CF7A7FF74F8B460C17512F2 /* XCTest.framework in Frameworks */, + E4F20C5ABD7648541E31802F835C58AF /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E581515110D66F94F80A6937831489A1 /* Frameworks */ = { + E61F5C730931C04996CBE8991743477A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B25D795BDC4F426BC01EFC911F368B81 /* Foundation.framework in Frameworks */, - 14C511527597E5846AB2627F791C7D8E /* QuartzCore.framework in Frameworks */, - E0B8D095C732352C854D365B9E5B993D /* UIKit.framework in Frameworks */, - 6AE239C5D116E1C06F5705699FB9EAF0 /* XCTest.framework in Frameworks */, + CD84E9898D44A910B64AFD0F2F077A77 /* Foundation.framework in Frameworks */, + AFC37A09B54E34CC706F3A716D23A389 /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E61F5C730931C04996CBE8991743477A /* Frameworks */ = { + F9562D459AC319258D55691E2B07B305 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CD84E9898D44A910B64AFD0F2F077A77 /* Foundation.framework in Frameworks */, - AFC37A09B54E34CC706F3A716D23A389 /* UIKit.framework in Frameworks */, + CEFEB9BF35A6ED6C9E82272021398F82 /* Foundation.framework in Frameworks */, + 075211D7E4409D0826AC00348BDD999F /* QuartzCore.framework in Frameworks */, + 1D614FAF3233332BF1DABF640545D72F /* UIKit.framework in Frameworks */, + 0F09592624001A1870813A4F998A0D2A /* XCTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -586,42 +524,58 @@ name = Pod; sourceTree = ""; }; - 11DEE666686ED0DD13CC5C2F2D664ECF /* SwiftSupport */ = { + 151C57E269E91EF0BA300BBB210EEA08 /* iOSSnapshotTestCase */ = { isa = PBXGroup; children = ( - 6F64940D9241DA56E989F5444A9D8772 /* SwiftSupport.swift */, + 260C5FD31CE0263F960F4A9E0F9EBB75 /* Core */, + B7F48E2F8F400463037EC020E9C520D8 /* Support Files */, + 64B29B44BCAD69135F1DEA7AD9099C02 /* SwiftSupport */, ); - name = SwiftSupport; + name = iOSSnapshotTestCase; + path = iOSSnapshotTestCase; + sourceTree = ""; + }; + 1A45DF9CA3BB4307BFD63259EBC30A9A /* Nimble-Snapshots */ = { + isa = PBXGroup; + children = ( + 648739F142CF2C09F094C4364482558B /* Core */, + 9A0C94EC4E882ECF2AFF37CD715089BB /* Support Files */, + ); + name = "Nimble-Snapshots"; + path = "Nimble-Snapshots"; sourceTree = ""; }; - 17267D03DB12DBA76FFCED436F8FB69C /* Core */ = { + 260C5FD31CE0263F960F4A9E0F9EBB75 /* Core */ = { isa = PBXGroup; children = ( - C02C838B479DA9D87C0BC24B928E4F77 /* FBSnapshotTestCase.h */, - 00832869E480C76DBB84AD058AD3FAD4 /* FBSnapshotTestCase.m */, - 95CF3B768CC069318D8B60885DD3C51A /* FBSnapshotTestCasePlatform.h */, - 1971ED6C7EABA1D1BA2B761111C6BD1F /* FBSnapshotTestCasePlatform.m */, - C7AC2B5C91F1168A8A52F374A958077D /* FBSnapshotTestController.h */, - 1096B98C859D3A8CE6DD4D5C37498A9B /* FBSnapshotTestController.m */, - C92609FA3F628802C76D980E12A94585 /* UIApplication+StrictKeyWindow.h */, - 04A849C1EFF157DA59BD6EB71A45887B /* UIApplication+StrictKeyWindow.m */, - BC215521BB1EC60C90136D00C8AAA7E7 /* UIImage+Compare.h */, - 9F3939E47B03A04CCEE11831F7FA276A /* UIImage+Compare.m */, - 3329BC5315878028FED0ED21139E578D /* UIImage+Diff.h */, - 3D9ACD42F0FDA5E2CBE9F70295667345 /* UIImage+Diff.m */, - D084B35C6886DCE7C84D454491B35846 /* UIImage+Snapshot.h */, - 928FD352260FA47317B599D7FB011FCC /* UIImage+Snapshot.m */, + ABA9A50C0077C5F4EECC113E46C6D41F /* FBSnapshotTestCase.h */, + A2BA45ED5441C69F43D998995C1E44F7 /* FBSnapshotTestCase.m */, + 6CB95BAD1D18A44B5DEFE339877AFBFB /* FBSnapshotTestCasePlatform.h */, + E4113E832A34587810432A2E8280FBB2 /* FBSnapshotTestCasePlatform.m */, + 1E3A20086756A500F8046735520B8185 /* FBSnapshotTestController.h */, + 83F616ABF875692A1B893061A6DF0677 /* FBSnapshotTestController.m */, + 97389060151A2A0432DC7E32BC98537A /* UIImage+Compare.h */, + 060B9409813D285EFD77CF77B4CDE509 /* UIImage+Compare.m */, + 1946D4C97FF72F772753BEFD53A8A572 /* UIImage+Diff.h */, + 35564388437BF672543E79471CDC287E /* UIImage+Diff.m */, + 25595D5089B0C7FDDE17CB0EB174A58D /* UIImage+Snapshot.h */, + 849C54FB99D27CD7653267C08F392E72 /* UIImage+Snapshot.m */, ); name = Core; sourceTree = ""; }; - 1BFA43C2F2DF3F1ECD20CA84B3673430 /* Nimble-Snapshots */ = { + 26EBB4E7661031EC124E2CDC6C21F6B8 /* Products */ = { isa = PBXGroup; children = ( - 8263684E02E024756DBB59B2F23416A8 /* Core */, - F92DB25826C1C4DC0CC15630004C3310 /* Support Files */, + B91B00F8BE943329D633234BD67AE0AC /* FBSnapshotTestCase.framework */, + BAE263041362D074978BB3B577DF0A05 /* Nimble.framework */, + 52C1B30CC4697E1933141720223103BC /* Nimble_Snapshots.framework */, + 24D09813D68CEB71269C1F50B2B5A411 /* Pods_StyledText_Example.framework */, + B8645FA8AD23516E7F974664129616DC /* Pods_StyledText_Tests.framework */, + 0D631E9908483F9525A6B3F36F16CC61 /* Quick.framework */, + D4D6A956830F3173273B7FE765DB2320 /* StyledText.framework */, ); - path = "Nimble-Snapshots"; + name = Products; sourceTree = ""; }; 2F439AEC6253322440C73BF9FBADE2AE /* iOS */ = { @@ -635,23 +589,34 @@ name = iOS; sourceTree = ""; }; - 30CD47707D4EA1E2F69422552C71ED74 /* Core */ = { + 31A06AEC0EF60D407CCEF7468B0C8EEC /* Support Files */ = { isa = PBXGroup; children = ( - CE8B5A37E4E06570F40F9B430D628CFE /* FBSnapshotTestCase.h */, - 22CD40159D6C997342E35B580EEF96CA /* FBSnapshotTestCase.m */, - 3C2F984A0D1A6663D8358FB74616C0EF /* FBSnapshotTestCasePlatform.h */, - C2DAD5B94EEFEE829E704529A73E31B0 /* FBSnapshotTestCasePlatform.m */, - 13FD88F3D38EBF44F986FF408383047F /* FBSnapshotTestController.h */, - D6E97B6D373A3D03F97FD7A3CE86FA22 /* FBSnapshotTestController.m */, - CB769D9B2B743149BE634D411B836ABA /* UIImage+Compare.h */, - C3FFC9516B323D99D2C7DF20BD5B8985 /* UIImage+Compare.m */, - F4297F167A1464F0E9B512FB9AE8B365 /* UIImage+Diff.h */, - F3344FBD5845A5702EB1D9E31F146C7E /* UIImage+Diff.m */, - 995DAB18CD52B258DCD728CE7A2FCA55 /* UIImage+Snapshot.h */, - DEDD6AAB634A73F9A31003EA05C8E872 /* UIImage+Snapshot.m */, + 44BB1BB142DF99EC623B598EBEF36D8A /* Quick.modulemap */, + A52436417166E0515C5F31EAA391FD32 /* Quick-dummy.m */, + 6C8E38F40C0999C2C7E00138E57B3194 /* Quick-Info.plist */, + 0D787F825BC06DA3877C96AFFAB392F8 /* Quick-prefix.pch */, + 8D9019FC72997AC85F32123652AD4E15 /* Quick-umbrella.h */, + 3021AEA3B3D2FA8FBD2C4F6309412A9F /* Quick.debug.xcconfig */, + 15A84F1025B8E8E5246E0654DAF8C168 /* Quick.release.xcconfig */, ); - name = Core; + name = "Support Files"; + path = "../Target Support Files/Quick"; + sourceTree = ""; + }; + 44274676EE5D52B2685BBA888E17B309 /* Support Files */ = { + isa = PBXGroup; + children = ( + A2A358CF6DFCD46437AC4093EDDE1024 /* Nimble.modulemap */, + 9810CC4E143491676FF281F5C16432EE /* Nimble-dummy.m */, + CDD9842C771EEB1AB20CD035BACB5265 /* Nimble-Info.plist */, + 28E4365D7D3C1AD3275047D89CE8EAC5 /* Nimble-prefix.pch */, + F5DA74F2268147937B6D3259AB769A8A /* Nimble-umbrella.h */, + 45F576FF77A242929D7E9783D6C9AE47 /* Nimble.debug.xcconfig */, + CE3513D7582110817468E6FA307AD5EB /* Nimble.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/Nimble"; sourceTree = ""; }; 4D870060BB9BF30D70777F5218486065 /* StyledText */ = { @@ -671,107 +636,30 @@ path = ../..; sourceTree = ""; }; - 5028E4C16F3CAABA3D9A29A7278B5799 /* Products */ = { - isa = PBXGroup; - children = ( - B91B00F8BE943329D633234BD67AE0AC /* FBSnapshotTestCase.framework */, - 5C4F31330DFA99D699E4BDC8C3573D73 /* FBSnapshotTestCase.framework */, - BAE263041362D074978BB3B577DF0A05 /* Nimble.framework */, - 52C1B30CC4697E1933141720223103BC /* Nimble_Snapshots.framework */, - 24D09813D68CEB71269C1F50B2B5A411 /* Pods_StyledText_Example.framework */, - B8645FA8AD23516E7F974664129616DC /* Pods_StyledText_Tests.framework */, - 0D631E9908483F9525A6B3F36F16CC61 /* Quick.framework */, - D4D6A956830F3173273B7FE765DB2320 /* StyledText.framework */, - ); - name = Products; - sourceTree = ""; - }; - 53904D611B26BC8CC160D19E7254EC88 /* FBSnapshotTestCase */ = { + 648739F142CF2C09F094C4364482558B /* Core */ = { isa = PBXGroup; children = ( - 17267D03DB12DBA76FFCED436F8FB69C /* Core */, - DB9AC09B7DCD333DAF8AEBDA48448417 /* Support Files */, - ECB89522438DF884F9D243901F37D579 /* SwiftSupport */, + 7300A4BED21A2443F94C8213190B5EFA /* CurrentTestCaseTracker.swift */, + FFF5AFCC82D5982C7BDE5AF6F164BE1A /* DynamicSizeSnapshot.swift */, + E2E9EA6B3818D6D3663BB3FCB400FE7F /* HaveValidDynamicTypeSnapshot.swift */, + 21099B3A812D79405F5DAD9F5A04D01E /* HaveValidSnapshot.swift */, + FFBC4A9F8C968FE82A9F2FCB275B29DD /* NBSMockedApplication.h */, + A06059ADF39C1ADBC9C2A5C4B9EB554D /* NBSMockedApplication.m */, + BB6EC39CBFE50D195B12ABC32E499302 /* Nimble_Snapshots.h */, + AB6F865D573F861854A32CDA44E34BA0 /* PrettyDynamicTypeSyntax.swift */, + 0F95F6A526D3DF705FFAF854981B1452 /* PrettySyntax.swift */, + 3F137A96B9257016E0D9451D24756E63 /* XCTestObservationCenter+CurrentTestCaseTracker.h */, + D27F7E1AE8B439D7FB8B81DCBC9166EC /* XCTestObservationCenter+CurrentTestCaseTracker.m */, ); - path = FBSnapshotTestCase; + name = Core; sourceTree = ""; }; - 6477D6D60AE4B3407B604B96112C4501 /* Nimble */ = { + 64B29B44BCAD69135F1DEA7AD9099C02 /* SwiftSupport */ = { isa = PBXGroup; children = ( - 4785A7BD94236F4EA146D476A2ACDE49 /* AdapterProtocols.swift */, - 27DD284FA901FCAB014FD00EFC244700 /* AllPass.swift */, - CF61252BE76F896DED85A94C63847A18 /* AssertionDispatcher.swift */, - C2C3826454A477CDC393DFD224763243 /* AssertionRecorder.swift */, - 282B93AAD29C720659C46A9512E2FF39 /* Async.swift */, - 10D951E4943C47039EF9F0EC0612C7D6 /* Await.swift */, - 36B199CE95E97FAF14044C5C5429512F /* BeAKindOf.swift */, - F19B22264F3D313DE666984005B288CB /* BeAnInstanceOf.swift */, - E288CD9E15B6CFB53B3C6B8A022C385F /* BeCloseTo.swift */, - A3C93A37228E1C9ECC325A73FC2D1452 /* BeEmpty.swift */, - DE4471BBDE617986FF64CCCC1858BD4E /* BeginWith.swift */, - 4E02C503602DC755FE67F0C4FB9D2A7F /* BeGreaterThan.swift */, - 9D3E5D96225DED077D3EF966D01C9C14 /* BeGreaterThanOrEqualTo.swift */, - 4018085C58D26AF5FD02154991BDE8B7 /* BeIdenticalTo.swift */, - 77AC9827A3F86EF2AF3E5FD99D17BE6F /* BeLessThan.swift */, - B11690633C49BCECBD572913D98D9387 /* BeLessThanOrEqual.swift */, - 5DF262DB0DC90A8FC65E082DDABB28A7 /* BeLogical.swift */, - BE72C6C9AE05756D447D927B8599A9A9 /* BeNil.swift */, - C5C208198589C9A5A8D427AC4D0D3974 /* BeVoid.swift */, - 8ED0881801DF0E361DB94D9F5FB0922A /* Contain.swift */, - 67EBE1E3FE91179FC4FB238EF1D0FD2F /* ContainElementSatisfying.swift */, - 170C4E1A0FB1524E80D7647AED2B21E7 /* CwlBadInstructionException.swift */, - 7E66836C99A6034B5527AFD5E0A407C6 /* CwlCatchBadInstruction.swift */, - D885C25D6129701085FDABB4606047D5 /* CwlCatchException.h */, - 21D4822AF805EE4755B2097B0C2F0935 /* CwlCatchException.m */, - 10476AB6B6D82C5D04171DFB2F043C6E /* CwlCatchException.swift */, - 820D38D8EE6A6451C76FFC43FD73CCC7 /* CwlDarwinDefinitions.swift */, - 3E25220F85BB2A30FE1363A85705CBDD /* CwlMachBadInstructionHandler.h */, - 3B75D24DF2274E73658317C1F4C084C4 /* CwlMachBadInstructionHandler.m */, - 7303B9484DF95EADC676574D3BF05344 /* CwlPreconditionTesting.h */, - 32742AFE076B4A882E97EBEB3ADA8D6F /* DSL.h */, - EE88AACEFE6D10B5B9D95F9DECDFE3C6 /* DSL.m */, - EE2BA2655B28BCD5D3CA0D8A5F49F44E /* DSL.swift */, - BCAEA8B9C02FCAF65860369371BD356B /* DSL+Wait.swift */, - A20E4CFBCDE6C12F0E217FA52C09D342 /* ElementsEqual.swift */, - B36AFF643D999732F2CB2654CA2E4952 /* EndWith.swift */, - DC129BDCD479793877F0EE43BCB93B05 /* Equal.swift */, - 86F31DDBF314B458CC718548636CA71F /* Errors.swift */, - 5A5517971FCF5D6E93A5DC75B4AFBD47 /* Expectation.swift */, - AA7E8F691F413315915F2FAC01EBFB0E /* ExpectationMessage.swift */, - 6DE16502B1A0089F2A8B489A5A1B9B9A /* Expression.swift */, - 61D1ED503171C9E34795C28630C79553 /* FailureMessage.swift */, - DF70696FD648BCFC705B58352C886EDA /* Functional.swift */, - 75A1B22DCD492D4627DC014F7C2766E5 /* HaveCount.swift */, - AA0BAE4448AD0D24984DA6B1792907A9 /* mach_excServer.c */, - B8463D6B4FEE37F049D267A6BB6BB429 /* mach_excServer.h */, - DECB05C01F82D94232FBF570CDAD6647 /* Match.swift */, - DA44B3F730848082AA9F1D9E591D5EB2 /* MatcherFunc.swift */, - 64CD1CB40F72876DE2A4A6419F80A00F /* MatcherProtocols.swift */, - 1C5F8AAEDCC146CA200C4254AAC23C5E /* MatchError.swift */, - E4B2BC5F009FC51A71D0D45F7D87220E /* Nimble.h */, - BA30C4723D1C6AFDAF11A4E6D301E4EA /* NimbleEnvironment.swift */, - 28647D71540442E83491CCA7ABD942A4 /* NimbleXCTestHandler.swift */, - 221F59BFBF9F3B79DCE086640939A88E /* NMBExceptionCapture.h */, - C87789E8424FC4060FB3A449A673D711 /* NMBExceptionCapture.m */, - 248D10BF9B49F97E0B49D6D09B3777FE /* NMBExpectation.swift */, - 75337034950776B7AE14F83FB1DD53E5 /* NMBObjCMatcher.swift */, - 9AD7B08DA5EEDFE5245C3550B707E1A3 /* NMBStringify.h */, - BABDF32E71466F4CB09A66D8FAF8EC7B /* NMBStringify.m */, - 90D71B3DC97F41D5C97B183F006CD500 /* PostNotification.swift */, - EBAD2BDA1FEC753971BD0B05271F168E /* Predicate.swift */, - 27DA3F33D705182CC11A03E86830F6A1 /* RaisesException.swift */, - E1AB3D3E1F075E5808F34442D0AA4303 /* SatisfyAllOf.swift */, - 756C528F11958D81E8CC1113978AC556 /* SatisfyAnyOf.swift */, - 08D39B07B845B5BF2AAE7AA6956A77D1 /* SourceLocation.swift */, - 2736EA742D5B0B34C12161B845B4EBF8 /* Stringers.swift */, - 800C09AB4F1564BCEADB2508345BDEB9 /* ThrowAssertion.swift */, - 23D568D4EF62C9A9ED6CFD847B302079 /* ThrowError.swift */, - 031A28C7532888301C0D7CDFCAB9AD14 /* ToSucceed.swift */, - 1F6EF2C285BF926EBB95897E34E7FFF2 /* XCTestObservationCenter+Register.m */, - 81F668A2500DCE7D3FAA5BCC79A1735C /* Support Files */, + EE8457174445D379830D8F3646D79BA1 /* SwiftSupport.swift */, ); - path = Nimble; + name = SwiftSupport; sourceTree = ""; }; 6843EA588AF3B38D6B98B55132793D88 /* Support Files */ = { @@ -789,52 +677,15 @@ path = "Example/Pods/Target Support Files/StyledText"; sourceTree = ""; }; - 731304FC2CEE96E8C79A01EBC83FD843 /* Support Files */ = { - isa = PBXGroup; - children = ( - F6BC052D44097F7EED5FB14C89852CA5 /* Quick.modulemap */, - 6450A2F713873B3028909262AD2AA428 /* Quick-dummy.m */, - 96E654233A23C1D1699A4ACC94C8452B /* Quick-Info.plist */, - 3D9B78B20EB30156B24F2DD6C4F1A4A1 /* Quick-prefix.pch */, - 97F89ADED4A11991F76BBE0B3BE0342C /* Quick-umbrella.h */, - 27A2A860C6FCF07037FD83ED9A3F3F10 /* Quick.debug.xcconfig */, - 1CE81EAB18DF1F9D8104534D8C659A83 /* Quick.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/Quick"; - sourceTree = ""; - }; - 81F668A2500DCE7D3FAA5BCC79A1735C /* Support Files */ = { - isa = PBXGroup; - children = ( - B71F16E6C18131F11E69BE2B9D5635A3 /* Nimble.modulemap */, - 0A213E348D2F1F809E77DCA9D79900BE /* Nimble-dummy.m */, - 369B964522C41E19E9549B887578F369 /* Nimble-Info.plist */, - 478CE23E6DA813E6B943BBC65307D0A8 /* Nimble-prefix.pch */, - 2E34E16E9D1B3311284744BAFED6604E /* Nimble-umbrella.h */, - 2059C148205460F442DCFD88481819AB /* Nimble.debug.xcconfig */, - BE8FE45A5550F2344CEFB92134E72DFD /* Nimble.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/Nimble"; - sourceTree = ""; - }; - 8263684E02E024756DBB59B2F23416A8 /* Core */ = { + 7AC65365BA8ADCD886926935747E9C60 /* Pods */ = { isa = PBXGroup; children = ( - 87D177AA928246E37A081EE075265541 /* CurrentTestCaseTracker.swift */, - 832F04544C8E99B5AF42D30F4426E9F2 /* DynamicSizeSnapshot.swift */, - DA96AE05FB7BBE396C35F5D30B5A4E96 /* HaveValidDynamicTypeSnapshot.swift */, - B745139304C7CDA08C674FE68C3B9BC1 /* HaveValidSnapshot.swift */, - 16A3A8D9D7511362E4B610EC1508B466 /* NBSMockedApplication.h */, - 543E8B9014E1EFD35412C772C6F225F2 /* NBSMockedApplication.m */, - 9B5724B71AEE25862063B59E66F4BF61 /* Nimble_Snapshots.h */, - 1BD77283BDFFF01672C8E4ABB11E7309 /* PrettyDynamicTypeSyntax.swift */, - 7A6AEE65279ABD74253538A493F93C15 /* PrettySyntax.swift */, - B746E3CA514C286129DD14E63D92F631 /* XCTestObservationCenter+CurrentTestCaseTracker.h */, - 1D31D44BA8136F4B1BED16A2F02C5502 /* XCTestObservationCenter+CurrentTestCaseTracker.m */, + 151C57E269E91EF0BA300BBB210EEA08 /* iOSSnapshotTestCase */, + F889CD7C324BCBD184CBAD26150ACB5E /* Nimble */, + 1A45DF9CA3BB4307BFD63259EBC30A9A /* Nimble-Snapshots */, + B059106979BE87C564D4483459E50501 /* Quick */, ); - name = Core; + name = Pods; sourceTree = ""; }; 8F20CE1B35AB947A87869E60DCC8AAEB /* Pods-StyledText_Tests */ = { @@ -854,19 +705,19 @@ path = "Target Support Files/Pods-StyledText_Tests"; sourceTree = ""; }; - 92D239BBBE92E59D068D6BE2AF04A44E /* Support Files */ = { + 9A0C94EC4E882ECF2AFF37CD715089BB /* Support Files */ = { isa = PBXGroup; children = ( - 2821555F8556D99C87BB6D70FB3B887F /* iOSSnapshotTestCase.modulemap */, - 2D6998C6EA66CAD972E848F584B200A4 /* iOSSnapshotTestCase-dummy.m */, - B58555BB4BE99A0FF6F7BFACE1580603 /* iOSSnapshotTestCase-Info.plist */, - CEA1C552AF2358323833420270401208 /* iOSSnapshotTestCase-prefix.pch */, - 4F61484E938FC64965DF8C00269C871A /* iOSSnapshotTestCase-umbrella.h */, - 792F7E11A8FCFE14904F29B7AB53B750 /* iOSSnapshotTestCase.debug.xcconfig */, - 4CAE7DB50E0F983D24BB4405E9BDCB42 /* iOSSnapshotTestCase.release.xcconfig */, + 44D16F035CC13D1315E697EC2EF5A158 /* Nimble-Snapshots.modulemap */, + 69C20EEF52DBE6C562A06347CB7CAD0B /* Nimble-Snapshots-dummy.m */, + 4F2E06B0C27FD73B088E2EDB6E6EA177 /* Nimble-Snapshots-Info.plist */, + 265278376D30ED62A1D410D362C4DA15 /* Nimble-Snapshots-prefix.pch */, + 823214BB437475073AD6380CDD9BE2DB /* Nimble-Snapshots-umbrella.h */, + E5DA5D4A4D7C3CD635B7BC24A0012DDD /* Nimble-Snapshots.debug.xcconfig */, + CFEB9A0753416A9A0C7079B83B025B8A /* Nimble-Snapshots.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/iOSSnapshotTestCase"; + path = "../Target Support Files/Nimble-Snapshots"; sourceTree = ""; }; 9B64E10658CCD4E4A6A19813112D14A8 /* Targets Support Files */ = { @@ -878,6 +729,47 @@ name = "Targets Support Files"; sourceTree = ""; }; + B059106979BE87C564D4483459E50501 /* Quick */ = { + isa = PBXGroup; + children = ( + 9BC4B0ED77D2E218907801F4C12890DA /* Behavior.swift */, + A9524C781E2440F3942356936F439D18 /* Callsite.swift */, + 698366958DC6935608D5A2AC1124B24F /* Closures.swift */, + 5D0750DFFA251B58D778E14E60AA38CF /* Configuration.swift */, + B90702A36987A4407C503DAF5EA8BF70 /* DSL.swift */, + 15CE71915C6BE16338CE937C8066A148 /* ErrorUtility.swift */, + B81D5ACA65F2B2871826CC14B0744F52 /* Example.swift */, + 996550147138561F420B418F0C5A633B /* ExampleGroup.swift */, + 621E31A318A51783CF5D776EFBFA25A6 /* ExampleHooks.swift */, + 7B79EC603B4E8EB417F507CDBC4C90E8 /* ExampleMetadata.swift */, + 6AC04239B041B4944B6FBB9C5DC49E97 /* Filter.swift */, + C107EF1AE0303E5F158349466E1553FC /* HooksPhase.swift */, + D86436D8F816DE1A7E01E1547097CE72 /* NSBundle+CurrentTestBundle.swift */, + C5B0AA9191CB3A0D6711FA08729EE0CD /* QCKDSL.h */, + E068EE1DC859745AC9FF716482AE461D /* QCKDSL.m */, + B92890D125C4551D906651D30FD431BE /* Quick.h */, + F3EB8050C124A57011C93309C82F42E9 /* QuickConfiguration.h */, + 03C9D28A513D494A763196171BECC894 /* QuickConfiguration.m */, + C3291F9E8823BE853FDBF39E713BBC8E /* QuickConfiguration.swift */, + ACC4471A2A893B7C123DAC9B52B1C488 /* QuickSelectedTestSuiteBuilder.swift */, + 6B006F01DB3387A08422BAF95887B492 /* QuickSpec.h */, + DC3A0932BB28EEB2EA4B38DE436E8BC5 /* QuickSpec.m */, + E2576AC3CAD25D67A8C5E56CE523F900 /* QuickSpecBase.h */, + BA4254CF1C59658097CD397A1908A07C /* QuickSpecBase.m */, + 873DD83B39F65143143EF2C7EBC2EAD1 /* QuickTestObservation.swift */, + 4C1BEF16996F9ECAEED4AAB6AD383153 /* QuickTestSuite.swift */, + BAB6F2AEF482D688AAD5CBC704A2F250 /* String+C99ExtendedIdentifier.swift */, + A3C1CB16DE6D5A34FC2D39F52E817093 /* SuiteHooks.swift */, + 36C8492F29F48B871868582BA96E335D /* URL+FileName.swift */, + 035E34510146E6A90A078A0293AF484B /* World.swift */, + 570C953BA2A6238E3116EFB0588A46B0 /* World+DSL.swift */, + 5D88D49779B1E347CABA59825D8FF155 /* XCTestSuite+QuickTestSuiteBuilder.m */, + 31A06AEC0EF60D407CCEF7468B0C8EEC /* Support Files */, + ); + name = Quick; + path = Quick; + sourceTree = ""; + }; B1B4096D5753B5293BC3F1EEECFF0B4D /* Pods-StyledText_Example */ = { isa = PBXGroup; children = ( @@ -895,16 +787,19 @@ path = "Target Support Files/Pods-StyledText_Example"; sourceTree = ""; }; - B3F5DDEDECFB0CD3AF9AD5D5F67C7F3F /* Pods */ = { + B7F48E2F8F400463037EC020E9C520D8 /* Support Files */ = { isa = PBXGroup; children = ( - 53904D611B26BC8CC160D19E7254EC88 /* FBSnapshotTestCase */, - ED3090B09AFC52D32C984884D28368AC /* iOSSnapshotTestCase */, - 6477D6D60AE4B3407B604B96112C4501 /* Nimble */, - 1BFA43C2F2DF3F1ECD20CA84B3673430 /* Nimble-Snapshots */, - EBE996A702A293D3F56EA500CF8C5C44 /* Quick */, + C74E490F563150BA55CD0E5083B6FEFF /* iOSSnapshotTestCase.modulemap */, + 48A2A771C0F6CC509080DA21DC76D606 /* iOSSnapshotTestCase-dummy.m */, + 97CDC737044A34867D445AA4C0EF6A6B /* iOSSnapshotTestCase-Info.plist */, + 42DFA1164EFCB4439D339BE020B0BB12 /* iOSSnapshotTestCase-prefix.pch */, + A3FD595A99C854B12B66E0943153110E /* iOSSnapshotTestCase-umbrella.h */, + EC0F7AE49B7DDCB29385C225EF4CF3F1 /* iOSSnapshotTestCase.debug.xcconfig */, + 700FA20DBE1B10DDBA99DC0051B0C309 /* iOSSnapshotTestCase.release.xcconfig */, ); - name = Pods; + name = "Support Files"; + path = "../Target Support Files/iOSSnapshotTestCase"; sourceTree = ""; }; CBCADAC55956C76F0B767C2F56A1B758 /* Frameworks */ = { @@ -923,145 +818,99 @@ 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, 04E19A482701EACC7424E195B87340D1 /* Development Pods */, CBCADAC55956C76F0B767C2F56A1B758 /* Frameworks */, - B3F5DDEDECFB0CD3AF9AD5D5F67C7F3F /* Pods */, - 5028E4C16F3CAABA3D9A29A7278B5799 /* Products */, + 7AC65365BA8ADCD886926935747E9C60 /* Pods */, + 26EBB4E7661031EC124E2CDC6C21F6B8 /* Products */, 9B64E10658CCD4E4A6A19813112D14A8 /* Targets Support Files */, ); sourceTree = ""; }; - DB9AC09B7DCD333DAF8AEBDA48448417 /* Support Files */ = { - isa = PBXGroup; - children = ( - 7AA0304BAB90D0ECD03B2624095DAA82 /* FBSnapshotTestCase.modulemap */, - FBC31F2A015FAE02F6D4F3BDB37F8E60 /* FBSnapshotTestCase-dummy.m */, - 0B6694E91C80480B0DAAD6750A215B71 /* FBSnapshotTestCase-Info.plist */, - 04DB51D85249338340A33A37F3B14CC8 /* FBSnapshotTestCase-prefix.pch */, - 1C9646287AD24D360D504CDFC6271E8B /* FBSnapshotTestCase-umbrella.h */, - F4AB17C7335985CC780771623C19DB91 /* FBSnapshotTestCase.debug.xcconfig */, - 4A57290FFAFFB18CAE5A4F43CFB6E5C0 /* FBSnapshotTestCase.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/FBSnapshotTestCase"; - sourceTree = ""; - }; - EBE996A702A293D3F56EA500CF8C5C44 /* Quick */ = { - isa = PBXGroup; - children = ( - 7A8ED7FBDA9BCEC35FA719E1F40930D5 /* Behavior.swift */, - 091CA31B0A95BC5E12112A8BB41F33E2 /* Callsite.swift */, - 97B5EF051EE75E4D591BCBE7F2147F05 /* Closures.swift */, - 0F8842749959EB75CFBC97264CC7A19B /* Configuration.swift */, - ED6B10B8F12295D008DC954385194128 /* DSL.swift */, - 3C2E26DA34CCA2B3EBAF185B8E9F946B /* ErrorUtility.swift */, - D419F5CCB71712721E4487CF8A10AB4C /* Example.swift */, - C84E188967AC53FEF855F875FF253E27 /* ExampleGroup.swift */, - B63892BFC1B4B8F852DD26675FF2FC12 /* ExampleHooks.swift */, - C55AB72618C2B431DE9FCACCD65B943D /* ExampleMetadata.swift */, - FD1B3CE9A052A52487DD60774BA82376 /* Filter.swift */, - 38A029BD33644B2F87CC02FF24CEF2B1 /* HooksPhase.swift */, - 888DCF2F6DEA8CD62AC0BE7143C84F2C /* NSBundle+CurrentTestBundle.swift */, - BFC3F0CE34BEEDA0FB51C6910AEE5811 /* NSString+C99ExtendedIdentifier.swift */, - 73E5B7BFC466E98F654DBB81438DD318 /* QCKDSL.h */, - 30CFF1798F285AD7690DF7773E2F39C9 /* QCKDSL.m */, - B31BB04F98F6BE0D5790A480EE61081A /* Quick.h */, - 4B9F69C34F551D51D1962F7951A9EF81 /* QuickConfiguration.h */, - 532C2F46C22116ABA22E309056D6458E /* QuickConfiguration.m */, - 98211E90E300CA842AC398D4DA33163F /* QuickSelectedTestSuiteBuilder.swift */, - 4588FC13E7F7E57EC53EFF1479C48B43 /* QuickSpec.h */, - 359559EDDA06792B6BA56E4FB7C00981 /* QuickSpec.m */, - FF14760A13B9994B1EABE4DB9840501A /* QuickSpecBase.h */, - 83EE9D2B1AF416BD18C7FAE3CEAD5470 /* QuickSpecBase.m */, - A99E6A47133AED1341A2C1590E22594C /* QuickTestSuite.swift */, - 30C4BCA6D4B80F53F10C5B3620E27A84 /* SuiteHooks.swift */, - E1233245C027B68CE1BCC18EC2424BA7 /* URL+FileName.swift */, - 4D59FF37755330882EF7356E677CE501 /* World.h */, - 709F19FD7DFBE2C32C4441321777FBD1 /* World.swift */, - 3437ACAC69A9BC0B957BC85F00D46F3B /* World+DSL.h */, - EACA3A093ED9BB7A60633402E9D40E28 /* World+DSL.swift */, - 38BFD03F1F5CFDF9828650C4A20055A6 /* XCTestSuite+QuickTestSuiteBuilder.m */, - 731304FC2CEE96E8C79A01EBC83FD843 /* Support Files */, - ); - path = Quick; - sourceTree = ""; - }; - ECB89522438DF884F9D243901F37D579 /* SwiftSupport */ = { - isa = PBXGroup; - children = ( - 62F45A15F27BDACE995D923F9B65B58A /* SwiftSupport.swift */, - ); - name = SwiftSupport; - sourceTree = ""; - }; - ED3090B09AFC52D32C984884D28368AC /* iOSSnapshotTestCase */ = { - isa = PBXGroup; - children = ( - 30CD47707D4EA1E2F69422552C71ED74 /* Core */, - 92D239BBBE92E59D068D6BE2AF04A44E /* Support Files */, - 11DEE666686ED0DD13CC5C2F2D664ECF /* SwiftSupport */, - ); - path = iOSSnapshotTestCase; - sourceTree = ""; - }; - F92DB25826C1C4DC0CC15630004C3310 /* Support Files */ = { + F889CD7C324BCBD184CBAD26150ACB5E /* Nimble */ = { isa = PBXGroup; children = ( - A1AA68CF746FCFF15B6F04BCD0A0B840 /* Nimble-Snapshots.modulemap */, - 0CEF99E69EAD782AEDD946A6BE58C216 /* Nimble-Snapshots-dummy.m */, - 216C66F5B0631FCEF5DD094DA4F8DEDC /* Nimble-Snapshots-Info.plist */, - B1D25846FC4A41B996B4286648181258 /* Nimble-Snapshots-prefix.pch */, - EE2E3B7C318BECD7BAF6AD9896090ED3 /* Nimble-Snapshots-umbrella.h */, - AE6707881662A476B25D243E206AEA15 /* Nimble-Snapshots.debug.xcconfig */, - 110871CC1CABE4158F42B5A9EE6CCB0D /* Nimble-Snapshots.release.xcconfig */, + 0A0887366A1BEA0CD8A3B000E9BA7705 /* AdapterProtocols.swift */, + A7EA429D9E5076692DD64BE30CDCF846 /* AllPass.swift */, + D8DED670B42A9967846EF662DD1E83FF /* AssertionDispatcher.swift */, + C9B090FACE06D97DC389F5AB0ABE1CED /* AssertionRecorder.swift */, + 18A10C96CC94B79C6F65582F913AE54C /* Async.swift */, + FC969A46E97EAB16729C9B770320256E /* Await.swift */, + 3CF39512C0EB7210E2659D61AC850FF9 /* BeAKindOf.swift */, + D74D93E06DE4E33E564E9F372052BCEA /* BeAnInstanceOf.swift */, + A8FF75F8DB454A4726BC2566463E73A5 /* BeCloseTo.swift */, + B2A9AE94C22AC2B53E027EB2E5D1B02F /* BeEmpty.swift */, + B9160ABF8D2A98F0FEEAA578C57F33B5 /* BeginWith.swift */, + 7DA11FEA42B596B36E38E740F2C402CB /* BeGreaterThan.swift */, + F414BF62DF9495F0F479DB4C362D8B16 /* BeGreaterThanOrEqualTo.swift */, + 95B6C779A417D2690400136E99A0221D /* BeIdenticalTo.swift */, + A4C82A6846C66B0A3704057184557B1D /* BeLessThan.swift */, + 2F251AE1707364F5431A0D768B5B6311 /* BeLessThanOrEqual.swift */, + 9FDB7E4028E2585959E6CF0E8D12E3F8 /* BeLogical.swift */, + AD0B6DCEB9A5D25B4FF90E5F8826145D /* BeNil.swift */, + 004C3834767B2B44F423DEFB5AE0C02E /* BeVoid.swift */, + E4DEEE38754361E817A050F6D8AF9637 /* Contain.swift */, + 0751A496A6A05097EB8C07B669886618 /* ContainElementSatisfying.swift */, + 2697698D59A1BD0B6AFE98D1B1081B8D /* CwlBadInstructionException.swift */, + 0A32716BB8DC40EB09F91DDAC300E0BE /* CwlCatchBadInstruction.swift */, + AC2D34E58EC07DA65CE887853E5EC4EC /* CwlCatchException.h */, + 9409C0B3600E2BD1F9B9BEC3D181B8A3 /* CwlCatchException.m */, + E27161DF57DC7FE81ED74BFD4473B311 /* CwlCatchException.swift */, + 22016A00EDECC7ECB820A382AED90EEB /* CwlDarwinDefinitions.swift */, + C7D0B43188FFBB40D6C02C9DD5618681 /* CwlMachBadInstructionHandler.h */, + D85E8C8B45913AB5537B178C9750F126 /* CwlMachBadInstructionHandler.m */, + 6F38B1236C479F83E22B3E05A2673834 /* CwlPreconditionTesting.h */, + 27F0BDDA52DD5F68726D31978E0FB4BF /* DSL.h */, + AFB4F9E9DFA8A094DC84C80495AA1FBD /* DSL.m */, + 040F136FD8222B1A3B2FD28DD750CEF8 /* DSL.swift */, + 55C1DA629049424DC91675887D9F68A7 /* DSL+Wait.swift */, + F1AA4C77433E4419B8E52DD4BE31C5DA /* ElementsEqual.swift */, + 6DEA02BA580AFE76B269F8D10ED807AE /* EndWith.swift */, + 96B61CDAAA97B0861F2E52B76ABE5540 /* Equal.swift */, + 84648FAD4E02F4D8929320E2B7DECAC6 /* Errors.swift */, + B50A472314EC0A3E678A65FC57D8153E /* Expectation.swift */, + 80F1EC01269D1E7D4B5E1C9C77B61D96 /* ExpectationMessage.swift */, + E9E814449EE59FCEFB666D932CCE1A15 /* Expression.swift */, + 9F1012F5D8CD6359B797D4CC8EC02030 /* FailureMessage.swift */, + CEC8CEF961CFDF78AB3495291E54451B /* Functional.swift */, + 83D4073902C0D4FAE9F3C67F83D9F377 /* HaveCount.swift */, + 9EDB30106ECB5FC688529F61427E6BB6 /* mach_excServer.c */, + 9D7A8AAE16A29455D88A96E1CAD77620 /* mach_excServer.h */, + A9C82F3CCF156093E1AE5DB33A783814 /* Match.swift */, + D8C7F742D91EA9171A992AA4625653D7 /* MatcherFunc.swift */, + 50B8761C6DBCF44247E7E2B04C96D9A1 /* MatcherProtocols.swift */, + 037B0A8291396D89D4F77E07627C0F83 /* MatchError.swift */, + FFEDBAF0A120E7BFE35F22CC94F950D4 /* Nimble.h */, + DE66AB9F82502D8BE282BEE7AC1E8875 /* NimbleEnvironment.swift */, + FEF1DF655526BAF961DC5768E7BD299F /* NimbleXCTestHandler.swift */, + 8B4E5AB2AD401A4BE4029EBFC9414BFF /* NMBExceptionCapture.h */, + 8691C6C8A7926D7CFB296501EF10D354 /* NMBExceptionCapture.m */, + 161AC9213271CA5922941E6C0BCB4A08 /* NMBExpectation.swift */, + 02DCC4A06320B61568FCFDB07F80ACE1 /* NMBObjCMatcher.swift */, + F79D928FCE468BDD0F8CBEE4772504B2 /* NMBStringify.h */, + FBF3CEA309332EB156B3E2D0B6324309 /* NMBStringify.m */, + B0399FD3EE0287676D4AD9833E0CE64F /* PostNotification.swift */, + 4C9C510B2F82EADBBFD6DAFA22022585 /* Predicate.swift */, + DACB8F2E57FC1515881908D07D0480B3 /* RaisesException.swift */, + 6528F98FB950E84C26B66EC74F7D71CB /* SatisfyAllOf.swift */, + B568D920744DD63B95FAA242837337DB /* SatisfyAnyOf.swift */, + FC64EFB3EBDEA8C55E73C2EB0A441B22 /* SourceLocation.swift */, + B8B2626771DA97CBA4EA15E42DC05A95 /* Stringers.swift */, + A040413F7F6ABBB7B3AC7488F7EE6EBB /* ThrowAssertion.swift */, + 9C1708326A921C5C6AA5D9AF148144F8 /* ThrowError.swift */, + 09FF27E8AE4DB657873D5D0A66EEF77E /* ToSucceed.swift */, + 85D2330D99C6E45F227FFC0718C22D9D /* XCTestObservationCenter+Register.m */, + 44274676EE5D52B2685BBA888E17B309 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/Nimble-Snapshots"; + name = Nimble; + path = Nimble; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 170DD7841EAB87C3BB031883F386BAC8 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 3D9143D80C7867629C19ADCFD3086CBA /* FBSnapshotTestCase.h in Headers */, - 33F3D6D33A64FCE3417538DF0CC6BF64 /* FBSnapshotTestCasePlatform.h in Headers */, - 14A94253562A978A55E5A7CE62FAC108 /* FBSnapshotTestController.h in Headers */, - 88DAA80CCAE48DDE7693D93D9ECD7E01 /* iOSSnapshotTestCase-umbrella.h in Headers */, - 610D6EC1202EB3B04500DD44B66A9DB1 /* UIImage+Compare.h in Headers */, - EBF72E2425380C4EE843419B62C4ABC4 /* UIImage+Diff.h in Headers */, - 3EA08EB6F673D8876FE9A2CDB31275DC /* UIImage+Snapshot.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 27FBB7259F12AD06B81B7B5879FD7866 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 03C0BA55217336E3053CE514F8E880FD /* Pods-StyledText_Example-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 384DE8A8021C5DA5E256BCFEC3D478A9 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - F720FAF13A108CE6901E0A8B0580E1E8 /* FBSnapshotTestCase-umbrella.h in Headers */, - 00224C929D57F45B70E87359E719948D /* FBSnapshotTestCase.h in Headers */, - C49D52712466511E332C952834C81FE1 /* FBSnapshotTestCasePlatform.h in Headers */, - 90142C6259374E18E640396A59AD379A /* FBSnapshotTestController.h in Headers */, - 40039E0AF0D764360B1D4FC4F7950D2E /* UIApplication+StrictKeyWindow.h in Headers */, - F1AAAE00BB32B733B238E2B4E8424506 /* UIImage+Compare.h in Headers */, - D04AAC8B22E4A4DC4F39891C4E52F251 /* UIImage+Diff.h in Headers */, - B74CD6E6EBEA0B642776BCB37850415D /* UIImage+Snapshot.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3C308AA4A8F94E3CA4FBABB6B0200A12 /* Headers */ = { + 50AE2ED9AA00EA62A9861C1E9A44F03C /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E9C86DA18E95A3E7935363BFA47B5F7D /* Pods-StyledText_Tests-umbrella.h in Headers */, + 43229D9C99662499BAA1E3484BD51DB7 /* Pods-StyledText_Tests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1081,18 +930,16 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 67B7E45EF26DA17E8A8B670023D6107A /* Headers */ = { + 789BF2A9515D75DE2B2453A4B5637A9D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 8D16EAB20CD849E7DC1B1EDCEF61067D /* QCKDSL.h in Headers */, - CEB0B57C65304E1E2A8C70B2A3FC7A6B /* Quick-umbrella.h in Headers */, - F93310609CA1D35157D85EFAB3808763 /* Quick.h in Headers */, - 11EDFDE1BC5494E14D6F81320FE3925F /* QuickConfiguration.h in Headers */, - 3D317145F0CA3D74E737AB0B919AB6E9 /* QuickSpec.h in Headers */, - BEDC36DEA21352A0F346A2513EE0540E /* QuickSpecBase.h in Headers */, - 0683FC9DDCAB80660BD11E7159607DB6 /* World+DSL.h in Headers */, - 5A49B2C87AABFAED124DE8DDCC2FEAA1 /* World.h in Headers */, + 1A8DF79F5EF3D69864A84173E7C9810E /* QCKDSL.h in Headers */, + 8E4A2F4A1EF16B63817A516CC2743619 /* Quick-umbrella.h in Headers */, + 10C8810E574F925B5CD3449B6DBE6EC0 /* Quick.h in Headers */, + BFEBC90223F66B0FF770B92B1C670BCF /* QuickConfiguration.h in Headers */, + 7EB28FEC3D0ABA1A2A6CFE57C400F74D /* QuickSpec.h in Headers */, + 76E7C7CDAA543C791A714B991F595F2B /* QuickSpecBase.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1104,14 +951,36 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - F27510CA4B1C37BB242ADE4EB8B6BA11 /* Headers */ = { + D50AD1A0FE4B11B36682268FBB85372A /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + A29619C12C64B536E8E91E1D8F4EA1E0 /* NBSMockedApplication.h in Headers */, + 19BE484FBF9788D950C5F0F58E76168C /* Nimble-Snapshots-umbrella.h in Headers */, + 15A736854C06BE8BD030797A7122D98B /* Nimble_Snapshots.h in Headers */, + 397F8F8200C5201681E45A3A308FB09C /* XCTestObservationCenter+CurrentTestCaseTracker.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E5D6982BAEFCD6F0923E26B61B3141DC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 4F1404FF2C99BA11E57980D7EB696D57 /* Pods-StyledText_Example-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F0D509D8679787314D3249B1E4BF8BD8 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - B4CE2BADD0EA88CC09F3A9B05E2C0A0E /* NBSMockedApplication.h in Headers */, - 0C091B7E293E5115646EE277C809E91A /* Nimble-Snapshots-umbrella.h in Headers */, - 32DF30CA07145B105E1F456EB3459623 /* Nimble_Snapshots.h in Headers */, - 8FC6C180807249B2D0654E9D6EFF736E /* XCTestObservationCenter+CurrentTestCaseTracker.h in Headers */, + 812937E2E121B94525810D18A5EA06B4 /* FBSnapshotTestCase.h in Headers */, + B13D9477F6901EE1619FA527910C9E55 /* FBSnapshotTestCasePlatform.h in Headers */, + C61962778E73144801F86C61C1D6C392 /* FBSnapshotTestController.h in Headers */, + D92BCED3106FC640EC43DA7012092AE1 /* iOSSnapshotTestCase-umbrella.h in Headers */, + 822CDF6CD6A9304707F2280B23F9A7DB /* UIImage+Compare.h in Headers */, + 8DC01045AC421ECC21348F2B1664640D /* UIImage+Diff.h in Headers */, + 82D181F8DB6FBF06C77BAA3BF47ACFBB /* UIImage+Snapshot.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1120,17 +989,17 @@ /* Begin PBXNativeTarget section */ 034C948C972057A8D4790D3F8C019319 /* Pods-StyledText_Example */ = { isa = PBXNativeTarget; - buildConfigurationList = B86750F21414E9D69E2E8C711AE641BD /* Build configuration list for PBXNativeTarget "Pods-StyledText_Example" */; + buildConfigurationList = DE1BAF750B03C7E76D5BA5EBA77558F8 /* Build configuration list for PBXNativeTarget "Pods-StyledText_Example" */; buildPhases = ( - 27FBB7259F12AD06B81B7B5879FD7866 /* Headers */, - 59BF53FC7E3623BFFCD9E4074FE864CF /* Sources */, - 2B02DE39DA67E24238677D9850083C8A /* Frameworks */, - 0858B751F6455EA6FA4B286C43166D87 /* Resources */, + E5D6982BAEFCD6F0923E26B61B3141DC /* Headers */, + 109401716B1AEC76B29F7EBDD9B8EF12 /* Sources */, + 664CFDBE73205468E132AC481E2EA271 /* Frameworks */, + 3CCA5C866E95E8C913C5BB57D1A1D8A5 /* Resources */, ); buildRules = ( ); dependencies = ( - 7C33CCDA77B38E64706398B8F224C03D /* PBXTargetDependency */, + C69EC0A6B8E73A08DAF531A4D4932B50 /* PBXTargetDependency */, ); name = "Pods-StyledText_Example"; productName = "Pods-StyledText_Example"; @@ -1175,54 +1044,35 @@ }; 7F5027B9DC948837BBD5A5B3811AE6A0 /* Pods-StyledText_Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = D9ECF86824902E26E3136A32F0F2676F /* Build configuration list for PBXNativeTarget "Pods-StyledText_Tests" */; + buildConfigurationList = 665B044B60B7800E647B0FCCAEE438F1 /* Build configuration list for PBXNativeTarget "Pods-StyledText_Tests" */; buildPhases = ( - 3C308AA4A8F94E3CA4FBABB6B0200A12 /* Headers */, - A7BCD4784F80CD9DD9E0437ECCA881BF /* Sources */, - 0C728B6C9A216E836740DA9B24398D9A /* Frameworks */, - 0CBA6B05393944E484BDDA306EEB422A /* Resources */, + 50AE2ED9AA00EA62A9861C1E9A44F03C /* Headers */, + 61E08BF853B44E9E25C93134A13C140D /* Sources */, + B25B1D32D86BA1FF4D75AB37ED872F05 /* Frameworks */, + 8BE5B7F6CC251AB9B347E5B7F4ED6194 /* Resources */, ); buildRules = ( ); dependencies = ( - E56C81A4F9907283FD8AAF5DDDF99EA5 /* PBXTargetDependency */, - 8716B575B56AA8267449FFF36263734E /* PBXTargetDependency */, - C065E3AD9B96886074FF616211840403 /* PBXTargetDependency */, - 9FA5B4868FEEBC9131DDF9D2AB0DD393 /* PBXTargetDependency */, - 8006B8FB42D99CC97611FCF6870D9E75 /* PBXTargetDependency */, - 0642526D42DA02C4D5A21DD2740628FE /* PBXTargetDependency */, + 8CD2C902FD5C55F6096D0C81889CF886 /* PBXTargetDependency */, + 7EBED53304A9F0AB1E2B81C776056BD2 /* PBXTargetDependency */, + 08D1F4281A68B5400E7146CAEC11CA01 /* PBXTargetDependency */, + 35954BC5E9997D8A50FED2AA3B1759CC /* PBXTargetDependency */, + CBA9E66818D03D33E33C387F876A656B /* PBXTargetDependency */, ); name = "Pods-StyledText_Tests"; productName = "Pods-StyledText_Tests"; productReference = B8645FA8AD23516E7F974664129616DC /* Pods_StyledText_Tests.framework */; productType = "com.apple.product-type.framework"; }; - 98A98149697C80CEF8D5772791E92E66 /* FBSnapshotTestCase */ = { - isa = PBXNativeTarget; - buildConfigurationList = A38070E189561F257BBD5A0A55CACCCF /* Build configuration list for PBXNativeTarget "FBSnapshotTestCase" */; - buildPhases = ( - 384DE8A8021C5DA5E256BCFEC3D478A9 /* Headers */, - A48201AC594B2E6B09C0EE0396BC1377 /* Sources */, - E581515110D66F94F80A6937831489A1 /* Frameworks */, - 5CC655F1A6C7A45A9693160581076BAE /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = FBSnapshotTestCase; - productName = FBSnapshotTestCase; - productReference = 5C4F31330DFA99D699E4BDC8C3573D73 /* FBSnapshotTestCase.framework */; - productType = "com.apple.product-type.framework"; - }; C393038B0BEF088C1B93E6528005862D /* iOSSnapshotTestCase */ = { isa = PBXNativeTarget; - buildConfigurationList = 2EDF9A01B577304D410AF6B0BE40149D /* Build configuration list for PBXNativeTarget "iOSSnapshotTestCase" */; + buildConfigurationList = 1BCF2DA7384CC1711611E6FCC46A171F /* Build configuration list for PBXNativeTarget "iOSSnapshotTestCase" */; buildPhases = ( - 170DD7841EAB87C3BB031883F386BAC8 /* Headers */, - C5F02ADBBFEE9A09627F58B784696E3A /* Sources */, - 9DB672DFFA247AC8A9BF7DD49ECD9400 /* Frameworks */, - 20A961A2A340F24A7AD07790DF9ED535 /* Resources */, + F0D509D8679787314D3249B1E4BF8BD8 /* Headers */, + 3B4E1BCF4EFFF09CD91BFA69811DEB16 /* Sources */, + F9562D459AC319258D55691E2B07B305 /* Frameworks */, + D3F86D81C6B10EB5FDB83ED228AEC048 /* Resources */, ); buildRules = ( ); @@ -1235,12 +1085,12 @@ }; C82891EAB7293DBEE916B21F57E8474D /* Quick */ = { isa = PBXNativeTarget; - buildConfigurationList = 7F8539845BD41E830F4E38F3A0390C9D /* Build configuration list for PBXNativeTarget "Quick" */; + buildConfigurationList = 189D56F652B0345CC3E1073543C1B391 /* Build configuration list for PBXNativeTarget "Quick" */; buildPhases = ( - 67B7E45EF26DA17E8A8B670023D6107A /* Headers */, - AFA0452AEF5742A03D9EA8C455BD689B /* Sources */, - 4F7CCDE571CE6AF563671836E654CE1E /* Frameworks */, - 5CD5EF1D5BA26D55B6D8A78B140C2916 /* Resources */, + 789BF2A9515D75DE2B2453A4B5637A9D /* Headers */, + 694205E4C1C5652ABC91AB6B8D119A52 /* Sources */, + 1FB41F3B817F50C08A530AB486E92A06 /* Frameworks */, + 295DA4774C40DBFC844D2E7BA312DE5F /* Resources */, ); buildRules = ( ); @@ -1253,18 +1103,18 @@ }; EE19095A8C98E0BC5774005673495238 /* Nimble-Snapshots */ = { isa = PBXNativeTarget; - buildConfigurationList = 9F7382318C6967C54C2092C61E54E9BB /* Build configuration list for PBXNativeTarget "Nimble-Snapshots" */; + buildConfigurationList = 5A13EE3B769DFB38B4B9A0F82594698A /* Build configuration list for PBXNativeTarget "Nimble-Snapshots" */; buildPhases = ( - F27510CA4B1C37BB242ADE4EB8B6BA11 /* Headers */, - 9FBB6FEE080A1AEDCC4BE9E7247CCD02 /* Sources */, - 646AD24EE5B74793A35B98E8D31081AC /* Frameworks */, - 58607A5AC3CE3F1F956A4AE0502A5583 /* Resources */, + D50AD1A0FE4B11B36682268FBB85372A /* Headers */, + C04326C0FFCFF8F04221A58206FDE29D /* Sources */, + 5ABDEF1BE9BF796A65FDE3CF47B5F454 /* Frameworks */, + E105FFEA506B3BA580AD5943A0E5E135 /* Resources */, ); buildRules = ( ); dependencies = ( - F64CB8EB8A14F600EF7CF1966F3F67E7 /* PBXTargetDependency */, - 6DF10B64F53D3649C53CE3D623344A69 /* PBXTargetDependency */, + C2666B15D025FE934F8EB41C6BA5D0DA /* PBXTargetDependency */, + F4C1B59E585C00A9BDFFD0531D0821E1 /* PBXTargetDependency */, ); name = "Nimble-Snapshots"; productName = "Nimble-Snapshots"; @@ -1289,11 +1139,10 @@ Base, ); mainGroup = CF1408CF629C7361332E53B88F7BD30C; - productRefGroup = 5028E4C16F3CAABA3D9A29A7278B5799 /* Products */; + productRefGroup = 26EBB4E7661031EC124E2CDC6C21F6B8 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 98A98149697C80CEF8D5772791E92E66 /* FBSnapshotTestCase */, C393038B0BEF088C1B93E6528005862D /* iOSSnapshotTestCase */, 6F13695E06195A78EA8A95F8C7ED0D2F /* Nimble */, EE19095A8C98E0BC5774005673495238 /* Nimble-Snapshots */, @@ -1306,49 +1155,42 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 0858B751F6455EA6FA4B286C43166D87 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 0CBA6B05393944E484BDDA306EEB422A /* Resources */ = { + 295DA4774C40DBFC844D2E7BA312DE5F /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 20A961A2A340F24A7AD07790DF9ED535 /* Resources */ = { + 3CCA5C866E95E8C913C5BB57D1A1D8A5 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 58607A5AC3CE3F1F956A4AE0502A5583 /* Resources */ = { + 8BE5B7F6CC251AB9B347E5B7F4ED6194 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 5CC655F1A6C7A45A9693160581076BAE /* Resources */ = { + D3F86D81C6B10EB5FDB83ED228AEC048 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 5CD5EF1D5BA26D55B6D8A78B140C2916 /* Resources */ = { + D7EBE1F47ACC336A60ED6056AF3261E1 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - D7EBE1F47ACC336A60ED6056AF3261E1 /* Resources */ = { + E105FFEA506B3BA580AD5943A0E5E135 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -1365,99 +1207,85 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 59BF53FC7E3623BFFCD9E4074FE864CF /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 705758F52A2D1F3ECE59D027D63B1F91 /* Pods-StyledText_Example-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9FBB6FEE080A1AEDCC4BE9E7247CCD02 /* Sources */ = { + 109401716B1AEC76B29F7EBDD9B8EF12 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A804E6F5F86B3E26663C8A8EFCC0019A /* CurrentTestCaseTracker.swift in Sources */, - 8A8DC42AC071D3F57CC4D206A090C5B6 /* DynamicSizeSnapshot.swift in Sources */, - F6BADA37B8D3F92052CE2BA71E702FAB /* HaveValidDynamicTypeSnapshot.swift in Sources */, - B32EB305A484CF6A32F05B2E5BC13502 /* HaveValidSnapshot.swift in Sources */, - 74A2E7C83AA510B19CBCFDEDF0993DFF /* NBSMockedApplication.m in Sources */, - 1517C401FBD8160B225D9A781C37CB5A /* Nimble-Snapshots-dummy.m in Sources */, - C3BA37BF33BCB5D88108213FEE83D462 /* PrettyDynamicTypeSyntax.swift in Sources */, - BB55A0D6AC131302602D602979ADE914 /* PrettySyntax.swift in Sources */, - 098BFC14C537EA9FAF9C07ADBBC45B52 /* XCTestObservationCenter+CurrentTestCaseTracker.m in Sources */, + 4D0099C93EDDE5969949B92DB8B1CA89 /* Pods-StyledText_Example-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A48201AC594B2E6B09C0EE0396BC1377 /* Sources */ = { + 3B4E1BCF4EFFF09CD91BFA69811DEB16 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6DBC8EB7532E931C2FBDA71D1E0B66A4 /* FBSnapshotTestCase-dummy.m in Sources */, - 8CE3BF0ACE07EA42DD5DAC871BF4B767 /* FBSnapshotTestCase.m in Sources */, - E8AC509D18EBF21B1FEA909652A01108 /* FBSnapshotTestCasePlatform.m in Sources */, - 88396E68DC05A379282F3B374F75F43C /* FBSnapshotTestController.m in Sources */, - 9D65089019D558E5A9661F2DCAD20313 /* SwiftSupport.swift in Sources */, - 11C410135C7E89353B480AC8DE0BFB77 /* UIApplication+StrictKeyWindow.m in Sources */, - 2DCFF0CE0BD295F1D46D3247F36B192C /* UIImage+Compare.m in Sources */, - 14AD81D52FAD9CF2C065C61FB00C3B4F /* UIImage+Diff.m in Sources */, - A525E29E0A8079B35B793D8A2B5FBDF2 /* UIImage+Snapshot.m in Sources */, + B887FBBD900E5050F0822B0498F1223E /* FBSnapshotTestCase.m in Sources */, + B5168D73EAD4724F10EC5DC802293A38 /* FBSnapshotTestCasePlatform.m in Sources */, + BF2D9B7DD43CCF7EA1C083FD65A3F85F /* FBSnapshotTestController.m in Sources */, + 2EC794115349425A8865FE5DAD061D1D /* iOSSnapshotTestCase-dummy.m in Sources */, + 5051F444A210706E6F97FD5E5D966388 /* SwiftSupport.swift in Sources */, + 433FA195424D6A2878EC9A7C5EC6C9EB /* UIImage+Compare.m in Sources */, + A1BD451BD9DF7C65965CC17E2AE6B0B6 /* UIImage+Diff.m in Sources */, + 2F9C2BB07DA61523AD7C9DCE47DC7498 /* UIImage+Snapshot.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A7BCD4784F80CD9DD9E0437ECCA881BF /* Sources */ = { + 61E08BF853B44E9E25C93134A13C140D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A33E1BD9292B392CF497D5804DF323B2 /* Pods-StyledText_Tests-dummy.m in Sources */, + CFC4A8771A408B9801B3E77C6AAEF104 /* Pods-StyledText_Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - AFA0452AEF5742A03D9EA8C455BD689B /* Sources */ = { + 694205E4C1C5652ABC91AB6B8D119A52 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D2BE111AE3950E47C5603F7EE3456107 /* Behavior.swift in Sources */, - 7A5B1CC9274B3E4E10EE1561F3AFD58E /* Callsite.swift in Sources */, - F2879D2ED08204999EAB760DE2A2E200 /* Closures.swift in Sources */, - 663333C5E1449EB8487518A5FEAEF8AD /* Configuration.swift in Sources */, - 2ADD7D3E0B94EF044CF3FFD2F8EA2C67 /* DSL.swift in Sources */, - A787308C5CA0BCA2B3A706F44CD5F7B4 /* ErrorUtility.swift in Sources */, - 67365D8C7D4AB95553BB274368DBCF1E /* Example.swift in Sources */, - BD8AB3699C483B11671A85C72CE92B50 /* ExampleGroup.swift in Sources */, - 7A66539DD738BE28A057CA37AAF8F829 /* ExampleHooks.swift in Sources */, - FAB210037DEE6DDF3679C07D48D9E8DD /* ExampleMetadata.swift in Sources */, - B17CEF5ECE9BA91DC07E7208AECB567F /* Filter.swift in Sources */, - 1291696393FFEA6F94FF1E0B79923B43 /* HooksPhase.swift in Sources */, - 48F15AE2F06B8500AD60C39BB45280A3 /* NSBundle+CurrentTestBundle.swift in Sources */, - 4E5EE3187B48F60A0FBA4EB9ACB7FD76 /* NSString+C99ExtendedIdentifier.swift in Sources */, - E2A3FF8FBAC2E21C91E8C5EE009E0FCD /* QCKDSL.m in Sources */, - EFC160CE0D8BD88499BACB45706186B4 /* Quick-dummy.m in Sources */, - 2EA6B2E10F38275D4CEB37B7ADDAE0E0 /* QuickConfiguration.m in Sources */, - 8C3F5E7FF0571B63D4DAA2825C9705D1 /* QuickSelectedTestSuiteBuilder.swift in Sources */, - B5491A88571862A1B914E6BE3CFCA5BD /* QuickSpec.m in Sources */, - 9DB13659CA8F9BF54942DEDAE9F5E858 /* QuickSpecBase.m in Sources */, - 3722B93E1E8BF31C11CDF45AA815A767 /* QuickTestSuite.swift in Sources */, - 65C7F5A043925A30B66024D146D70C0E /* SuiteHooks.swift in Sources */, - DC5219DBE9A6FFCC45A5A78F09E63A22 /* URL+FileName.swift in Sources */, - 2A94FACEA07096DDE05ACF58491DD963 /* World+DSL.swift in Sources */, - F0EC1E8DF64700838C1BC79AFEC93A1C /* World.swift in Sources */, - 2A95AD48CE160CCC59957E4F91EEC9B9 /* XCTestSuite+QuickTestSuiteBuilder.m in Sources */, + 58A884856B7E64EE3C204D9EDAA14045 /* Behavior.swift in Sources */, + 7CE6049975894E447F2D4071C74F6F8F /* Callsite.swift in Sources */, + 14ECE81218F5F5C9BEF00819A7C078EC /* Closures.swift in Sources */, + B48508EB39EE315F5A00429EEA69DD63 /* Configuration.swift in Sources */, + 018228C4760DF4F8B80630BC9ACCB39E /* DSL.swift in Sources */, + BE56C54CD29F23A1C631645390E8569D /* ErrorUtility.swift in Sources */, + D2C041844A0EB4EB2E8C7B9DAA748EEB /* Example.swift in Sources */, + 9231B70907F130F31CF5717C502B780C /* ExampleGroup.swift in Sources */, + 7536DD99ACEDE673713161E597B7B447 /* ExampleHooks.swift in Sources */, + 59BF9ABA8BB14E0E4E345D13AB6D49FB /* ExampleMetadata.swift in Sources */, + AF60C00928A7AFE04E374B620EEA5F49 /* Filter.swift in Sources */, + 209F98BB7B328893FB64BA0393B4BD57 /* HooksPhase.swift in Sources */, + 887AF8C809D60140319DE71D6427F370 /* NSBundle+CurrentTestBundle.swift in Sources */, + 4ADE5FC9505A3BF7DF17AF9756585116 /* QCKDSL.m in Sources */, + 512AAF465EE936155DD9BBA92368928E /* Quick-dummy.m in Sources */, + 9FB5F3B3AAF3103848313FACD0CACBCD /* QuickConfiguration.m in Sources */, + 3D6A581E79FD9EAC1A948D8BC53F1EB0 /* QuickConfiguration.swift in Sources */, + 4E1DBC9FF76D6AD924D1356260438074 /* QuickSelectedTestSuiteBuilder.swift in Sources */, + 2F0B5199CDB717CA9F680579900ABF15 /* QuickSpec.m in Sources */, + 22B5B4ED0824E7BAF2091AAD6238A73F /* QuickSpecBase.m in Sources */, + 39382B0A1EF090D15BA6C89FC3DCB099 /* QuickTestObservation.swift in Sources */, + A7F5B07BF96955EFDC9106335235EDB2 /* QuickTestSuite.swift in Sources */, + A35159AD5A7A49BA9093F29B63DBD30D /* String+C99ExtendedIdentifier.swift in Sources */, + 94B18F2CFF543F6B2E43E84630C337E2 /* SuiteHooks.swift in Sources */, + A6CE2E672C8EB4DF57485428AFD64A3C /* URL+FileName.swift in Sources */, + C9E716023868A97D2F5B19934D93045E /* World+DSL.swift in Sources */, + F01995755687FA91F51A15ED8FD9D125 /* World.swift in Sources */, + 9E874C00792FA983399C03EC00AE326D /* XCTestSuite+QuickTestSuiteBuilder.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - C5F02ADBBFEE9A09627F58B784696E3A /* Sources */ = { + C04326C0FFCFF8F04221A58206FDE29D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B33F9EBFFC464D032BFBF2297BC48872 /* FBSnapshotTestCase.m in Sources */, - 1E9765321C09CD3A53C3962859EB4008 /* FBSnapshotTestCasePlatform.m in Sources */, - 618B2BE4222F19852598D9A76F888685 /* FBSnapshotTestController.m in Sources */, - 9349D71F027919C3199C586D061DBF1F /* iOSSnapshotTestCase-dummy.m in Sources */, - 84A3D2DAA3A41331772597AE8A5B5DD9 /* SwiftSupport.swift in Sources */, - 0353CDD8BF6BD68D5822B5306BBACCAF /* UIImage+Compare.m in Sources */, - FA22FC2D79147F6C3A6EA988DF868741 /* UIImage+Diff.m in Sources */, - DF70F08D90E88A079516ECC9C7EB972E /* UIImage+Snapshot.m in Sources */, + A9DC72AE28D2D7C2C2D6B9924E03D2BF /* CurrentTestCaseTracker.swift in Sources */, + 071B91450BAB053E659829D1A0E1C192 /* DynamicSizeSnapshot.swift in Sources */, + C6CA334FFB74ECF769F8647E33D67E56 /* HaveValidDynamicTypeSnapshot.swift in Sources */, + B1D6C9BB4B351163B7356350C14E0BD6 /* HaveValidSnapshot.swift in Sources */, + 62A94E823FD0713A5AFBCE481451B78D /* NBSMockedApplication.m in Sources */, + 0B7F3B8D408B030721FDB8C595D61AE2 /* Nimble-Snapshots-dummy.m in Sources */, + AC3457501DE121722F5C831081472B3C /* PrettyDynamicTypeSyntax.swift in Sources */, + F5FDCCBF377562DCAFA4AE711307C281 /* PrettySyntax.swift in Sources */, + 63008DABB9B5693D4A1B3FFDD8F9A7D8 /* XCTestObservationCenter+CurrentTestCaseTracker.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1549,90 +1377,81 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 0642526D42DA02C4D5A21DD2740628FE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = iOSSnapshotTestCase; - target = C393038B0BEF088C1B93E6528005862D /* iOSSnapshotTestCase */; - targetProxy = 8CCA0AE2DA74CF6725E0628440C59A10 /* PBXContainerItemProxy */; - }; - 6DF10B64F53D3649C53CE3D623344A69 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = iOSSnapshotTestCase; - target = C393038B0BEF088C1B93E6528005862D /* iOSSnapshotTestCase */; - targetProxy = F96FEF39888CFFD5E608C83ED48A84A8 /* PBXContainerItemProxy */; - }; - 7C33CCDA77B38E64706398B8F224C03D /* PBXTargetDependency */ = { + 08D1F4281A68B5400E7146CAEC11CA01 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = StyledText; - target = 46C93AA424DF07F96D109412C94B5106 /* StyledText */; - targetProxy = FF3240993B885D532B59216E5981C16F /* PBXContainerItemProxy */; + name = "Pods-StyledText_Example"; + target = 034C948C972057A8D4790D3F8C019319 /* Pods-StyledText_Example */; + targetProxy = 8848BC76ADACFE84CC6114F45DEDB063 /* PBXContainerItemProxy */; }; - 8006B8FB42D99CC97611FCF6870D9E75 /* PBXTargetDependency */ = { + 35954BC5E9997D8A50FED2AA3B1759CC /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Quick; target = C82891EAB7293DBEE916B21F57E8474D /* Quick */; - targetProxy = 98F8DF67052050573C49B84C23C40CC3 /* PBXContainerItemProxy */; + targetProxy = 63798BD7772D339231286E5BDC0102E2 /* PBXContainerItemProxy */; + }; + 7EBED53304A9F0AB1E2B81C776056BD2 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Nimble-Snapshots"; + target = EE19095A8C98E0BC5774005673495238 /* Nimble-Snapshots */; + targetProxy = 4D6661145E1BD8D9896AA20D68A630CF /* PBXContainerItemProxy */; }; - 8716B575B56AA8267449FFF36263734E /* PBXTargetDependency */ = { + 8CD2C902FD5C55F6096D0C81889CF886 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Nimble; target = 6F13695E06195A78EA8A95F8C7ED0D2F /* Nimble */; - targetProxy = DB9C8D60B4B98A3639B343794963EBF4 /* PBXContainerItemProxy */; + targetProxy = 9E443FE0E4321DE86707BBAC44BBCAFA /* PBXContainerItemProxy */; }; - 9FA5B4868FEEBC9131DDF9D2AB0DD393 /* PBXTargetDependency */ = { + C2666B15D025FE934F8EB41C6BA5D0DA /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-StyledText_Example"; - target = 034C948C972057A8D4790D3F8C019319 /* Pods-StyledText_Example */; - targetProxy = 8BF7CDF381A9A09379538836C17062D5 /* PBXContainerItemProxy */; + name = Nimble; + target = 6F13695E06195A78EA8A95F8C7ED0D2F /* Nimble */; + targetProxy = 6D531970C5A5558D172961E0C0A35B4D /* PBXContainerItemProxy */; }; - C065E3AD9B96886074FF616211840403 /* PBXTargetDependency */ = { + C69EC0A6B8E73A08DAF531A4D4932B50 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Nimble-Snapshots"; - target = EE19095A8C98E0BC5774005673495238 /* Nimble-Snapshots */; - targetProxy = 773733D4D6BF2D1F0C4B848749EC8A31 /* PBXContainerItemProxy */; + name = StyledText; + target = 46C93AA424DF07F96D109412C94B5106 /* StyledText */; + targetProxy = 1FB3950EF8EC1F8CDDB7BBA69F8FCDA7 /* PBXContainerItemProxy */; }; - E56C81A4F9907283FD8AAF5DDDF99EA5 /* PBXTargetDependency */ = { + CBA9E66818D03D33E33C387F876A656B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = FBSnapshotTestCase; - target = 98A98149697C80CEF8D5772791E92E66 /* FBSnapshotTestCase */; - targetProxy = 2B15B64CBD0343BD296C362C27C35ACD /* PBXContainerItemProxy */; + name = iOSSnapshotTestCase; + target = C393038B0BEF088C1B93E6528005862D /* iOSSnapshotTestCase */; + targetProxy = 44D070512699E8CBAF92DF247800D8E3 /* PBXContainerItemProxy */; }; - F64CB8EB8A14F600EF7CF1966F3F67E7 /* PBXTargetDependency */ = { + F4C1B59E585C00A9BDFFD0531D0821E1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Nimble; - target = 6F13695E06195A78EA8A95F8C7ED0D2F /* Nimble */; - targetProxy = 366FEC074276E9FB710B5CB8522BAD1C /* PBXContainerItemProxy */; + name = iOSSnapshotTestCase; + target = C393038B0BEF088C1B93E6528005862D /* iOSSnapshotTestCase */; + targetProxy = A6FAE84199743AD4B181E9EC947093D1 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 0B44C383A3628168BC9027346C7FF4D6 /* Release */ = { + 019FDA69066080537AF78BDF015D62DA /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4CAE7DB50E0F983D24BB4405E9BDCB42 /* iOSSnapshotTestCase.release.xcconfig */; + baseConfigurationReference = 15A84F1025B8E8E5246E0654DAF8C168 /* Quick.release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Quick/Quick-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Quick/Quick-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.modulemap"; - PRODUCT_MODULE_NAME = FBSnapshotTestCase; - PRODUCT_NAME = FBSnapshotTestCase; - PROVISIONING_PROFILE_SPECIFIER = ""; + MODULEMAP_FILE = "Target Support Files/Quick/Quick.modulemap"; + PRODUCT_MODULE_NAME = Quick; + PRODUCT_NAME = Quick; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.1; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -1640,39 +1459,35 @@ }; name = Release; }; - 0D4ECECF37F1CCFAD2C6F6F8189B9659 /* Release */ = { + 0A60C21B129FE3303C83F348225D0B9D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 110871CC1CABE4158F42B5A9EE6CCB0D /* Nimble-Snapshots.release.xcconfig */; + baseConfigurationReference = 3021AEA3B3D2FA8FBD2C4F6309412A9F /* Quick.debug.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Quick/Quick-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Quick/Quick-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots.modulemap"; - PRODUCT_MODULE_NAME = Nimble_Snapshots; - PRODUCT_NAME = Nimble_Snapshots; - PROVISIONING_PROFILE_SPECIFIER = ""; + MODULEMAP_FILE = "Target Support Files/Quick/Quick.modulemap"; + PRODUCT_MODULE_NAME = Quick; + PRODUCT_NAME = Quick; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; 196DFA3E4A09A28224918543529A1885 /* Debug */ = { isa = XCBuildConfiguration; @@ -1738,35 +1553,30 @@ }; name = Debug; }; - 1A8810825F584C0A3703CE82D40B5264 /* Release */ = { + 1D5151581A0B42C2AD05F43F8D22B6EF /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A41113005A7A99534DA8A1F85466E482 /* Pods-StyledText_Example.release.xcconfig */; + baseConfigurationReference = CE3513D7582110817468E6FA307AD5EB /* Nimble.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-StyledText_Example/Pods-StyledText_Example-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Nimble/Nimble-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Nimble/Nimble-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-StyledText_Example/Pods-StyledText_Example.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; + MODULEMAP_FILE = "Target Support Files/Nimble/Nimble.modulemap"; + PRODUCT_MODULE_NAME = Nimble; + PRODUCT_NAME = Nimble; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -1774,27 +1584,28 @@ }; name = Release; }; - 1D5151581A0B42C2AD05F43F8D22B6EF /* Release */ = { + 3CC1C12AA890CB2F342EB5CB6C919F05 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BE8FE45A5550F2344CEFB92134E72DFD /* Nimble.release.xcconfig */; + baseConfigurationReference = 7CC69EC1D2BD51F32762FA107C6A0CB1 /* StyledText.release.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Nimble/Nimble-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Nimble/Nimble-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/StyledText/StyledText-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/StyledText/StyledText-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Nimble/Nimble.modulemap"; - PRODUCT_MODULE_NAME = Nimble; - PRODUCT_NAME = Nimble; - PROVISIONING_PROFILE_SPECIFIER = ""; + MODULEMAP_FILE = "Target Support Files/StyledText/StyledText.modulemap"; + PRODUCT_MODULE_NAME = StyledText; + PRODUCT_NAME = StyledText; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -1806,9 +1617,9 @@ }; name = Release; }; - 2DCD9826389D6FB6D1C6D3603227EC32 /* Debug */ = { + 5DA2695BA86F3BC8F3B02A4964AB256F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 86A9A97943F737E541AAC9CE584F6050 /* Pods-StyledText_Example.debug.xcconfig */; + baseConfigurationReference = 12E2B2576B24210DF8972ABE955577D5 /* Pods-StyledText_Tests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; @@ -1821,31 +1632,30 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-StyledText_Example/Pods-StyledText_Example-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-StyledText_Example/Pods-StyledText_Example.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 35705664E4146AE58E4F317F028DD992 /* Debug */ = { + 6BCBD70E5B7A39756A1A89E518FED28C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BFFA29E507D8E614157A3F9FA313A4BB /* Pods-StyledText_Tests.debug.xcconfig */; + baseConfigurationReference = 277915C22BBFC6CBF054A5E161230B60 /* StyledText.debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1856,30 +1666,29 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/StyledText/StyledText-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/StyledText/StyledText-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; + MODULEMAP_FILE = "Target Support Files/StyledText/StyledText.modulemap"; + PRODUCT_MODULE_NAME = StyledText; + PRODUCT_NAME = StyledText; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 441C7939108738A0C7CD37CBADE0B85E /* Debug */ = { + 6F18ACED0AF2BCCB6804CA35726879AA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F4AB17C7335985CC780771623C19DB91 /* FBSnapshotTestCase.debug.xcconfig */; + baseConfigurationReference = EC0F7AE49B7DDCB29385C225EF4CF3F1 /* iOSSnapshotTestCase.debug.xcconfig */; buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1889,29 +1698,29 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap"; + MODULEMAP_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.modulemap"; PRODUCT_MODULE_NAME = FBSnapshotTestCase; PRODUCT_NAME = FBSnapshotTestCase; - PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.1; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 4428282FC8793A2BECAC7B0E63F4FFE3 /* Release */ = { + 954439DCD92511CDECA2C2A8E586D908 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7CC69EC1D2BD51F32762FA107C6A0CB1 /* StyledText.release.xcconfig */; + baseConfigurationReference = BFFA29E507D8E614157A3F9FA313A4BB /* Pods-StyledText_Tests.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1922,19 +1731,51 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/StyledText/StyledText-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/StyledText/StyledText-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/StyledText/StyledText.modulemap"; - PRODUCT_MODULE_NAME = StyledText; - PRODUCT_NAME = StyledText; - PROVISIONING_PROFILE_SPECIFIER = ""; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 9550622C5AD62D1E33FCD89D62684B7A /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = CFEB9A0753416A9A0C7079B83B025B8A /* Nimble-Snapshots.release.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots.modulemap"; + PRODUCT_MODULE_NAME = Nimble_Snapshots; + PRODUCT_NAME = Nimble_Snapshots; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -1942,10 +1783,12 @@ }; name = Release; }; - 4C9ACC68574BAAEBA626D2082AC16667 /* Debug */ = { + A2DE9ED559134DA09AAE32A964BB81DB /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 27A2A860C6FCF07037FD83ED9A3F3F10 /* Quick.debug.xcconfig */; + baseConfigurationReference = 86A9A97943F737E541AAC9CE584F6050 /* Pods-StyledText_Example.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1955,28 +1798,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Quick/Quick-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Quick/Quick-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-StyledText_Example/Pods-StyledText_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Quick/Quick.modulemap"; - PRODUCT_MODULE_NAME = Quick; - PRODUCT_NAME = Quick; - PROVISIONING_PROFILE_SPECIFIER = ""; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-StyledText_Example/Pods-StyledText_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 8025B8394750A8D7B14482F37D0DEA0A /* Debug */ = { + A3C5373B2B38AC9AFD882E8502E3371D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AE6707881662A476B25D243E206AEA15 /* Nimble-Snapshots.debug.xcconfig */; + baseConfigurationReference = 700FA20DBE1B10DDBA99DC0051B0C309 /* iOSSnapshotTestCase.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; @@ -1988,24 +1831,24 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots.modulemap"; - PRODUCT_MODULE_NAME = Nimble_Snapshots; - PRODUCT_NAME = Nimble_Snapshots; - PROVISIONING_PROFILE_SPECIFIER = ""; + MODULEMAP_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.modulemap"; + PRODUCT_MODULE_NAME = FBSnapshotTestCase; + PRODUCT_NAME = FBSnapshotTestCase; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 5.1; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */ = { isa = XCBuildConfiguration; @@ -2060,7 +1903,8 @@ MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; @@ -2068,7 +1912,7 @@ }; BC2F9ACF6532E38BFD9609FF5AB4771F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2059C148205460F442DCFD88481819AB /* Nimble.debug.xcconfig */; + baseConfigurationReference = 45F576FF77A242929D7E9783D6C9AE47 /* Nimble.debug.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -2081,12 +1925,11 @@ GCC_PREFIX_HEADER = "Target Support Files/Nimble/Nimble-prefix.pch"; INFOPLIST_FILE = "Target Support Files/Nimble/Nimble-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/Nimble/Nimble.modulemap"; PRODUCT_MODULE_NAME = Nimble; PRODUCT_NAME = Nimble; - PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -2097,42 +1940,9 @@ }; name = Debug; }; - BE874B114A0991701B09229EAAA4CA84 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 4A57290FFAFFB18CAE5A4F43CFB6E5C0 /* FBSnapshotTestCase.release.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap"; - PRODUCT_MODULE_NAME = FBSnapshotTestCase; - PRODUCT_NAME = FBSnapshotTestCase; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - C7DF814A333A568ABDD0114199DF935C /* Debug */ = { + C77EF2046F752D54E023E097DC00382A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 792F7E11A8FCFE14904F29B7AB53B750 /* iOSSnapshotTestCase.debug.xcconfig */; + baseConfigurationReference = E5DA5D4A4D7C3CD635B7BC24A0012DDD /* Nimble-Snapshots.debug.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; @@ -2144,61 +1954,27 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.modulemap"; - PRODUCT_MODULE_NAME = FBSnapshotTestCase; - PRODUCT_NAME = FBSnapshotTestCase; - PROVISIONING_PROFILE_SPECIFIER = ""; + MODULEMAP_FILE = "Target Support Files/Nimble-Snapshots/Nimble-Snapshots.modulemap"; + PRODUCT_MODULE_NAME = Nimble_Snapshots; + PRODUCT_NAME = Nimble_Snapshots; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.1; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - D786D4838DDE7FF84FD603B90BD016C2 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 1CE81EAB18DF1F9D8104534D8C659A83 /* Quick.release.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Quick/Quick-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Quick/Quick-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Quick/Quick.modulemap"; - PRODUCT_MODULE_NAME = Quick; - PRODUCT_NAME = Quick; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - DE1DE0269860D2A8D7ABA9EF184337C5 /* Release */ = { + EA3B1AE4FA781738498E44C940019856 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 12E2B2576B24210DF8972ABE955577D5 /* Pods-StyledText_Tests.release.xcconfig */; + baseConfigurationReference = A41113005A7A99534DA8A1F85466E482 /* Pods-StyledText_Example.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; @@ -2211,18 +1987,17 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-StyledText_Example/Pods-StyledText_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-StyledText_Example/Pods-StyledText_Example.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -2232,119 +2007,77 @@ }; name = Release; }; - EC1B645ADD41D4B4DDB56172B8B32A56 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 277915C22BBFC6CBF054A5E161230B60 /* StyledText.debug.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/StyledText/StyledText-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/StyledText/StyledText-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/StyledText/StyledText.modulemap"; - PRODUCT_MODULE_NAME = StyledText; - PRODUCT_NAME = StyledText; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 2BB7770D191ED30607871761A2FAC27D /* Build configuration list for PBXNativeTarget "StyledText" */ = { + 189D56F652B0345CC3E1073543C1B391 /* Build configuration list for PBXNativeTarget "Quick" */ = { isa = XCConfigurationList; buildConfigurations = ( - EC1B645ADD41D4B4DDB56172B8B32A56 /* Debug */, - 4428282FC8793A2BECAC7B0E63F4FFE3 /* Release */, + 0A60C21B129FE3303C83F348225D0B9D /* Debug */, + 019FDA69066080537AF78BDF015D62DA /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 2EDF9A01B577304D410AF6B0BE40149D /* Build configuration list for PBXNativeTarget "iOSSnapshotTestCase" */ = { + 1BCF2DA7384CC1711611E6FCC46A171F /* Build configuration list for PBXNativeTarget "iOSSnapshotTestCase" */ = { isa = XCConfigurationList; buildConfigurations = ( - C7DF814A333A568ABDD0114199DF935C /* Debug */, - 0B44C383A3628168BC9027346C7FF4D6 /* Release */, + 6F18ACED0AF2BCCB6804CA35726879AA /* Debug */, + A3C5373B2B38AC9AFD882E8502E3371D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 196DFA3E4A09A28224918543529A1885 /* Debug */, - B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 7F8539845BD41E830F4E38F3A0390C9D /* Build configuration list for PBXNativeTarget "Quick" */ = { + 2BB7770D191ED30607871761A2FAC27D /* Build configuration list for PBXNativeTarget "StyledText" */ = { isa = XCConfigurationList; buildConfigurations = ( - 4C9ACC68574BAAEBA626D2082AC16667 /* Debug */, - D786D4838DDE7FF84FD603B90BD016C2 /* Release */, + 6BCBD70E5B7A39756A1A89E518FED28C /* Debug */, + 3CC1C12AA890CB2F342EB5CB6C919F05 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 9AC65E53333ACA93EEB1D8EBAB58CBB6 /* Build configuration list for PBXNativeTarget "Nimble" */ = { + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - BC2F9ACF6532E38BFD9609FF5AB4771F /* Debug */, - 1D5151581A0B42C2AD05F43F8D22B6EF /* Release */, + 196DFA3E4A09A28224918543529A1885 /* Debug */, + B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 9F7382318C6967C54C2092C61E54E9BB /* Build configuration list for PBXNativeTarget "Nimble-Snapshots" */ = { + 5A13EE3B769DFB38B4B9A0F82594698A /* Build configuration list for PBXNativeTarget "Nimble-Snapshots" */ = { isa = XCConfigurationList; buildConfigurations = ( - 8025B8394750A8D7B14482F37D0DEA0A /* Debug */, - 0D4ECECF37F1CCFAD2C6F6F8189B9659 /* Release */, + C77EF2046F752D54E023E097DC00382A /* Debug */, + 9550622C5AD62D1E33FCD89D62684B7A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A38070E189561F257BBD5A0A55CACCCF /* Build configuration list for PBXNativeTarget "FBSnapshotTestCase" */ = { + 665B044B60B7800E647B0FCCAEE438F1 /* Build configuration list for PBXNativeTarget "Pods-StyledText_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 441C7939108738A0C7CD37CBADE0B85E /* Debug */, - BE874B114A0991701B09229EAAA4CA84 /* Release */, + 954439DCD92511CDECA2C2A8E586D908 /* Debug */, + 5DA2695BA86F3BC8F3B02A4964AB256F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - B86750F21414E9D69E2E8C711AE641BD /* Build configuration list for PBXNativeTarget "Pods-StyledText_Example" */ = { + 9AC65E53333ACA93EEB1D8EBAB58CBB6 /* Build configuration list for PBXNativeTarget "Nimble" */ = { isa = XCConfigurationList; buildConfigurations = ( - 2DCD9826389D6FB6D1C6D3603227EC32 /* Debug */, - 1A8810825F584C0A3703CE82D40B5264 /* Release */, + BC2F9ACF6532E38BFD9609FF5AB4771F /* Debug */, + 1D5151581A0B42C2AD05F43F8D22B6EF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D9ECF86824902E26E3136A32F0F2676F /* Build configuration list for PBXNativeTarget "Pods-StyledText_Tests" */ = { + DE1BAF750B03C7E76D5BA5EBA77558F8 /* Build configuration list for PBXNativeTarget "Pods-StyledText_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - 35705664E4146AE58E4F317F028DD992 /* Debug */, - DE1DE0269860D2A8D7ABA9EF184337C5 /* Release */, + A2DE9ED559134DA09AAE32A964BB81DB /* Debug */, + EA3B1AE4FA781738498E44C940019856 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/Quick/README.md b/Example/Pods/Quick/README.md index e6dc0ad..fc257da 100644 --- a/Example/Pods/Quick/README.md +++ b/Example/Pods/Quick/README.md @@ -3,6 +3,7 @@ [![Build Status](https://travis-ci.org/Quick/Quick.svg?branch=master)](https://travis-ci.org/Quick/Quick) [![CocoaPods](https://img.shields.io/cocoapods/v/Quick.svg)](https://cocoapods.org/pods/Quick) [![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) +[![Accio supported](https://img.shields.io/badge/Accio-supported-0A7CF5.svg?style=flat)](https://github.com/JamitLabs/Accio) [![Platforms](https://img.shields.io/cocoapods/p/Quick.svg)](https://cocoapods.org/pods/Quick) Quick is a behavior-driven development framework for Swift and Objective-C. @@ -44,7 +45,9 @@ Certain versions of Quick and Nimble only support certain versions of Swift. Dep |Swift version |Quick version |Nimble version | |:--------------------|:---------------|:--------------| -|Swift 3 |v1.0.0 or later |v5.0.0 or later| +|Swift 5.2 |v3.0.0 or later |v9.0.0 or later| +|Swift 4.2 / Swift 5 |v1.3.2 or later |v7.3.2 or later| +|Swift 3 / Swift 4 |v1.0.0 or later |v5.0.0 or later| |Swift 2.2 / Swift 2.3|v0.9.3 |v4.1.0 | ## Documentation diff --git a/Example/Pods/Quick/Sources/Quick/Behavior.swift b/Example/Pods/Quick/Sources/Quick/Behavior.swift index 1d98702..7a25a36 100644 --- a/Example/Pods/Quick/Sources/Quick/Behavior.swift +++ b/Example/Pods/Quick/Sources/Quick/Behavior.swift @@ -1,12 +1,14 @@ -/** - A `Behavior` encapsulates a set of examples that can be re-used in several locations using the `itBehavesLike` function with a context instance of the generic type. - */ - +/// A `Behavior` encapsulates a set of examples that can be re-used in several locations using the `itBehavesLike` +/// function with a context instance of the generic type. open class Behavior { - open static var name: String { return String(describing: self) } /** - override this method in your behavior to define a set of reusable examples. + Override this variable if you want to provide custom name for this example group. + */ + open class var name: String { return String(describing: self) } + + /** + Override this method in your behavior to define a set of reusable examples. This behaves just like an example group defines using `describe` or `context`--it may contain any number of `beforeEach` and `afterEach` closures, as well as any number of examples (defined using `it`). diff --git a/Example/Pods/Quick/Sources/Quick/Callsite.swift b/Example/Pods/Quick/Sources/Quick/Callsite.swift index f5e3711..33e732c 100644 --- a/Example/Pods/Quick/Sources/Quick/Callsite.swift +++ b/Example/Pods/Quick/Sources/Quick/Callsite.swift @@ -1,16 +1,23 @@ import Foundation -// `#if swift(>=3.2) && (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE` -// does not work as expected. -#if swift(>=3.2) - #if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE - @objcMembers - public class _CallsiteBase: NSObject {} - #else - public class _CallsiteBase: NSObject {} - #endif +#if canImport(Darwin) +// swiftlint:disable type_name +@objcMembers +public class _CallsiteBase: NSObject {} #else public class _CallsiteBase: NSObject {} +// swiftlint:enable type_name +#endif + +// Ideally we would always use `StaticString` as the type for tracking the file name +// in which an example is defined, for consistency with `assert` etc. from the +// stdlib, and because recent versions of the XCTest overlay require `StaticString` +// when calling `XCTFail`. Under the Objective-C runtime (i.e. building on macOS), we +// have to use `String` instead because StaticString can't be generated from Objective-C +#if SWIFT_PACKAGE +public typealias FileString = StaticString +#else +public typealias FileString = String #endif /** @@ -21,14 +28,14 @@ final public class Callsite: _CallsiteBase { /** The absolute path of the file in which an example is defined. */ - public let file: String + public let file: FileString /** The line number on which an example is defined. */ public let line: UInt - internal init(file: String, line: UInt) { + internal init(file: FileString, line: UInt) { self.file = file self.line = line } @@ -40,6 +47,6 @@ extension Callsite { If two callsites are in the same file and on the same line, they must be equal. */ @nonobjc public static func == (lhs: Callsite, rhs: Callsite) -> Bool { - return lhs.file == rhs.file && lhs.line == rhs.line + return String(describing: lhs.file) == String(describing: rhs.file) && lhs.line == rhs.line } } diff --git a/Example/Pods/Quick/Sources/Quick/Configuration/Configuration.swift b/Example/Pods/Quick/Sources/Quick/Configuration/Configuration.swift index dbb95f1..71b263b 100644 --- a/Example/Pods/Quick/Sources/Quick/Configuration/Configuration.swift +++ b/Example/Pods/Quick/Sources/Quick/Configuration/Configuration.swift @@ -19,20 +19,24 @@ public typealias ExampleFilter = (_ example: Example) -> Bool final public class Configuration: NSObject { internal let exampleHooks = ExampleHooks() internal let suiteHooks = SuiteHooks() - internal var exclusionFilters: [ExampleFilter] = [ { example in - if let pending = example.filterFlags[Filter.pending] { - return pending - } else { - return false - } - }] - internal var inclusionFilters: [ExampleFilter] = [ { example in - if let focused = example.filterFlags[Filter.focused] { - return focused - } else { - return false - } - }] + internal var exclusionFilters: [ExampleFilter] = [ + { example in // swiftlint:disable:this opening_brace + if let pending = example.filterFlags[Filter.pending] { + return pending + } else { + return false + } + }, + ] + internal var inclusionFilters: [ExampleFilter] = [ + { example in // swiftlint:disable:this opening_brace + if let focused = example.filterFlags[Filter.focused] { + return focused + } else { + return false + } + }, + ] /** Run all examples if none match the configured filters. True by default. @@ -72,7 +76,7 @@ final public class Configuration: NSObject { provided with metadata on the example that the closure is being run prior to. */ -#if os(macOS) || os(iOS) || os(tvOS) || os(watchOS) +#if canImport(Darwin) @objc(beforeEachWithMetadata:) public func beforeEach(_ closure: @escaping BeforeExampleWithMetadataClosure) { exampleHooks.appendBefore(closure) @@ -88,13 +92,13 @@ final public class Configuration: NSObject { 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 + times across multiple +[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, + either. Multiple beforeEach defined on a single configuration, however, will be executed in the order they're defined. - parameter closure: The closure to be executed before each example @@ -109,7 +113,7 @@ final public class Configuration: NSObject { is provided with metadata on the example that the closure is being run after. */ -#if os(macOS) || os(iOS) || os(tvOS) || os(watchOS) +#if canImport(Darwin) @objc(afterEachWithMetadata:) public func afterEach(_ closure: @escaping AfterExampleWithMetadataClosure) { exampleHooks.appendAfter(closure) @@ -125,13 +129,13 @@ final public class Configuration: NSObject { 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 + times across multiple +[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, + either. Multiple afterEach defined on a single configuration, however, will be executed in the order they're defined. - parameter closure: The closure to be executed before each example diff --git a/Example/Pods/Quick/Sources/Quick/Configuration/QuickConfiguration.swift b/Example/Pods/Quick/Sources/Quick/Configuration/QuickConfiguration.swift new file mode 100644 index 0000000..d807bfe --- /dev/null +++ b/Example/Pods/Quick/Sources/Quick/Configuration/QuickConfiguration.swift @@ -0,0 +1,78 @@ +import Foundation +import XCTest + +#if SWIFT_PACKAGE + +open class QuickConfiguration: NSObject { + open class func configure(_ configuration: Configuration) {} +} + +#endif + +extension QuickConfiguration { + #if !canImport(Darwin) + private static var configurationSubclasses: [QuickConfiguration.Type] = [] + #endif + + /// Finds all direct subclasses of QuickConfiguration and passes them to the block provided. + /// The classes are iterated over in the order that objc_getClassList returns them. + /// + /// - parameter block: A block that takes a QuickConfiguration.Type. + /// This block will be executed once for each subclass of QuickConfiguration. + private static func enumerateSubclasses(_ block: (QuickConfiguration.Type) -> Void) { + #if canImport(Darwin) + let classesCount = objc_getClassList(nil, 0) + + guard classesCount > 0 else { + return + } + + let classes = UnsafeMutablePointer.allocate(capacity: Int(classesCount)) + defer { free(classes) } + + objc_getClassList(AutoreleasingUnsafeMutablePointer(classes), classesCount) + + var configurationSubclasses: [QuickConfiguration.Type] = [] + for index in 0.. Void) { +public func it(_ description: String, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line, closure: @escaping () throws -> Void) { World.sharedWorld.it(description, flags: flags, file: file, line: line, closure: closure) } @@ -143,7 +145,7 @@ public func it(_ description: String, flags: FilterFlags = [:], file: String = # - parameter file: The absolute path to the file containing the current example group. A sensible default is provided. - parameter line: The line containing the current example group. A sensible default is provided. */ -public func itBehavesLike(_ name: String, flags: FilterFlags = [:], file: String = #file, line: UInt = #line) { +public func itBehavesLike(_ name: String, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line) { itBehavesLike(name, flags: flags, file: file, line: line, sharedExampleContext: { return [:] }) } @@ -163,7 +165,7 @@ public func itBehavesLike(_ name: String, flags: FilterFlags = [:], file: String - parameter file: The absolute path to the file containing the current example group. A sensible default is provided. - parameter line: The line containing the current example group. A sensible default is provided. */ -public func itBehavesLike(_ name: String, flags: FilterFlags = [:], file: String = #file, line: UInt = #line, sharedExampleContext: @escaping SharedExampleContext) { +public func itBehavesLike(_ name: String, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line, sharedExampleContext: @escaping SharedExampleContext) { World.sharedWorld.itBehavesLike(name, sharedExampleContext: sharedExampleContext, flags: flags, file: file, line: line) } @@ -179,7 +181,7 @@ public func itBehavesLike(_ name: String, flags: FilterFlags = [:], file: String - parameter file: The absolute path to the file containing the current example group. A sensible default is provided. - parameter line: The line containing the current example group. A sensible default is provided. */ -public func itBehavesLike(_ behavior: Behavior.Type, flags: FilterFlags = [:], file: String = #file, line: UInt = #line, context: @escaping () -> C) { +public func itBehavesLike(_ behavior: Behavior.Type, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line, context: @escaping () -> C) { World.sharedWorld.itBehavesLike(behavior, context: context, flags: flags, file: file, line: line) } @@ -198,7 +200,7 @@ public func pending(_ description: String, closure: () -> Void) { Use this to quickly mark a `describe` closure as pending. This disables all examples within the closure. */ -public func xdescribe(_ description: String, flags: FilterFlags, closure: () -> Void) { +public func xdescribe(_ description: String, flags: FilterFlags = [:], closure: () -> Void) { World.sharedWorld.xdescribe(description, flags: flags, closure: closure) } @@ -206,7 +208,7 @@ public func xdescribe(_ description: String, flags: FilterFlags, closure: () -> Use this to quickly mark a `context` closure as pending. This disables all examples within the closure. */ -public func xcontext(_ description: String, flags: FilterFlags, closure: () -> Void) { +public func xcontext(_ description: String, flags: FilterFlags = [:], closure: () -> Void) { xdescribe(description, flags: flags, closure: closure) } @@ -214,7 +216,7 @@ public func xcontext(_ description: String, flags: FilterFlags, closure: () -> V Use this to quickly mark an `it` closure as pending. This disables the example and ensures the code within the closure is never run. */ -public func xit(_ description: String, flags: FilterFlags = [:], file: String = #file, line: UInt = #line, closure: @escaping () -> Void) { +public func xit(_ description: String, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line, closure: @escaping () throws -> Void) { World.sharedWorld.xit(description, flags: flags, file: file, line: line, closure: closure) } @@ -222,7 +224,7 @@ public func xit(_ description: String, flags: FilterFlags = [:], file: String = Use this to quicklu mark an `itBehavesLike` closure as pending. This disables the example group defined by this behavior and ensures the code within is never run. */ -public func xitBehavesLike(_ behavior: Behavior.Type, flags: FilterFlags = [:], file: String = #file, line: UInt = #line, context: @escaping () -> C) { +public func xitBehavesLike(_ behavior: Behavior.Type, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line, context: @escaping () -> C) { World.sharedWorld.xitBehavesLike(behavior, context: context, flags: flags, file: file, line: line) } /** @@ -245,27 +247,29 @@ public func fcontext(_ description: String, flags: FilterFlags = [:], closure: ( Use this to quickly focus an `it` closure, focusing the example. If any examples in the test suite are focused, only those examples are executed. */ -public func fit(_ description: String, flags: FilterFlags = [:], file: String = #file, line: UInt = #line, closure: @escaping () -> Void) { +public func fit(_ description: String, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line, closure: @escaping () throws -> Void) { World.sharedWorld.fit(description, flags: flags, file: file, line: line, closure: closure) } /** Use this to quickly focus an `itBehavesLike` closure. */ -public func fitBehavesLike(_ name: String, flags: FilterFlags = [:], file: String = #file, line: UInt = #line) { +public func fitBehavesLike(_ name: String, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line) { fitBehavesLike(name, flags: flags, file: file, line: line, sharedExampleContext: { return [:] }) } /** Use this to quickly focus an `itBehavesLike` closure. */ -public func fitBehavesLike(_ name: String, flags: FilterFlags = [:], file: String = #file, line: UInt = #line, sharedExampleContext: @escaping SharedExampleContext) { +public func fitBehavesLike(_ name: String, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line, sharedExampleContext: @escaping SharedExampleContext) { World.sharedWorld.fitBehavesLike(name, sharedExampleContext: sharedExampleContext, flags: flags, file: file, line: line) } /** Use this to quickly focus on `itBehavesLike` closure. */ -public func fitBehavesLike(_ behavior: Behavior.Type, flags: FilterFlags = [:], file: String = #file, line: UInt = #line, context: @escaping () -> C) { +public func fitBehavesLike(_ behavior: Behavior.Type, flags: FilterFlags = [:], file: FileString = #file, line: UInt = #line, context: @escaping () -> C) { World.sharedWorld.fitBehavesLike(behavior, context: context, flags: flags, file: file, line: line) } + +// swiftlint:enable line_length diff --git a/Example/Pods/Quick/Sources/Quick/DSL/World+DSL.swift b/Example/Pods/Quick/Sources/Quick/DSL/World+DSL.swift index 5249027..7b4edf3 100644 --- a/Example/Pods/Quick/Sources/Quick/DSL/World+DSL.swift +++ b/Example/Pods/Quick/Sources/Quick/DSL/World+DSL.swift @@ -20,9 +20,10 @@ extension World { internal func describe(_ description: String, flags: FilterFlags, closure: () -> Void) { guard currentExampleMetadata == nil else { - raiseError("'describe' cannot be used inside '\(currentPhase)', 'describe' may only be used inside 'context' or 'describe'. ") + raiseError("'describe' cannot be used inside '\(currentPhase)', 'describe' may only be used inside 'context' or 'describe'.") } guard currentExampleGroup != nil else { + // swiftlint:disable:next line_length raiseError("Error: example group was not created by its parent QuickSpec spec. Check that describe() or context() was used in QuickSpec.spec() and not a more general context (i.e. an XCTestCase test)") } let group = ExampleGroup(description: description, flags: flags) @@ -32,7 +33,7 @@ extension World { internal func context(_ description: String, flags: FilterFlags, closure: () -> Void) { guard currentExampleMetadata == nil else { - raiseError("'context' cannot be used inside '\(currentPhase)', 'context' may only be used inside 'context' or 'describe'. ") + raiseError("'context' cannot be used inside '\(currentPhase)', 'context' may only be used inside 'context' or 'describe'.") } self.describe(description, flags: flags, closure: closure) } @@ -51,12 +52,12 @@ extension World { internal func beforeEach(_ closure: @escaping BeforeExampleClosure) { guard currentExampleMetadata == nil else { - raiseError("'beforeEach' cannot be used inside '\(currentPhase)', 'beforeEach' may only be used inside 'context' or 'describe'. ") + raiseError("'beforeEach' cannot be used inside '\(currentPhase)', 'beforeEach' may only be used inside 'context' or 'describe'.") } currentExampleGroup.hooks.appendBefore(closure) } -#if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE +#if canImport(Darwin) @objc(beforeEachWithMetadata:) internal func beforeEach(closure: @escaping BeforeExampleWithMetadataClosure) { currentExampleGroup.hooks.appendBefore(closure) @@ -69,12 +70,12 @@ extension World { internal func afterEach(_ closure: @escaping AfterExampleClosure) { guard currentExampleMetadata == nil else { - raiseError("'afterEach' cannot be used inside '\(currentPhase)', 'afterEach' may only be used inside 'context' or 'describe'. ") + raiseError("'afterEach' cannot be used inside '\(currentPhase)', 'afterEach' may only be used inside 'context' or 'describe'.") } currentExampleGroup.hooks.appendAfter(closure) } -#if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE +#if canImport(Darwin) @objc(afterEachWithMetadata:) internal func afterEach(closure: @escaping AfterExampleWithMetadataClosure) { currentExampleGroup.hooks.appendAfter(closure) @@ -85,36 +86,40 @@ extension World { } #endif - internal func it(_ description: String, flags: FilterFlags, file: String, line: UInt, closure: @escaping () -> Void) { + @nonobjc + internal func it(_ description: String, flags: FilterFlags, file: FileString, line: UInt, closure: @escaping () throws -> Void) { if beforesCurrentlyExecuting { - raiseError("'it' cannot be used inside 'beforeEach', 'it' may only be used inside 'context' or 'describe'. ") + raiseError("'it' cannot be used inside 'beforeEach', 'it' may only be used inside 'context' or 'describe'.") } if aftersCurrentlyExecuting { - raiseError("'it' cannot be used inside 'afterEach', 'it' may only be used inside 'context' or 'describe'. ") + raiseError("'it' cannot be used inside 'afterEach', 'it' may only be used inside 'context' or 'describe'.") } guard currentExampleMetadata == nil else { - raiseError("'it' cannot be used inside 'it', 'it' may only be used inside 'context' or 'describe'. ") + raiseError("'it' cannot be used inside 'it', 'it' may only be used inside 'context' or 'describe'.") } let callsite = Callsite(file: file, line: line) let example = Example(description: description, callsite: callsite, flags: flags, closure: closure) currentExampleGroup.appendExample(example) } - internal func fit(_ description: String, flags: FilterFlags, file: String, line: UInt, closure: @escaping () -> Void) { + @nonobjc + internal func fit(_ description: String, flags: FilterFlags, file: FileString, line: UInt, closure: @escaping () throws -> Void) { var focusedFlags = flags focusedFlags[Filter.focused] = true self.it(description, flags: focusedFlags, file: file, line: line, closure: closure) } - internal func xit(_ description: String, flags: FilterFlags, file: String, line: UInt, closure: @escaping () -> Void) { + @nonobjc + internal func xit(_ description: String, flags: FilterFlags, file: FileString, line: UInt, closure: @escaping () throws -> Void) { var pendingFlags = flags pendingFlags[Filter.pending] = true self.it(description, flags: pendingFlags, file: file, line: line, closure: closure) } - internal func itBehavesLike(_ name: String, sharedExampleContext: @escaping SharedExampleContext, flags: FilterFlags, file: String, line: UInt) { + @nonobjc + internal func itBehavesLike(_ name: String, sharedExampleContext: @escaping SharedExampleContext, flags: FilterFlags, file: FileString, line: UInt) { guard currentExampleMetadata == nil else { - raiseError("'itBehavesLike' cannot be used inside '\(currentPhase)', 'itBehavesLike' may only be used inside 'context' or 'describe'. ") + raiseError("'itBehavesLike' cannot be used inside '\(currentPhase)', 'itBehavesLike' may only be used inside 'context' or 'describe'.") } let callsite = Callsite(file: file, line: line) let closure = World.sharedWorld.sharedExample(name) @@ -131,15 +136,16 @@ extension World { } } - internal func fitBehavesLike(_ name: String, sharedExampleContext: @escaping SharedExampleContext, flags: FilterFlags, file: String, line: UInt) { + @nonobjc + internal func fitBehavesLike(_ name: String, sharedExampleContext: @escaping SharedExampleContext, flags: FilterFlags, file: FileString, line: UInt) { var focusedFlags = flags focusedFlags[Filter.focused] = true self.itBehavesLike(name, sharedExampleContext: sharedExampleContext, flags: focusedFlags, file: file, line: line) } - internal func itBehavesLike(_ behavior: Behavior.Type, context: @escaping () -> C, flags: FilterFlags, file: String, line: UInt) { + internal func itBehavesLike(_ behavior: Behavior.Type, context: @escaping () -> C, flags: FilterFlags, file: FileString, line: UInt) { guard currentExampleMetadata == nil else { - raiseError("'itBehavesLike' cannot be used inside '\(currentPhase)', 'itBehavesLike' may only be used inside 'context' or 'describe'. ") + raiseError("'itBehavesLike' cannot be used inside '\(currentPhase)', 'itBehavesLike' may only be used inside 'context' or 'describe'.") } let callsite = Callsite(file: file, line: line) let closure = behavior.spec @@ -155,36 +161,36 @@ extension World { } } - internal func fitBehavesLike(_ behavior: Behavior.Type, context: @escaping () -> C, flags: FilterFlags, file: String, line: UInt) { + internal func fitBehavesLike(_ behavior: Behavior.Type, context: @escaping () -> C, flags: FilterFlags, file: FileString, line: UInt) { var focusedFlags = flags focusedFlags[Filter.focused] = true self.itBehavesLike(behavior, context: context, flags: focusedFlags, file: file, line: line) } - internal func xitBehavesLike(_ behavior: Behavior.Type, context: @escaping () -> C, flags: FilterFlags, file: String, line: UInt) { + internal func xitBehavesLike(_ behavior: Behavior.Type, context: @escaping () -> C, flags: FilterFlags, file: FileString, line: UInt) { var pendingFlags = flags pendingFlags[Filter.pending] = true self.itBehavesLike(behavior, context: context, flags: pendingFlags, file: file, line: line) } -#if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE +#if canImport(Darwin) && !SWIFT_PACKAGE @objc(itWithDescription:flags:file:line:closure:) - private func objc_it(_ description: String, flags: FilterFlags, file: String, line: UInt, closure: @escaping () -> Void) { + internal func objc_it(_ description: String, flags: FilterFlags, file: FileString, line: UInt, closure: @escaping () -> Void) { it(description, flags: flags, file: file, line: line, closure: closure) } @objc(fitWithDescription:flags:file:line:closure:) - private func objc_fit(_ description: String, flags: FilterFlags, file: String, line: UInt, closure: @escaping () -> Void) { + internal func objc_fit(_ description: String, flags: FilterFlags, file: FileString, line: UInt, closure: @escaping () -> Void) { fit(description, flags: flags, file: file, line: line, closure: closure) } @objc(xitWithDescription:flags:file:line:closure:) - private func objc_xit(_ description: String, flags: FilterFlags, file: String, line: UInt, closure: @escaping () -> Void) { + internal func objc_xit(_ description: String, flags: FilterFlags, file: FileString, line: UInt, closure: @escaping () -> Void) { xit(description, flags: flags, file: file, line: line, closure: closure) } @objc(itBehavesLikeSharedExampleNamed:sharedExampleContext:flags:file:line:) - private func objc_itBehavesLike(_ name: String, sharedExampleContext: @escaping SharedExampleContext, flags: FilterFlags, file: String, line: UInt) { + internal func objc_itBehavesLike(_ name: String, sharedExampleContext: @escaping SharedExampleContext, flags: FilterFlags, file: FileString, line: UInt) { itBehavesLike(name, sharedExampleContext: sharedExampleContext, flags: flags, file: file, line: line) } #endif diff --git a/Example/Pods/Quick/Sources/Quick/ErrorUtility.swift b/Example/Pods/Quick/Sources/Quick/ErrorUtility.swift index 155fefd..f13f43a 100644 --- a/Example/Pods/Quick/Sources/Quick/ErrorUtility.swift +++ b/Example/Pods/Quick/Sources/Quick/ErrorUtility.swift @@ -1,7 +1,7 @@ import Foundation internal func raiseError(_ message: String) -> Never { -#if os(macOS) || os(iOS) || os(tvOS) || os(watchOS) +#if canImport(Darwin) NSException(name: .internalInconsistencyException, reason: message, userInfo: nil).raise() #endif diff --git a/Example/Pods/Quick/Sources/Quick/Example.swift b/Example/Pods/Quick/Sources/Quick/Example.swift index c15b31a..7cef7c5 100644 --- a/Example/Pods/Quick/Sources/Quick/Example.swift +++ b/Example/Pods/Quick/Sources/Quick/Example.swift @@ -1,19 +1,12 @@ import Foundation -private var numberOfExamplesRun = 0 -private var numberOfIncludedExamples = 0 - -// `#if swift(>=3.2) && (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE` -// does not work as expected. -#if swift(>=3.2) - #if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE - @objcMembers - public class _ExampleBase: NSObject {} - #else - public class _ExampleBase: NSObject {} - #endif +#if canImport(Darwin) +// swiftlint:disable type_name +@objcMembers +public class _ExampleBase: NSObject {} #else public class _ExampleBase: NSObject {} +// swiftlint:enable type_name #endif /** @@ -37,10 +30,10 @@ final public class Example: _ExampleBase { weak internal var group: ExampleGroup? private let internalDescription: String - private let closure: () -> Void + private let closure: () throws -> Void private let flags: FilterFlags - internal init(description: String, callsite: Callsite, flags: FilterFlags, closure: @escaping () -> Void) { + internal init(description: String, callsite: Callsite, flags: FilterFlags, closure: @escaping () throws -> Void) { self.internalDescription = description self.closure = closure self.callsite = callsite @@ -71,16 +64,15 @@ final public class Example: _ExampleBase { public func run() { let world = World.sharedWorld - if numberOfIncludedExamples == 0 { - numberOfIncludedExamples = world.includedExampleCount - } - - if numberOfExamplesRun == 0 { + if world.numberOfExamplesRun == 0 { world.suiteHooks.executeBefores() } - let exampleMetadata = ExampleMetadata(example: self, exampleIndex: numberOfExamplesRun) + let exampleMetadata = ExampleMetadata(example: self, exampleIndex: world.numberOfExamplesRun) world.currentExampleMetadata = exampleMetadata + defer { + world.currentExampleMetadata = nil + } world.exampleHooks.executeBefores(exampleMetadata) group!.phase = .beforesExecuting @@ -89,7 +81,22 @@ final public class Example: _ExampleBase { } group!.phase = .beforesFinished - closure() + do { + try closure() + } catch { + let description = "Test \(name) threw unexpected error: \(error.localizedDescription)" + #if SWIFT_PACKAGE + let file = callsite.file.description + #else + let file = callsite.file + #endif + QuickSpec.current.recordFailure( + withDescription: description, + inFile: file, + atLine: Int(callsite.line), + expected: false + ) + } group!.phase = .aftersExecuting for after in group!.afters { @@ -98,9 +105,9 @@ final public class Example: _ExampleBase { group!.phase = .aftersFinished world.exampleHooks.executeAfters(exampleMetadata) - numberOfExamplesRun += 1 + world.numberOfExamplesRun += 1 - if !world.isRunningAdditionalSuites && numberOfExamplesRun >= numberOfIncludedExamples { + if !world.isRunningAdditionalSuites && world.numberOfExamplesRun >= world.cachedIncludedExampleCount { world.suiteHooks.executeAfters() } } diff --git a/Example/Pods/Quick/Sources/Quick/ExampleGroup.swift b/Example/Pods/Quick/Sources/Quick/ExampleGroup.swift index 129bed0..5fbfadb 100644 --- a/Example/Pods/Quick/Sources/Quick/ExampleGroup.swift +++ b/Example/Pods/Quick/Sources/Quick/ExampleGroup.swift @@ -31,9 +31,16 @@ final public class ExampleGroup: NSObject { Returns a list of examples that belong to this example group, or to any of its descendant example groups. */ + #if canImport(Darwin) + @objc public var examples: [Example] { return childExamples + childGroups.flatMap { $0.examples } } + #else + public var examples: [Example] { + return childExamples + childGroups.flatMap { $0.examples } + } + #endif internal var name: String? { guard let parent = parent else { diff --git a/Example/Pods/Quick/Sources/Quick/ExampleMetadata.swift b/Example/Pods/Quick/Sources/Quick/ExampleMetadata.swift index 3dd28ab..a8f0d77 100644 --- a/Example/Pods/Quick/Sources/Quick/ExampleMetadata.swift +++ b/Example/Pods/Quick/Sources/Quick/ExampleMetadata.swift @@ -1,16 +1,12 @@ import Foundation -// `#if swift(>=3.2) && (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE` -// does not work as expected. -#if swift(>=3.2) - #if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE - @objcMembers - public class _ExampleMetadataBase: NSObject {} - #else - public class _ExampleMetadataBase: NSObject {} - #endif +#if canImport(Darwin) +// swiftlint:disable type_name +@objcMembers +public class _ExampleMetadataBase: NSObject {} #else public class _ExampleMetadataBase: NSObject {} +// swiftlint:enable type_name #endif /** diff --git a/Example/Pods/Quick/Sources/Quick/Filter.swift b/Example/Pods/Quick/Sources/Quick/Filter.swift index da137f8..d7fbe8d 100644 --- a/Example/Pods/Quick/Sources/Quick/Filter.swift +++ b/Example/Pods/Quick/Sources/Quick/Filter.swift @@ -1,16 +1,12 @@ import Foundation -// `#if swift(>=3.2) && (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE` -// does not work as expected. -#if swift(>=3.2) - #if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE - @objcMembers - public class _FilterBase: NSObject {} - #else - public class _FilterBase: NSObject {} - #endif +#if canImport(Darwin) +// swiftlint:disable type_name +@objcMembers +public class _FilterBase: NSObject {} #else public class _FilterBase: NSObject {} +// swiftlint:enable type_name #endif /** diff --git a/Example/Pods/Quick/Sources/Quick/NSBundle+CurrentTestBundle.swift b/Example/Pods/Quick/Sources/Quick/NSBundle+CurrentTestBundle.swift index d7a1442..f5596cc 100644 --- a/Example/Pods/Quick/Sources/Quick/NSBundle+CurrentTestBundle.swift +++ b/Example/Pods/Quick/Sources/Quick/NSBundle+CurrentTestBundle.swift @@ -1,4 +1,4 @@ -#if os(macOS) || os(iOS) || os(watchOS) || os(tvOS) +#if canImport(Darwin) import Foundation @@ -17,7 +17,7 @@ extension Bundle { Module name has to be a valid "C99 extended identifier". */ internal var moduleName: String { - let fileName = bundleURL.fileName as NSString + let fileName = bundleURL.fileName return fileName.c99ExtendedIdentifier } } diff --git a/Example/Pods/Quick/Sources/Quick/NSString+C99ExtendedIdentifier.swift b/Example/Pods/Quick/Sources/Quick/NSString+C99ExtendedIdentifier.swift deleted file mode 100644 index ef73762..0000000 --- a/Example/Pods/Quick/Sources/Quick/NSString+C99ExtendedIdentifier.swift +++ /dev/null @@ -1,33 +0,0 @@ -#if os(macOS) || os(iOS) || os(watchOS) || os(tvOS) -import Foundation - -public extension NSString { - - private static var invalidCharacters: CharacterSet = { - var invalidCharacters = CharacterSet() - - let invalidCharacterSets: [CharacterSet] = [ - .whitespacesAndNewlines, - .illegalCharacters, - .controlCharacters, - .punctuationCharacters, - .nonBaseCharacters, - .symbols - ] - - for invalidSet in invalidCharacterSets { - invalidCharacters.formUnion(invalidSet) - } - - return invalidCharacters - }() - - @objc(qck_c99ExtendedIdentifier) - var c99ExtendedIdentifier: String { - let validComponents = components(separatedBy: NSString.invalidCharacters) - let result = validComponents.joined(separator: "_") - - return result.isEmpty ? "_" : result - } -} -#endif diff --git a/Example/Pods/Quick/Sources/Quick/QuickSelectedTestSuiteBuilder.swift b/Example/Pods/Quick/Sources/Quick/QuickSelectedTestSuiteBuilder.swift index 415b680..865c3ae 100644 --- a/Example/Pods/Quick/Sources/Quick/QuickSelectedTestSuiteBuilder.swift +++ b/Example/Pods/Quick/Sources/Quick/QuickSelectedTestSuiteBuilder.swift @@ -1,4 +1,4 @@ -#if os(macOS) || os(iOS) || os(watchOS) || os(tvOS) +#if canImport(Darwin) import Foundation /** diff --git a/Example/Pods/Quick/Sources/Quick/QuickTestObservation.swift b/Example/Pods/Quick/Sources/Quick/QuickTestObservation.swift new file mode 100644 index 0000000..e508566 --- /dev/null +++ b/Example/Pods/Quick/Sources/Quick/QuickTestObservation.swift @@ -0,0 +1,69 @@ +#if !SWIFT_PACKAGE + +import Foundation +import XCTest + +/// A dummy protocol for calling the internal `+[QuickSpec buildExamplesIfNeeded]` method +/// which is defined in Objective-C from Swift. +@objc internal protocol _QuickSpecInternal { + static func buildExamplesIfNeeded() +} + +@objc internal final class QuickTestObservation: NSObject, XCTestObservation { + @objc(sharedInstance) + static let shared = QuickTestObservation() + + // Quick hooks into this event to compile example groups for each QuickSpec subclasses. + // + // If an exception occurs when compiling examples, report it to the user. Chances are they + // included an expectation outside of a "it", "describe", or "context" block. + func testBundleWillStart(_ testBundle: Bundle) { + QuickSpec.enumerateSubclasses { specClass in + // This relies on `_QuickSpecInternal`. + (specClass as AnyClass).buildExamplesIfNeeded() + } + } +} + +// swiftlint:disable:next todo +// TODO: Unify this with QuickConfiguration's equivalent +extension QuickSpec { + internal static func enumerateSubclasses( + subclasses: [QuickSpec.Type]? = nil, + _ block: (QuickSpec.Type) -> Void + ) { + let subjects: [QuickSpec.Type] + if let subclasses = subclasses { + subjects = subclasses + } else { + let classesCount = objc_getClassList(nil, 0) + + guard classesCount > 0 else { + return + } + + let classes = UnsafeMutablePointer.allocate(capacity: Int(classesCount)) + defer { free(classes) } + + objc_getClassList(AutoreleasingUnsafeMutablePointer(classes), classesCount) + + var specSubclasses: [QuickSpec.Type] = [] + for index in 0.. String { + return string.c99ExtendedIdentifier + } +} +#endif diff --git a/Example/Pods/Quick/Sources/Quick/World.swift b/Example/Pods/Quick/Sources/Quick/World.swift index 127239a..5b11436 100644 --- a/Example/Pods/Quick/Sources/Quick/World.swift +++ b/Example/Pods/Quick/Sources/Quick/World.swift @@ -12,17 +12,13 @@ public typealias SharedExampleContext = () -> [String: Any] */ public typealias SharedExampleClosure = (@escaping SharedExampleContext) -> Void -// `#if swift(>=3.2) && (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE` -// does not work as expected. -#if swift(>=3.2) - #if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && !SWIFT_PACKAGE - @objcMembers - internal class _WorldBase: NSObject {} - #else - internal class _WorldBase: NSObject {} - #endif +#if canImport(Darwin) +// swiftlint:disable type_name +@objcMembers +internal class _WorldBase: NSObject {} #else internal class _WorldBase: NSObject {} +// swiftlint:enable type_name #endif /** @@ -52,12 +48,14 @@ final internal class World: _WorldBase { internal var currentExampleMetadata: ExampleMetadata? + internal var numberOfExamplesRun = 0 + /** 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. */ -#if os(macOS) || os(iOS) || os(tvOS) || os(watchOS) +#if canImport(Darwin) // Convention of generating Objective-C selector has been changed on Swift 3 @objc(isRunningAdditionalSuites) internal var isRunningAdditionalSuites = false @@ -78,7 +76,16 @@ final internal class World: _WorldBase { private override init() {} - static let sharedWorld = World() + static private(set) var sharedWorld = World() + + static func anotherWorld(block: (World) -> T) -> T { + let previous = sharedWorld + defer { sharedWorld = previous } + + let newWorld = World() + sharedWorld = newWorld + return block(newWorld) + } // MARK: Public Interface @@ -91,8 +98,11 @@ final internal class World: _WorldBase { be mutated to change Quick's behavior. */ internal func configure(_ closure: QuickConfigurer) { - assert(!isConfigurationFinalized, - "Quick cannot be configured outside of a +[QuickConfiguration configure:] method. You should not call -[World configure:] directly. Instead, subclass QuickConfiguration and override the +[QuickConfiguration configure:] method.") + assert( + !isConfigurationFinalized, + // swiftlint:disable:next line_length + "Quick cannot be configured outside of a +[QuickConfiguration configure:] method. You should not call -[World configure:] directly. Instead, subclass QuickConfiguration and override the +[QuickConfiguration configure:] method." + ) closure(configuration) } @@ -104,6 +114,17 @@ final internal class World: _WorldBase { isConfigurationFinalized = true } + /** + Returns `true` if the root example group for the given spec class has been already initialized. + + - parameter specClass: The QuickSpec class for which is checked for the existing root example group. + - returns: Whether the root example group for the given spec class has been already initialized or not. + */ + internal func isRootExampleGroupInitialized(forSpecClass specClass: QuickSpec.Type) -> Bool { + let name = String(describing: specClass) + return specs.keys.contains(name) + } + /** Returns an internally constructed root example group for the given QuickSpec class. @@ -119,11 +140,11 @@ final internal class World: _WorldBase { it("is at the top level") {} } - - parameter cls: The QuickSpec class for which to retrieve the root example group. + - parameter specClass: The QuickSpec class for which to retrieve the root example group. - returns: The root example group for the class. */ - internal func rootExampleGroupForSpecClass(_ cls: AnyClass) -> ExampleGroup { - let name = String(describing: cls) + internal func rootExampleGroup(forSpecClass specClass: QuickSpec.Type) -> ExampleGroup { + let name = String(describing: specClass) if let group = specs[name] { return group @@ -147,24 +168,17 @@ final internal class World: _WorldBase { - parameter specClass: The QuickSpec subclass for which examples are to be returned. - returns: A list of examples to be run as test invocations. */ - internal func examples(_ specClass: AnyClass) -> [Example] { + internal func examples(forSpecClass specClass: QuickSpec.Type) -> [Example] { // 1. Grab all included examples. let included = includedExamples // 2. Grab the intersection of (a) examples for this spec, and (b) included examples. - let spec = rootExampleGroupForSpecClass(specClass).examples.filter { included.contains($0) } + let spec = rootExampleGroup(forSpecClass: specClass).examples.filter { included.contains($0) } // 3. Remove all excluded examples. return spec.filter { example in - !self.configuration.exclusionFilters.reduce(false) { $0 || $1(example) } + !self.configuration.exclusionFilters.contains { $0(example) } } } -#if os(macOS) || os(iOS) || os(tvOS) || os(watchOS) - @objc(examplesForSpecClass:) - private func objc_examples(_ specClass: AnyClass) -> [Example] { - return examples(specClass) - } -#endif - // MARK: Internal internal func registerSharedExample(_ name: String, closure: @escaping SharedExampleClosure) { @@ -181,6 +195,8 @@ final internal class World: _WorldBase { return includedExamples.count } + internal lazy var cachedIncludedExampleCount: Int = self.includedExampleCount + internal var beforesCurrentlyExecuting: Bool { let suiteBeforesExecuting = suiteHooks.phase == .beforesExecuting let exampleBeforesExecuting = exampleHooks.phase == .beforesExecuting @@ -223,7 +239,7 @@ final internal class World: _WorldBase { private var includedExamples: [Example] { let all = allExamples let included = all.filter { example in - return self.configuration.inclusionFilters.reduce(false) { $0 || $1(example) } + return self.configuration.inclusionFilters.contains { $0(example) } } if included.isEmpty && configuration.runAllWhenEverythingFiltered { diff --git a/Example/Pods/Quick/Sources/QuickSpecBase/QuickSpecBase.m b/Example/Pods/Quick/Sources/QuickObjCRuntime/QuickSpecBase.m similarity index 60% rename from Example/Pods/Quick/Sources/QuickSpecBase/QuickSpecBase.m rename to Example/Pods/Quick/Sources/QuickObjCRuntime/QuickSpecBase.m index 10b6f7e..e452e65 100644 --- a/Example/Pods/Quick/Sources/QuickSpecBase/QuickSpecBase.m +++ b/Example/Pods/Quick/Sources/QuickObjCRuntime/QuickSpecBase.m @@ -1,22 +1,5 @@ #import "QuickSpecBase.h" -#pragma mark - _QuickSelectorWrapper - -@interface _QuickSelectorWrapper () -@property(nonatomic, assign) SEL selector; -@end - -@implementation _QuickSelectorWrapper - -- (instancetype)initWithSelector:(SEL)selector { - self = [super init]; - _selector = selector; - return self; -} - -@end - - #pragma mark - _QuickSpecBase @implementation _QuickSpecBase @@ -33,11 +16,11 @@ - (instancetype)init { @return An array of invocations that execute the newly defined example methods. */ + (NSArray *)testInvocations { - NSArray<_QuickSelectorWrapper *> *wrappers = [self _qck_testMethodSelectors]; - NSMutableArray *invocations = [NSMutableArray arrayWithCapacity:wrappers.count]; + NSArray *selectors = [self _qck_testMethodSelectors]; + NSMutableArray *invocations = [NSMutableArray arrayWithCapacity:selectors.count]; - for (_QuickSelectorWrapper *wrapper in wrappers) { - SEL selector = wrapper.selector; + for (NSString *selectorString in selectors) { + SEL selector = NSSelectorFromString(selectorString); NSMethodSignature *signature = [self instanceMethodSignatureForSelector:selector]; NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature]; invocation.selector = selector; @@ -48,7 +31,7 @@ - (instancetype)init { return invocations; } -+ (NSArray<_QuickSelectorWrapper *> *)_qck_testMethodSelectors { ++ (NSArray *)_qck_testMethodSelectors { return @[]; } diff --git a/Example/Pods/Quick/Sources/QuickObjCRuntime/include/QuickSpecBase.h b/Example/Pods/Quick/Sources/QuickObjCRuntime/include/QuickSpecBase.h new file mode 100644 index 0000000..2ee00e7 --- /dev/null +++ b/Example/Pods/Quick/Sources/QuickObjCRuntime/include/QuickSpecBase.h @@ -0,0 +1,7 @@ +#import +#import + +@interface _QuickSpecBase : XCTestCase ++ (NSArray *)_qck_testMethodSelectors; +- (instancetype)init NS_DESIGNATED_INITIALIZER; +@end diff --git a/Example/Pods/Quick/Sources/QuickObjectiveC/Configuration/QuickConfiguration.m b/Example/Pods/Quick/Sources/QuickObjectiveC/Configuration/QuickConfiguration.m index 937b818..a51a8bd 100644 --- a/Example/Pods/Quick/Sources/QuickObjectiveC/Configuration/QuickConfiguration.m +++ b/Example/Pods/Quick/Sources/QuickObjectiveC/Configuration/QuickConfiguration.m @@ -1,36 +1,11 @@ #import "QuickConfiguration.h" -#import "World.h" #import -typedef void (^QCKClassEnumerationBlock)(Class klass); - -/** - Finds all direct subclasses of the given class and passes them to the block provided. - The classes are iterated over in the order that objc_getClassList returns them. - - @param klass The base class to find subclasses of. - @param block A block that takes a Class. This block will be executed once for each subclass of klass. - */ -void qck_enumerateSubclasses(Class klass, QCKClassEnumerationBlock block) { - Class *classes = NULL; - int classesCount = objc_getClassList(NULL, 0); - - if (classesCount > 0) { - classes = (Class *)calloc(sizeof(Class), classesCount); - classesCount = objc_getClassList(classes, classesCount); - - Class subclass, superclass; - for(int i = 0; i < classesCount; i++) { - subclass = classes[i]; - superclass = class_getSuperclass(subclass); - if (superclass == klass && block) { - block(subclass); - } - } - - free(classes); - } -} +#if __has_include("Quick-Swift.h") +#import "Quick-Swift.h" +#else +#import +#endif @implementation QuickConfiguration @@ -60,19 +35,8 @@ - (instancetype)init { + (void)initialize { // Only enumerate over the subclasses of QuickConfiguration, not any of its subclasses. if ([self class] == [QuickConfiguration class]) { - - // Only enumerate over subclasses once, even if +[QuickConfiguration initialize] - // were to be called several times. This is necessary because +[QuickSpec initialize] - // manually calls +[QuickConfiguration initialize]. - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - qck_enumerateSubclasses([QuickConfiguration class], ^(__unsafe_unretained Class klass) { - [[World sharedWorld] configure:^(Configuration *configuration) { - [klass configure:configuration]; - }]; - }); - [[World sharedWorld] finalizeConfiguration]; - }); + World *world = [World sharedWorld]; + [self configureSubclassesIfNeededWithWorld:world]; } } diff --git a/Example/Pods/Quick/Sources/QuickObjectiveC/DSL/QCKDSL.m b/Example/Pods/Quick/Sources/QuickObjectiveC/DSL/QCKDSL.m index 10e8a3d..624832e 100644 --- a/Example/Pods/Quick/Sources/QuickObjectiveC/DSL/QCKDSL.m +++ b/Example/Pods/Quick/Sources/QuickObjectiveC/DSL/QCKDSL.m @@ -1,6 +1,10 @@ #import "QCKDSL.h" -#import "World.h" -#import "World+DSL.h" + +#if __has_include("Quick-Swift.h") +#import "Quick-Swift.h" +#else +#import +#endif void qck_beforeSuite(QCKDSLEmptyBlock closure) { [[World sharedWorld] beforeSuite:closure]; diff --git a/Example/Pods/Quick/Sources/QuickObjectiveC/DSL/World+DSL.h b/Example/Pods/Quick/Sources/QuickObjectiveC/DSL/World+DSL.h deleted file mode 100644 index a3b8524..0000000 --- a/Example/Pods/Quick/Sources/QuickObjectiveC/DSL/World+DSL.h +++ /dev/null @@ -1,20 +0,0 @@ -#import - -@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)beforeEachWithMetadata:(void (^ __nonnull)(ExampleMetadata * __nonnull))closure; -- (void)afterEach:(void (^ __nonnull)(void))closure; -- (void)afterEachWithMetadata:(void (^ __nonnull)(ExampleMetadata * __nonnull))closure; -- (void)itWithDescription:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSUInteger)line closure:(void (^ __nonnull)(void))closure; -- (void)fitWithDescription:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSUInteger)line closure:(void (^ __nonnull)(void))closure; -- (void)xitWithDescription:(NSString * __nonnull)description flags:(NSDictionary * __nonnull)flags file:(NSString * __nonnull)file line:(NSUInteger)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:(NSUInteger)line; -- (void)pending:(NSString * __nonnull)description closure:(void (^ __nonnull)(void))closure; -@end diff --git a/Example/Pods/Quick/Sources/QuickObjectiveC/QuickSpec.h b/Example/Pods/Quick/Sources/QuickObjectiveC/QuickSpec.h index 105a97e..ccf006e 100644 --- a/Example/Pods/Quick/Sources/QuickObjectiveC/QuickSpec.h +++ b/Example/Pods/Quick/Sources/QuickObjectiveC/QuickSpec.h @@ -47,4 +47,10 @@ */ - (void)spec; +/** + Returns the currently executing spec. Use in specs that require XCTestCase + methods, e.g. expectationWithDescription. +*/ +@property (class, nonatomic, readonly) QuickSpec *current; + @end diff --git a/Example/Pods/Quick/Sources/QuickObjectiveC/QuickSpec.m b/Example/Pods/Quick/Sources/QuickObjectiveC/QuickSpec.m index 4891679..90ac7c6 100644 --- a/Example/Pods/Quick/Sources/QuickObjectiveC/QuickSpec.m +++ b/Example/Pods/Quick/Sources/QuickObjectiveC/QuickSpec.m @@ -1,7 +1,11 @@ #import "QuickSpec.h" #import "QuickConfiguration.h" -#import "World.h" + +#if __has_include("Quick-Swift.h") +#import "Quick-Swift.h" +#else #import +#endif static QuickSpec *currentSpec = nil; @@ -13,39 +17,6 @@ @implementation QuickSpec #pragma mark - XCTestCase Overrides -/** - The runtime sends initialize to each class in a program just before the class, or any class - that inherits from it, is sent its first message from within the program. QuickSpec hooks into - this event to compile the example groups for this spec subclass. - - If an exception occurs when compiling the examples, report it to the user. Chances are they - included an expectation outside of a "it", "describe", or "context" block. - */ -+ (void)initialize { - [QuickConfiguration initialize]; - - World *world = [World sharedWorld]; - [world performWithCurrentExampleGroup:[world rootExampleGroupForSpecClass:self] closure:^{ - QuickSpec *spec = [self new]; - - @try { - [spec spec]; - } - @catch (NSException *exception) { - [NSException raise:NSInternalInconsistencyException - format:@"An exception occurred when building Quick's example groups.\n" - @"Some possible reasons this might happen include:\n\n" - @"- An 'expect(...).to' expectation was evaluated outside of " - @"an 'it', 'context', or 'describe' block\n" - @"- 'sharedExamples' was called twice with the same name\n" - @"- 'itBehavesLike' was called with a name that is not registered as a shared example\n\n" - @"Here's the original exception: '%@', reason: '%@', userInfo: '%@'", - exception.name, exception.reason, exception.userInfo]; - } - [self testInvocations]; - }]; -} - /** Invocations for each test method in the test case. QuickSpec overrides this method to define a new method for each example defined in +[QuickSpec spec]. @@ -75,8 +46,48 @@ + (NSArray *)testInvocations { - (void)spec { } ++ (QuickSpec*) current { + return currentSpec; +} + #pragma mark - Internal Methods +/** + Runs the `spec` method and builds the examples for this class. + + It's safe to call this method multiple times. If the examples for the class have been built, invocation + of this method has no effect. + */ ++ (void)buildExamplesIfNeeded { + [QuickConfiguration class]; + World *world = [World sharedWorld]; + + if ([world isRootExampleGroupInitializedForSpecClass:[self class]]) { + // The examples fot this subclass have been already built. Skipping. + return; + } + + ExampleGroup *rootExampleGroup = [world rootExampleGroupForSpecClass:[self class]]; + [world performWithCurrentExampleGroup:rootExampleGroup closure:^{ + QuickSpec *spec = [self new]; + + @try { + [spec spec]; + } + @catch (NSException *exception) { + [NSException raise:NSInternalInconsistencyException + format:@"An exception occurred when building Quick's example groups.\n" + @"Some possible reasons this might happen include:\n\n" + @"- An 'expect(...).to' expectation was evaluated outside of " + @"an 'it', 'context', or 'describe' block\n" + @"- 'sharedExamples' was called twice with the same name\n" + @"- 'itBehavesLike' was called with a name that is not registered as a shared example\n\n" + @"Here's the original exception: '%@', reason: '%@', userInfo: '%@'", + exception.name, exception.reason, exception.userInfo]; + } + }]; +} + /** QuickSpec uses this method to dynamically define a new instance method for the given example. The instance method runs the example, catching any exceptions. @@ -101,8 +112,8 @@ + (SEL)addInstanceMethodForExample:(Example *)example classSelectorNames:(NSMuta }); const char *types = [[NSString stringWithFormat:@"%s%s%s", @encode(void), @encode(id), @encode(SEL)] UTF8String]; - - NSString *originalName = example.name.qck_c99ExtendedIdentifier; + + NSString *originalName = [QCKObjCStringUtils c99ExtendedIdentifierFrom:example.name]; NSString *selectorName = originalName; NSUInteger i = 2; @@ -128,14 +139,29 @@ - (void)recordFailureWithDescription:(NSString *)description inFile:(NSString *)filePath atLine:(NSUInteger)lineNumber expected:(BOOL)expected { + if (self != [QuickSpec current]) { + [[QuickSpec current] recordFailureWithDescription:description + inFile:filePath + atLine:lineNumber + expected:expected]; + return; + } + if (self.example.isSharedExample) { filePath = self.example.callsite.file; lineNumber = self.example.callsite.line; } - [currentSpec.testRun recordFailureWithDescription:description - inFile:filePath - atLine:lineNumber - expected:expected]; + [super recordFailureWithDescription:description + inFile:filePath + atLine:lineNumber + expected:expected]; } @end + +#pragma mark - Test Observation + +__attribute__((constructor)) +static void registerQuickTestObservation(void) { + [[XCTestObservationCenter sharedTestObservationCenter] addTestObserver:[QuickTestObservation sharedInstance]]; +} diff --git a/Example/Pods/Quick/Sources/QuickObjectiveC/World.h b/Example/Pods/Quick/Sources/QuickObjectiveC/World.h deleted file mode 100644 index e638cf6..0000000 --- a/Example/Pods/Quick/Sources/QuickObjectiveC/World.h +++ /dev/null @@ -1,18 +0,0 @@ -#import - -@class ExampleGroup; -@class ExampleMetadata; - -SWIFT_CLASS("_TtC5Quick5World") -@interface World - -@property (nonatomic) ExampleGroup * __nullable currentExampleGroup; -@property (nonatomic) ExampleMetadata * __nullable currentExampleMetadata; -@property (nonatomic) BOOL isRunningAdditionalSuites; -+ (World * __nonnull)sharedWorld; -- (void)configure:(void (^ __nonnull)(Configuration * __nonnull))closure; -- (void)finalizeConfiguration; -- (ExampleGroup * __nonnull)rootExampleGroupForSpecClass:(Class __nonnull)cls; -- (NSArray * __nonnull)examplesForSpecClass:(Class __nonnull)specClass; -- (void)performWithCurrentExampleGroup:(ExampleGroup * __nonnull)group closure:(void (^ __nonnull)(void))closure; -@end diff --git a/Example/Pods/Quick/Sources/QuickObjectiveC/XCTestSuite+QuickTestSuiteBuilder.m b/Example/Pods/Quick/Sources/QuickObjectiveC/XCTestSuite+QuickTestSuiteBuilder.m index e49939e..ae63036 100644 --- a/Example/Pods/Quick/Sources/QuickObjectiveC/XCTestSuite+QuickTestSuiteBuilder.m +++ b/Example/Pods/Quick/Sources/QuickObjectiveC/XCTestSuite+QuickTestSuiteBuilder.m @@ -1,6 +1,11 @@ #import #import + +#if __has_include("Quick-Swift.h") +#import "Quick-Swift.h" +#else #import +#endif @interface XCTestSuite (QuickTestSuiteBuilder) @end diff --git a/Example/Pods/Quick/Sources/QuickSpecBase/include/QuickSpecBase.h b/Example/Pods/Quick/Sources/QuickSpecBase/include/QuickSpecBase.h deleted file mode 100644 index 8881ca0..0000000 --- a/Example/Pods/Quick/Sources/QuickSpecBase/include/QuickSpecBase.h +++ /dev/null @@ -1,11 +0,0 @@ -#import -#import - -@interface _QuickSelectorWrapper : NSObject -- (instancetype)initWithSelector:(SEL)selector; -@end - -@interface _QuickSpecBase : XCTestCase -+ (NSArray<_QuickSelectorWrapper *> *)_qck_testMethodSelectors; -- (instancetype)init NS_DESIGNATED_INITIALIZER; -@end diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-Info.plist b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-Info.plist deleted file mode 100644 index 57b76a5..0000000 --- a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 2.1.4 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m deleted file mode 100644 index fb0c8fe..0000000 --- a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_FBSnapshotTestCase : NSObject -@end -@implementation PodsDummy_FBSnapshotTestCase -@end diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch deleted file mode 100644 index beb2a24..0000000 --- a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h deleted file mode 100644 index 1734e02..0000000 --- a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "FBSnapshotTestCase.h" -#import "FBSnapshotTestCasePlatform.h" -#import "FBSnapshotTestController.h" - -FOUNDATION_EXPORT double FBSnapshotTestCaseVersionNumber; -FOUNDATION_EXPORT const unsigned char FBSnapshotTestCaseVersionString[]; - diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.debug.xcconfig b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.debug.xcconfig deleted file mode 100644 index 18ae262..0000000 --- a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.debug.xcconfig +++ /dev/null @@ -1,16 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase -ENABLE_BITCODE = NO -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -OTHER_LDFLAGS = $(inherited) -framework "Foundation" -framework "QuartzCore" -framework "UIKit" -framework "XCTest" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/FBSnapshotTestCase -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap deleted file mode 100644 index 45b74ec..0000000 --- a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module FBSnapshotTestCase { - umbrella header "FBSnapshotTestCase-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.release.xcconfig b/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.release.xcconfig deleted file mode 100644 index 18ae262..0000000 --- a/Example/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.release.xcconfig +++ /dev/null @@ -1,16 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase -ENABLE_BITCODE = NO -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -OTHER_LDFLAGS = $(inherited) -framework "Foundation" -framework "QuartzCore" -framework "UIKit" -framework "XCTest" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/FBSnapshotTestCase -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist b/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist index 260005e..e064f30 100644 --- a/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist +++ b/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 8.1.1 + 8.2.1 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots.debug.xcconfig b/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots.debug.xcconfig index a366cee..1174905 100644 --- a/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots.debug.xcconfig +++ b/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots.debug.xcconfig @@ -12,5 +12,5 @@ PODS_TARGET_SRCROOT = ${PODS_ROOT}/Nimble-Snapshots PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots.release.xcconfig b/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots.release.xcconfig index a366cee..1174905 100644 --- a/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots.release.xcconfig +++ b/Example/Pods/Target Support Files/Nimble-Snapshots/Nimble-Snapshots.release.xcconfig @@ -12,5 +12,5 @@ PODS_TARGET_SRCROOT = ${PODS_ROOT}/Nimble-Snapshots PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Nimble/Nimble-Info.plist b/Example/Pods/Target Support Files/Nimble/Nimble-Info.plist index eeade71..1953e7e 100644 --- a/Example/Pods/Target Support Files/Nimble/Nimble-Info.plist +++ b/Example/Pods/Target Support Files/Nimble/Nimble-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 8.0.5 + 8.1.2 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/Nimble/Nimble.debug.xcconfig b/Example/Pods/Target Support Files/Nimble/Nimble.debug.xcconfig index 7c8629f..4325fa6 100644 --- a/Example/Pods/Target Support Files/Nimble/Nimble.debug.xcconfig +++ b/Example/Pods/Target Support Files/Nimble/Nimble.debug.xcconfig @@ -14,5 +14,5 @@ PODS_TARGET_SRCROOT = ${PODS_ROOT}/Nimble PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Nimble/Nimble.release.xcconfig b/Example/Pods/Target Support Files/Nimble/Nimble.release.xcconfig index 7c8629f..4325fa6 100644 --- a/Example/Pods/Target Support Files/Nimble/Nimble.release.xcconfig +++ b/Example/Pods/Target Support Files/Nimble/Nimble.release.xcconfig @@ -14,5 +14,5 @@ PODS_TARGET_SRCROOT = ${PODS_ROOT}/Nimble PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-acknowledgements.markdown index 45437fe..bc1b3a1 100644 --- a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-acknowledgements.markdown @@ -1,39 +1,6 @@ # Acknowledgements This application makes use of the following third party libraries: -## FBSnapshotTestCase - -BSD License - -For the FBSnapshotTestCase software - -Copyright (c) 2013, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - ## Nimble Apache License diff --git a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-acknowledgements.plist index 6f18287..56b5b9f 100644 --- a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-acknowledgements.plist @@ -12,45 +12,6 @@ Type PSGroupSpecifier - - FooterText - BSD License - -For the FBSnapshotTestCase software - -Copyright (c) 2013, Facebook, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name Facebook nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - License - BSD - Title - FBSnapshotTestCase - Type - PSGroupSpecifier - FooterText Apache License diff --git a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-frameworks.sh b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-frameworks.sh index e1d5726..85eb507 100755 --- a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-frameworks.sh @@ -197,14 +197,12 @@ if [ -r "${ARTIFACT_LIST_FILE}" ]; then fi if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework "${BUILT_PRODUCTS_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework" install_framework "${BUILT_PRODUCTS_DIR}/Nimble/Nimble.framework" install_framework "${BUILT_PRODUCTS_DIR}/Nimble-Snapshots/Nimble_Snapshots.framework" install_framework "${BUILT_PRODUCTS_DIR}/Quick/Quick.framework" install_framework "${BUILT_PRODUCTS_DIR}/iOSSnapshotTestCase/FBSnapshotTestCase.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework "${BUILT_PRODUCTS_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework" install_framework "${BUILT_PRODUCTS_DIR}/Nimble/Nimble.framework" install_framework "${BUILT_PRODUCTS_DIR}/Nimble-Snapshots/Nimble_Snapshots.framework" install_framework "${BUILT_PRODUCTS_DIR}/Quick/Quick.framework" diff --git a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.debug.xcconfig index 8073a09..e5eb928 100644 --- a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.debug.xcconfig @@ -1,7 +1,7 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble-Snapshots" "${PODS_CONFIGURATION_BUILD_DIR}/Quick" "${PODS_CONFIGURATION_BUILD_DIR}/StyledText" "${PODS_CONFIGURATION_BUILD_DIR}/iOSSnapshotTestCase" +FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble-Snapshots" "${PODS_CONFIGURATION_BUILD_DIR}/Quick" "${PODS_CONFIGURATION_BUILD_DIR}/StyledText" "${PODS_CONFIGURATION_BUILD_DIR}/iOSSnapshotTestCase" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble-Snapshots/Nimble_Snapshots.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble/Nimble.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Quick/Quick.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/StyledText/StyledText.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/iOSSnapshotTestCase/FBSnapshotTestCase.framework/Headers" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Nimble-Snapshots/Nimble_Snapshots.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble/Nimble.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Quick/Quick.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/StyledText/StyledText.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/iOSSnapshotTestCase/FBSnapshotTestCase.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' OTHER_LDFLAGS = $(inherited) -framework "FBSnapshotTestCase" -framework "Foundation" -framework "Nimble" -framework "Nimble_Snapshots" -framework "QuartzCore" -framework "Quick" -framework "StyledText" -framework "UIKit" -framework "XCTest" -weak_framework "XCTest" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS diff --git a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.release.xcconfig b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.release.xcconfig index 8073a09..e5eb928 100644 --- a/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests.release.xcconfig @@ -1,7 +1,7 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble-Snapshots" "${PODS_CONFIGURATION_BUILD_DIR}/Quick" "${PODS_CONFIGURATION_BUILD_DIR}/StyledText" "${PODS_CONFIGURATION_BUILD_DIR}/iOSSnapshotTestCase" +FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble-Snapshots" "${PODS_CONFIGURATION_BUILD_DIR}/Quick" "${PODS_CONFIGURATION_BUILD_DIR}/StyledText" "${PODS_CONFIGURATION_BUILD_DIR}/iOSSnapshotTestCase" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble-Snapshots/Nimble_Snapshots.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble/Nimble.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Quick/Quick.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/StyledText/StyledText.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/iOSSnapshotTestCase/FBSnapshotTestCase.framework/Headers" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Nimble-Snapshots/Nimble_Snapshots.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Nimble/Nimble.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Quick/Quick.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/StyledText/StyledText.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/iOSSnapshotTestCase/FBSnapshotTestCase.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' OTHER_LDFLAGS = $(inherited) -framework "FBSnapshotTestCase" -framework "Foundation" -framework "Nimble" -framework "Nimble_Snapshots" -framework "QuartzCore" -framework "Quick" -framework "StyledText" -framework "UIKit" -framework "XCTest" -weak_framework "XCTest" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS diff --git a/Example/Pods/Target Support Files/Quick/Quick-Info.plist b/Example/Pods/Target Support Files/Quick/Quick-Info.plist index 2a9158a..4522675 100644 --- a/Example/Pods/Target Support Files/Quick/Quick-Info.plist +++ b/Example/Pods/Target Support Files/Quick/Quick-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.2.0 + 3.0.0 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/Quick/Quick.debug.xcconfig b/Example/Pods/Target Support Files/Quick/Quick.debug.xcconfig index da0e5f5..863bafd 100644 --- a/Example/Pods/Target Support Files/Quick/Quick.debug.xcconfig +++ b/Example/Pods/Target Support Files/Quick/Quick.debug.xcconfig @@ -1,9 +1,11 @@ +APPLICATION_EXTENSION_API_ONLY = YES CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Quick +DEFINES_MODULE = YES ENABLE_BITCODE = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -OTHER_LDFLAGS = $(inherited) -framework "XCTest" +OTHER_LDFLAGS = $(inherited) -Xlinker -no_application_extension -framework "XCTest" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) @@ -12,5 +14,5 @@ PODS_TARGET_SRCROOT = ${PODS_ROOT}/Quick PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Quick/Quick.release.xcconfig b/Example/Pods/Target Support Files/Quick/Quick.release.xcconfig index da0e5f5..863bafd 100644 --- a/Example/Pods/Target Support Files/Quick/Quick.release.xcconfig +++ b/Example/Pods/Target Support Files/Quick/Quick.release.xcconfig @@ -1,9 +1,11 @@ +APPLICATION_EXTENSION_API_ONLY = YES CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Quick +DEFINES_MODULE = YES ENABLE_BITCODE = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -OTHER_LDFLAGS = $(inherited) -framework "XCTest" +OTHER_LDFLAGS = $(inherited) -Xlinker -no_application_extension -framework "XCTest" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) @@ -12,5 +14,5 @@ PODS_TARGET_SRCROOT = ${PODS_ROOT}/Quick PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/StyledText/StyledText-Info.plist b/Example/Pods/Target Support Files/StyledText/StyledText-Info.plist index 2a9158a..b6b2813 100644 --- a/Example/Pods/Target Support Files/StyledText/StyledText-Info.plist +++ b/Example/Pods/Target Support Files/StyledText/StyledText-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.2.0 + 1.3.0 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.debug.xcconfig b/Example/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.debug.xcconfig index 0ab7598..cf3de9e 100644 --- a/Example/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.debug.xcconfig +++ b/Example/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.debug.xcconfig @@ -12,5 +12,5 @@ PODS_TARGET_SRCROOT = ${PODS_ROOT}/iOSSnapshotTestCase PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.release.xcconfig b/Example/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.release.xcconfig index 0ab7598..cf3de9e 100644 --- a/Example/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.release.xcconfig +++ b/Example/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.release.xcconfig @@ -12,5 +12,5 @@ PODS_TARGET_SRCROOT = ${PODS_ROOT}/iOSSnapshotTestCase PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" +SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/StyledText.xcodeproj/project.pbxproj b/Example/StyledText.xcodeproj/project.pbxproj index 41d95c1..90494a5 100644 --- a/Example/StyledText.xcodeproj/project.pbxproj +++ b/Example/StyledText.xcodeproj/project.pbxproj @@ -32,7 +32,7 @@ /* Begin PBXFileReference section */ 175AACA6B7B8101CBF0D50F6 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; }; 4C356AE27839126F8A638240 /* Pods-StyledText_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-StyledText_Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-StyledText_Example/Pods-StyledText_Example.debug.xcconfig"; sourceTree = ""; }; - 568E9772F7B718C066166339 /* StyledText.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = StyledText.podspec; path = ../StyledText.podspec; sourceTree = ""; }; + 568E9772F7B718C066166339 /* StyledText.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = StyledText.podspec; path = ../StyledText.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 607FACD01AFB9204008FA782 /* StyledText_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StyledText_Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 607FACD41AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 607FACD51AFB9204008FA782 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; @@ -219,21 +219,20 @@ TargetAttributes = { 607FACCF1AFB9204008FA782 = { CreatedOnToolsVersion = 6.3.1; - LastSwiftMigration = 0820; + LastSwiftMigration = 1200; }; 607FACE41AFB9204008FA782 = { CreatedOnToolsVersion = 6.3.1; - LastSwiftMigration = 0820; + LastSwiftMigration = 1200; TestTargetID = 607FACCF1AFB9204008FA782; }; }; }; buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "StyledText" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - English, en, Base, ); @@ -276,7 +275,6 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-StyledText_Tests/Pods-StyledText_Tests-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework", "${BUILT_PRODUCTS_DIR}/Nimble/Nimble.framework", "${BUILT_PRODUCTS_DIR}/Nimble-Snapshots/Nimble_Snapshots.framework", "${BUILT_PRODUCTS_DIR}/Quick/Quick.framework", @@ -284,10 +282,10 @@ ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBSnapshotTestCase.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Nimble.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Nimble_Snapshots.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Quick.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBSnapshotTestCase.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -444,6 +442,7 @@ ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -483,6 +482,7 @@ MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 5.0; VALIDATE_PRODUCT = YES; }; name = Release; @@ -498,7 +498,7 @@ MODULE_NAME = ExampleApp; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -513,7 +513,7 @@ MODULE_NAME = ExampleApp; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Release; }; @@ -534,7 +534,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/StyledText_Example.app/StyledText_Example"; }; name = Debug; @@ -552,7 +552,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/StyledText_Example.app/StyledText_Example"; }; name = Release; diff --git a/Example/StyledText.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/StyledText.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Example/StyledText.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Example/StyledText/AppDelegate.swift b/Example/StyledText/AppDelegate.swift index d386cb2..e2d68e5 100644 --- a/Example/StyledText/AppDelegate.swift +++ b/Example/StyledText/AppDelegate.swift @@ -6,7 +6,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. return true } diff --git a/Example/StyledText/Base.lproj/LaunchScreen.xib b/Example/StyledText/Base.lproj/LaunchScreen.xib index 6215148..f4dcd3a 100644 --- a/Example/StyledText/Base.lproj/LaunchScreen.xib +++ b/Example/StyledText/Base.lproj/LaunchScreen.xib @@ -1,8 +1,10 @@ - - + + + - - + + + @@ -11,20 +13,20 @@ - - + @@ -38,4 +40,12 @@ + + + + + + + + diff --git a/Example/Tests/ReferenceImages/StyledButtonSpec/color_blue@2x.png b/Example/Tests/ReferenceImages/StyledButtonSpec/color_blue@2x.png index 8a82d37..41c53e7 100644 Binary files a/Example/Tests/ReferenceImages/StyledButtonSpec/color_blue@2x.png and b/Example/Tests/ReferenceImages/StyledButtonSpec/color_blue@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledButtonSpec/color_green@2x.png b/Example/Tests/ReferenceImages/StyledButtonSpec/color_green@2x.png index 3227056..1b96a71 100644 Binary files a/Example/Tests/ReferenceImages/StyledButtonSpec/color_green@2x.png and b/Example/Tests/ReferenceImages/StyledButtonSpec/color_green@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledButtonSpec/color_red@2x.png b/Example/Tests/ReferenceImages/StyledButtonSpec/color_red@2x.png index f1f6c18..4f15099 100644 Binary files a/Example/Tests/ReferenceImages/StyledButtonSpec/color_red@2x.png and b/Example/Tests/ReferenceImages/StyledButtonSpec/color_red@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledButtonSpec/font_bold@2x.png b/Example/Tests/ReferenceImages/StyledButtonSpec/font_bold@2x.png index 4a27c7d..faee75b 100644 Binary files a/Example/Tests/ReferenceImages/StyledButtonSpec/font_bold@2x.png and b/Example/Tests/ReferenceImages/StyledButtonSpec/font_bold@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledButtonSpec/font_italic@2x.png b/Example/Tests/ReferenceImages/StyledButtonSpec/font_italic@2x.png index e09f2f3..ec9dc54 100644 Binary files a/Example/Tests/ReferenceImages/StyledButtonSpec/font_italic@2x.png and b/Example/Tests/ReferenceImages/StyledButtonSpec/font_italic@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledButtonSpec/font_regular@2x.png b/Example/Tests/ReferenceImages/StyledButtonSpec/font_regular@2x.png index 5e5ace5..fc1e9b3 100644 Binary files a/Example/Tests/ReferenceImages/StyledButtonSpec/font_regular@2x.png and b/Example/Tests/ReferenceImages/StyledButtonSpec/font_regular@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledButtonSpec/kern_large@2x.png b/Example/Tests/ReferenceImages/StyledButtonSpec/kern_large@2x.png index 3cef8ce..3fd7178 100644 Binary files a/Example/Tests/ReferenceImages/StyledButtonSpec/kern_large@2x.png and b/Example/Tests/ReferenceImages/StyledButtonSpec/kern_large@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledButtonSpec/kern_medium@2x.png b/Example/Tests/ReferenceImages/StyledButtonSpec/kern_medium@2x.png index 9d953c1..0cad9fe 100644 Binary files a/Example/Tests/ReferenceImages/StyledButtonSpec/kern_medium@2x.png and b/Example/Tests/ReferenceImages/StyledButtonSpec/kern_medium@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledButtonSpec/kern_negative@2x.png b/Example/Tests/ReferenceImages/StyledButtonSpec/kern_negative@2x.png index 35b9e29..9938b3d 100644 Binary files a/Example/Tests/ReferenceImages/StyledButtonSpec/kern_negative@2x.png and b/Example/Tests/ReferenceImages/StyledButtonSpec/kern_negative@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/color_blue@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/color_blue@2x.png index 2d42005..e3d8942 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/color_blue@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/color_blue@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/color_green@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/color_green@2x.png index ee7bb4b..a6072ea 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/color_green@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/color_green@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/color_red@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/color_red@2x.png index 9f280cd..741607d 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/color_red@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/color_red@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/font_bold@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/font_bold@2x.png index f95f49c..6822698 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/font_bold@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/font_bold@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/font_italic@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/font_italic@2x.png index 81a8f00..75ab4fd 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/font_italic@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/font_italic@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/font_regular@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/font_regular@2x.png index c879aaa..2d02133 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/font_regular@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/font_regular@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/kern_large@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/kern_large@2x.png index fa76796..7ed3259 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/kern_large@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/kern_large@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/kern_medium@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/kern_medium@2x.png index f145542..93fba03 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/kern_medium@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/kern_medium@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/kern_negative@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/kern_negative@2x.png index f0a8e3b..4c47d4e 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/kern_negative@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/kern_negative@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_clipping@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_clipping@2x.png index 9d76cdd..f73a3b2 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_clipping@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_clipping@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_truncate_head@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_truncate_head@2x.png index 2d21032..eb53033 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_truncate_head@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_truncate_head@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_truncate_tail@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_truncate_tail@2x.png index 98b1ddc..9e6cf28 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_truncate_tail@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_truncate_tail@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_word_wrap@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_word_wrap@2x.png index 3cae38d..a651153 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_word_wrap@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/line_break_word_wrap@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/line_height_multiple_double@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/line_height_multiple_double@2x.png index 0271e47..2b6f63a 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/line_height_multiple_double@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/line_height_multiple_double@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/line_height_multiple_half@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/line_height_multiple_half@2x.png index bb32c8b..0dd84e1 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/line_height_multiple_half@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/line_height_multiple_half@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/line_height_multiple_triple@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/line_height_multiple_triple@2x.png index af992de..ca7050a 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/line_height_multiple_triple@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/line_height_multiple_triple@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/line_spacing_large@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/line_spacing_large@2x.png index b41813b..da35292 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/line_spacing_large@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/line_spacing_large@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/line_spacing_medium@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/line_spacing_medium@2x.png index 950303d..bd314fc 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/line_spacing_medium@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/line_spacing_medium@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledLabelSpec/line_spacing_negative@2x.png b/Example/Tests/ReferenceImages/StyledLabelSpec/line_spacing_negative@2x.png index 0f02c88..2bf10d0 100644 Binary files a/Example/Tests/ReferenceImages/StyledLabelSpec/line_spacing_negative@2x.png and b/Example/Tests/ReferenceImages/StyledLabelSpec/line_spacing_negative@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/color_blue@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/color_blue@2x.png index 214d41d..a650dce 100644 Binary files a/Example/Tests/ReferenceImages/StyledTextViewSpec/color_blue@2x.png and b/Example/Tests/ReferenceImages/StyledTextViewSpec/color_blue@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/color_green@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/color_green@2x.png index fbd831b..c14471d 100644 Binary files a/Example/Tests/ReferenceImages/StyledTextViewSpec/color_green@2x.png and b/Example/Tests/ReferenceImages/StyledTextViewSpec/color_green@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/color_red@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/color_red@2x.png index f4c7a1d..52af654 100644 Binary files a/Example/Tests/ReferenceImages/StyledTextViewSpec/color_red@2x.png and b/Example/Tests/ReferenceImages/StyledTextViewSpec/color_red@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/font_bold@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/font_bold@2x.png index f89b952..b17af8c 100644 Binary files a/Example/Tests/ReferenceImages/StyledTextViewSpec/font_bold@2x.png and b/Example/Tests/ReferenceImages/StyledTextViewSpec/font_bold@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/font_italic@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/font_italic@2x.png index f020c1b..6c16c7f 100644 Binary files a/Example/Tests/ReferenceImages/StyledTextViewSpec/font_italic@2x.png and b/Example/Tests/ReferenceImages/StyledTextViewSpec/font_italic@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/font_regular@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/font_regular@2x.png index 1f421db..f07f7a4 100644 Binary files a/Example/Tests/ReferenceImages/StyledTextViewSpec/font_regular@2x.png and b/Example/Tests/ReferenceImages/StyledTextViewSpec/font_regular@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/kern_large@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/kern_large@2x.png index 1b86c4f..7757233 100644 Binary files a/Example/Tests/ReferenceImages/StyledTextViewSpec/kern_large@2x.png and b/Example/Tests/ReferenceImages/StyledTextViewSpec/kern_large@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/kern_medium@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/kern_medium@2x.png index c4837de..368d11d 100644 Binary files a/Example/Tests/ReferenceImages/StyledTextViewSpec/kern_medium@2x.png and b/Example/Tests/ReferenceImages/StyledTextViewSpec/kern_medium@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/kern_negative@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/kern_negative@2x.png index 5f2c7bf..b982537 100644 Binary files a/Example/Tests/ReferenceImages/StyledTextViewSpec/kern_negative@2x.png and b/Example/Tests/ReferenceImages/StyledTextViewSpec/kern_negative@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_break_clipping@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_break_clipping@2x.png index 5b70376..5046b30 100644 Binary files a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_break_clipping@2x.png and b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_break_clipping@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_break_truncate_head@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_break_truncate_head@2x.png index cffe8ce..c106b76 100644 Binary files a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_break_truncate_head@2x.png and b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_break_truncate_head@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_break_truncate_tail@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_break_truncate_tail@2x.png index 8b48565..d9a50a5 100644 Binary files a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_break_truncate_tail@2x.png and b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_break_truncate_tail@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_height_multiple_double@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_height_multiple_double@2x.png index 6ad340f..138e59a 100644 Binary files a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_height_multiple_double@2x.png and b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_height_multiple_double@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_height_multiple_half@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_height_multiple_half@2x.png index 02a5257..e7ace76 100644 Binary files a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_height_multiple_half@2x.png and b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_height_multiple_half@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_height_multiple_triple@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_height_multiple_triple@2x.png index 0c648ba..9166c3a 100644 Binary files a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_height_multiple_triple@2x.png and b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_height_multiple_triple@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_spacing_large@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_spacing_large@2x.png index 35e41fb..40ce2e9 100644 Binary files a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_spacing_large@2x.png and b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_spacing_large@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_spacing_medium@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_spacing_medium@2x.png index 88aaca5..07b6dd0 100644 Binary files a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_spacing_medium@2x.png and b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_spacing_medium@2x.png differ diff --git a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_spacing_negative@2x.png b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_spacing_negative@2x.png index d46f3ba..76aa492 100644 Binary files a/Example/Tests/ReferenceImages/StyledTextViewSpec/line_spacing_negative@2x.png and b/Example/Tests/ReferenceImages/StyledTextViewSpec/line_spacing_negative@2x.png differ diff --git a/StyledText.podspec b/StyledText.podspec index fbb9f1a..8851a04 100644 --- a/StyledText.podspec +++ b/StyledText.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'StyledText' - s.version = '1.2.0' + s.version = '1.3.0' s.summary = 'Declarative text styles and simple Dynamic Type support for iOS' s.description = <<-DESC StyledText is a library that simplifies styling dynamic text in iOS applications. Instead of having to use attributed strings every time you need to update text, you can declaratively set a text style on your labels. When the text of the label is updated, the label uses the preset style. @@ -10,6 +10,7 @@ Pod::Spec.new do |s| s.author = { 'huebnerob' => 'robert.huebner@blueapron.com' } s.source = { :git => 'https://github.com/blueapron/styled-text.git', :tag => 'v' + s.version.to_s } s.ios.deployment_target = '10.0' + s.swift_version = '5.0' s.source_files = 'StyledText/Classes/**/*' s.frameworks = 'UIKit' end diff --git a/StyledText/Classes/DynamicTypeController.swift b/StyledText/Classes/DynamicTypeController.swift index 6136bdb..7424eae 100644 --- a/StyledText/Classes/DynamicTypeController.swift +++ b/StyledText/Classes/DynamicTypeController.swift @@ -16,7 +16,7 @@ public class DynamicTypeController { overrideContentSizeCategory = category } - contentSizeCategoryObservation = NotificationCenter.default.addObserver(forName: NSNotification.Name.UIContentSizeCategoryDidChange, object: nil, queue: .main) { [weak self] notification in + contentSizeCategoryObservation = NotificationCenter.default.addObserver(forName: UIContentSizeCategory.didChangeNotification, object: nil, queue: .main) { [weak self] notification in self?.contentSizeCategoryDidChange() } } diff --git a/StyledText/Classes/StyledButton.swift b/StyledText/Classes/StyledButton.swift index 2c0e381..4c755e5 100644 --- a/StyledText/Classes/StyledButton.swift +++ b/StyledText/Classes/StyledButton.swift @@ -18,7 +18,7 @@ open class StyledButton: UIButton { private func updateStyles() { let normalTitle = self.normalTitle ?? "" - func doUpdate(withText text: String, style: TextStyle, for state: UIControlState) { + func doUpdate(withText text: String, style: TextStyle, for state: UIControl.State) { let styledText = StyledString(string: text, style: style) super.setAttributedTitle(hideTitle ? nil : styledText.styledAttributedStringValue, for: state) } @@ -39,7 +39,7 @@ open class StyledButton: UIButton { // MARK: - Overrides - override open func title(for state: UIControlState) -> String? { + override open func title(for state: UIControl.State) -> String? { if state.contains(.normal) { return normalTitle } else if state.contains(.highlighted) { @@ -54,7 +54,7 @@ open class StyledButton: UIButton { } } - override open func setTitle(_ title: String?, for state: UIControlState) { + override open func setTitle(_ title: String?, for state: UIControl.State) { if state.contains(.normal) { normalTitle = title } else if state.contains(.highlighted) { @@ -68,12 +68,12 @@ open class StyledButton: UIButton { } } - override open func titleColor(for state: UIControlState) -> UIColor? { + override open func titleColor(for state: UIControl.State) -> UIColor? { assertionFailure("StyledButton must use TextStyle for title color") return nil } - override open func setTitleColor(_ color: UIColor?, for state: UIControlState) { + override open func setTitleColor(_ color: UIColor?, for state: UIControl.State) { assertionFailure("StyledButton must use TextStyle for title color") } diff --git a/StyledText/Classes/StyledText.swift b/StyledText/Classes/StyledText.swift index cdecab0..fb70571 100644 --- a/StyledText/Classes/StyledText.swift +++ b/StyledText/Classes/StyledText.swift @@ -33,7 +33,7 @@ public struct StyledAttributedString: StyledText { return attributedString } - func enumerator(attributes: [NSAttributedStringKey: Any], range: NSRange, stop: UnsafeMutablePointer) { + func enumerator(attributes: [NSAttributedString.Key: Any], range: NSRange, stop: UnsafeMutablePointer) { var attributesToAdd = style.attributes // choosing existing string attributes if they exist over our style attributes [RH] attributes.forEach { (key, _) in diff --git a/StyledText/Classes/TextStyle.swift b/StyledText/Classes/TextStyle.swift index 1b9b226..037507e 100644 --- a/StyledText/Classes/TextStyle.swift +++ b/StyledText/Classes/TextStyle.swift @@ -65,8 +65,8 @@ public struct TextStyle { self.dynamicTypeController = controller } - public var attributes: [NSAttributedStringKey: Any] { - var attributes: [NSAttributedStringKey: Any] = [:] + public var attributes: [NSAttributedString.Key: Any] { + var attributes: [NSAttributedString.Key: Any] = [:] let paragraphStyle = NSMutableParagraphStyle() paragraphStyle.setParagraphStyle(.default) @@ -80,19 +80,19 @@ public struct TextStyle { scaledFont = dynamicTypeController.adjustFontForDynamicSize(font: font, supportAccessibiltySizes: true) } - attributes[NSAttributedStringKey.font] = scaledFont - attributes[NSAttributedStringKey.foregroundColor] = color + attributes[NSAttributedString.Key.font] = scaledFont + attributes[NSAttributedString.Key.foregroundColor] = color if let lineSpacing = lineSpacing { paragraphStyle.lineSpacing = lineSpacing } if let lineHeightMultiple = lineHeightMultiple { let adjustedLineHeightMultiple = lineHeightMultiple * (font.pointSize / font.lineHeight) paragraphStyle.lineHeightMultiple = adjustedLineHeightMultiple } - if let kern = kern { attributes[NSAttributedStringKey.kern] = kern } + if let kern = kern { attributes[NSAttributedString.Key.kern] = kern } if let alignment = alignment { paragraphStyle.alignment = alignment } if let lineBreakMode = lineBreakMode { paragraphStyle.lineBreakMode = lineBreakMode } - attributes[NSAttributedStringKey.paragraphStyle] = paragraphStyle + attributes[NSAttributedString.Key.paragraphStyle] = paragraphStyle return attributes } diff --git a/StyledText/Classes/WeakArray.swift b/StyledText/Classes/WeakArray.swift index fb5c2fd..bbe1f13 100644 --- a/StyledText/Classes/WeakArray.swift +++ b/StyledText/Classes/WeakArray.swift @@ -30,7 +30,7 @@ internal class WeakArray { func forEach(doBlock: (Element) -> Void) { // clean up any deallocated items first - contents = contents.flatMap { $0.value != nil ? $0 : nil } + contents = contents.compactMap { $0.value != nil ? $0 : nil } for i in contents.startIndex..