Antidote/AntidoteTests/SnapshotBaseTest.swift
2024-02-22 21:43:11 +02:00

45 lines
1.2 KiB
Swift

// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
import XCTest
class SnapshotBaseTest: FBSnapshotTestCase {
var theme: Theme!
var image: UIImage {
get {
let bundle = Bundle(for: type(of: self))
return UIImage(named: "icon", in:bundle, compatibleWith: nil)!
}
}
override func setUp() {
super.setUp()
let filepath = Bundle.main.path(forResource: "default-theme", ofType: "yaml")!
let yamlString = try! NSString(contentsOfFile:filepath, encoding:String.Encoding.utf8.rawValue) as String
theme = try! Theme(yamlString: yamlString)
}
func verifyView(_ view: UIView) {
FBSnapshotVerifyView(view, identifier: "normal")
view.forceRightToLeft()
FBSnapshotVerifyView(view, identifier: "right-to-left")
}
}
private extension UIView {
func forceRightToLeft() {
if #available(iOS 9.0, *) {
semanticContentAttribute = .forceRightToLeft
}
for view in subviews {
view.forceRightToLeft()
}
}
}