/* * 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 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]; CGSize screenSize = [[UIApplication sharedApplication] 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; }