summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@mullvad.net>2021-11-04 17:22:18 +0100
committerAndrej Mihajlov <and@mullvad.net>2021-11-15 11:33:15 +0100
commit5617e5e2a61b963a674aa5a91c65f8925fab1cb4 (patch)
treea4370432a19074c2f24de75963c0f90cbef8ad94
parent1484458c39a7d87f6627d5bb88ac00d5ba4553e0 (diff)
downloadmullvadvpn-5617e5e2a61b963a674aa5a91c65f8925fab1cb4.tar.xz
mullvadvpn-5617e5e2a61b963a674aa5a91c65f8925fab1cb4.zip
Update snapshot helper
-rw-r--r--ios/MullvadVPNScreenshots/SnapshotHelper.swift33
1 files changed, 30 insertions, 3 deletions
diff --git a/ios/MullvadVPNScreenshots/SnapshotHelper.swift b/ios/MullvadVPNScreenshots/SnapshotHelper.swift
index f5b393c2c5..015cfeaa55 100644
--- a/ios/MullvadVPNScreenshots/SnapshotHelper.swift
+++ b/ios/MullvadVPNScreenshots/SnapshotHelper.swift
@@ -165,6 +165,12 @@ open class Snapshot: NSObject {
}
let screenshot = XCUIScreen.main.screenshot()
+ #if os(iOS)
+ let image = XCUIDevice.shared.orientation.isLandscape ? fixLandscapeOrientation(image: screenshot.image) : screenshot.image
+ #else
+ let image = screenshot.image
+ #endif
+
guard var simulator = ProcessInfo().environment["SIMULATOR_DEVICE_NAME"], let screenshotsDir = screenshotsDirectory else { return }
do {
@@ -174,7 +180,11 @@ open class Snapshot: NSObject {
simulator = regex.stringByReplacingMatches(in: simulator, range: range, withTemplate: "")
let path = screenshotsDir.appendingPathComponent("\(simulator)-\(name).png")
- try screenshot.pngRepresentation.write(to: path)
+ #if swift(<5.0)
+ UIImagePNGRepresentation(image)?.write(to: path, options: .atomic)
+ #else
+ try image.pngData()?.write(to: path, options: .atomic)
+ #endif
} catch let error {
NSLog("Problem writing screenshot: \(name) to \(screenshotsDir)/\(simulator)-\(name).png")
NSLog(error.localizedDescription)
@@ -182,6 +192,23 @@ open class Snapshot: NSObject {
#endif
}
+ class func fixLandscapeOrientation(image: UIImage) -> UIImage {
+ #if os(watchOS)
+ return image
+ #else
+ if #available(iOS 10.0, *) {
+ let format = UIGraphicsImageRendererFormat()
+ format.scale = image.scale
+ let renderer = UIGraphicsImageRenderer(size: image.size, format: format)
+ return renderer.image { context in
+ image.draw(in: CGRect(x: 0, y: 0, width: image.size.width, height: image.size.height))
+ }
+ } else {
+ return image
+ }
+ #endif
+ }
+
class func waitForLoadingIndicatorToDisappear(within timeout: TimeInterval) {
#if os(tvOS)
return
@@ -204,7 +231,7 @@ open class Snapshot: NSObject {
#if os(OSX)
let homeDir = URL(fileURLWithPath: NSHomeDirectory())
return homeDir.appendingPathComponent(cachePath)
- #elseif arch(i386) || arch(x86_64)
+ #elseif arch(i386) || arch(x86_64) || arch(arm64)
guard let simulatorHostHome = ProcessInfo().environment["SIMULATOR_HOST_HOME"] else {
throw SnapshotError.cannotFindSimulatorHomeDirectory
}
@@ -279,4 +306,4 @@ private extension CGFloat {
// Please don't remove the lines below
// They are used to detect outdated configuration files
-// SnapshotHelperVersion [1.23]
+// SnapshotHelperVersion [1.27]