ReCaptcha/Example/ReCaptcha_Tests/Helpers/ReCaptchaDecoder+Helper.swift

56 lines
1.2 KiB
Swift

//
// ReCaptchaDecoder+Helper.swift
// ReCaptcha
//
// Created by Flávio Caetano on 22/12/17.
// Copyright © 2018 ReCaptcha. All rights reserved.
//
import Foundation
@testable import ReCaptcha
import WebKit
class MockMessage: WKScriptMessage {
override var body: Any {
return storedBody
}
fileprivate let storedBody: Any
init(message: Any) {
storedBody = message
}
}
// MARK: - Decoder Helpers
extension ReCaptchaDecoder {
func send(message: MockMessage) {
userContentController(WKUserContentController(), didReceive: message)
}
}
// MARK: - Result Helpers
extension ReCaptchaDecoder.Result: Equatable {
var error: ReCaptchaError? {
guard case .error(let error) = self else { return nil }
return error
}
public static func == (lhs: ReCaptchaDecoder.Result, rhs: ReCaptchaDecoder.Result) -> Bool {
switch (lhs, rhs) {
case (.showReCaptcha, .showReCaptcha),
(.didLoad, .didLoad):
return true
case (.token(let lht), .token(let rht)):
return lht == rht
case (.error(let lhe), .error(let rhe)):
return lhe == rhe
default:
return false
}
}
}