Files
momenbasel--puremac/PureMacTests/AppLanguagePreferencesTests.swift
wehub-resource-sync 869b84f27c
Build / build (push) Waiting to run
chore: import upstream snapshot with attribution
2026-07-13 12:29:30 +08:00

35 lines
1.3 KiB
Swift

import XCTest
@testable import PureMac
final class AppLanguagePreferencesTests: XCTestCase {
func testApplyCustomLanguageSetsAppleLanguagesAndPreservesLocale() {
let context = makeDefaults()
let defaults = context.defaults
defaults.set("pt_BR", forKey: "AppleLocale")
AppLanguagePreferences.apply(.english, defaults: defaults)
XCTAssertEqual(defaults.array(forKey: "AppleLanguages") as? [String], ["en"])
XCTAssertEqual(defaults.string(forKey: "AppleLocale"), "pt_BR")
}
func testApplySystemLanguageRemovesAppleLanguagesAndPreservesLocale() {
let context = makeDefaults()
let defaults = context.defaults
defaults.set(["en"], forKey: "AppleLanguages")
defaults.set("pt_BR", forKey: "AppleLocale")
AppLanguagePreferences.apply(.system, defaults: defaults)
XCTAssertNil(defaults.persistentDomain(forName: context.suiteName)?["AppleLanguages"])
XCTAssertEqual(defaults.string(forKey: "AppleLocale"), "pt_BR")
}
private func makeDefaults() -> (defaults: UserDefaults, suiteName: String) {
let suiteName = "PureMacTests.AppLanguagePreferences.\(UUID().uuidString)"
let defaults = UserDefaults(suiteName: suiteName)!
defaults.removePersistentDomain(forName: suiteName)
return (defaults, suiteName)
}
}