Files
GradientLoadingBar/Example/ExampleSnapshotTests/GradientLoadingBarController/NotchGradientLoadingBarControllerTestCase.swift
T

46 lines
1.2 KiB
Swift

//
// NotchGradientLoadingBarControllerTestCase.swift
// ExampleSnapshotTests
//
// Created by Felix Mau on 14.06.20.
// Copyright © 2020 Felix Mau. All rights reserved.
//
import XCTest
import SnapshotTesting
@testable import GradientLoadingBar
final class NotchGradientLoadingBarControllerTestCase: XCTestCase {
// swiftlint:disable:previous type_name
// MARK: - Config
private enum Config {
/// The percentage of pixels that must match.
static let precision: Float = 0.99
}
// MARK: - Tests
func test_notchGradientLoadingBarController() {
// Given
let rootViewController = UIViewController()
let notchGradientLoadingBarController = NotchGradientLoadingBarController()
// When
notchGradientLoadingBarController.fadeIn(duration: 0)
let expectation = expectation(description: "Wait for view to appear.")
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
expectation.fulfill()
}
// Then
wait(for: [expectation], timeout: 1)
assertSnapshot(matching: rootViewController,
as: .image(drawHierarchyInKeyWindow: true, precision: Config.precision))
}
}