RadrootsUITestLaunchConfiguration.swift (995B)
1 import Foundation 2 3 public struct RadrootsUITestLaunchConfiguration: Sendable, Equatable { 4 public let environment: [String: String] 5 public let arguments: [String] 6 7 public init(environment: [String: String], arguments: [String]) { 8 self.environment = environment 9 self.arguments = arguments 10 } 11 12 public static func deterministic( 13 environment: [String: String] = [:], 14 arguments: [String] = [], 15 language: String = "en", 16 locale: String = "en_US_POSIX" 17 ) -> Self { 18 Self( 19 environment: environment, 20 arguments: arguments + [ 21 "-AppleLanguages", 22 "(\(language))", 23 "-AppleLocale", 24 locale 25 ] 26 ) 27 } 28 29 public func mergedEnvironment(over base: [String: String]) -> [String: String] { 30 var merged = base 31 for (key, value) in environment { 32 merged[key] = value 33 } 34 return merged 35 } 36 }