lib/assets/SnapshotHelper.swift in snapshot-1.4.1 vs lib/assets/SnapshotHelper.swift in snapshot-1.4.2

- old
+ new

@@ -15,37 +15,41 @@ func setLanguage(app: XCUIApplication) { setupSnapshot(app) } func setupSnapshot(app: XCUIApplication) { - Snapshot.setLanguage(app) - Snapshot.setLaunchArguments(app) + Snapshot.setupSnapshot(app) } func snapshot(name: String, waitForLoadingIndicator: Bool = false) { Snapshot.snapshot(name, waitForLoadingIndicator: waitForLoadingIndicator) } class Snapshot: NSObject { - + + class func setupSnapshot(app: XCUIApplication) { + setLanguage(app) + setLaunchArguments(app) + } + class func setLanguage(app: XCUIApplication) { let path = "/tmp/language.txt" - + do { let locale = try NSString(contentsOfFile: path, encoding: NSUTF8StringEncoding) as String deviceLanguage = locale.substringToIndex(locale.startIndex.advancedBy(2, limit:locale.endIndex)) app.launchArguments += ["-AppleLanguages", "(\(deviceLanguage))", "-AppleLocale", "\"\(locale)\"", "-ui_testing"] } catch { print("Couldn't detect/set language...") } } - + class func setLaunchArguments(app: XCUIApplication) { let path = "/tmp/snapshot-launch_arguments.txt" - + app.launchArguments += ["-FASTLANE_SNAPSHOT", "YES"] - + do { let launchArguments = try NSString(contentsOfFile: path, encoding: NSUTF8StringEncoding) as String let regex = try NSRegularExpression(pattern: "(\\\".+?\\\"|\\S+)", options: []) let matches = regex.matchesInString(launchArguments, options: [], range: NSRange(location:0, length:launchArguments.characters.count)) let results = matches.map { result -> String in @@ -54,21 +58,21 @@ app.launchArguments += results } catch { print("Couldn't detect/set launch_arguments...") } } - + class func snapshot(name: String, waitForLoadingIndicator: Bool = false) { if waitForLoadingIndicator { waitForLoadingIndicatorToDisappear() } - + print("snapshot: \(name)") // more information about this, check out https://github.com/krausefx/snapshot - + sleep(1) // Waiting for the animation to be finished (kind of) XCUIDevice.sharedDevice().orientation = .Unknown } - + class func waitForLoadingIndicatorToDisappear() { let query = XCUIApplication().statusBars.childrenMatchingType(.Other).elementBoundByIndex(1).childrenMatchingType(.Other) while query.count > 4 { sleep(1)