Files
swift-mirror/validation-test/stdlib/StdlibUnittestFoundationExtras.swift
Dmitri Hrybenko c421c51a42 StdlibUnittest: add facilities to replace NSLocale.currentLocale()
Will use this API to write tests for rdar://20171815.

Swift SVN r26391
2015-03-21 05:41:46 +00:00

71 lines
1.9 KiB
Swift

// RUN: %target-run-simple-swift
import StdlibUnittest
import Foundation
import StdlibUnittestFoundationExtras
var FoundationExtrasTests = TestSuite("FoundationExtras")
FoundationExtrasTests.test("withOverriddenNSLocaleCurrentLocale(NSLocale)") {
// Check two locales to make sure the behavior is correct even if one of
// these locales happens to be the same as the actual current locale.
if true {
let result = withOverriddenNSLocaleCurrentLocale(
NSLocale(localeIdentifier: "en_US")) {
() -> Int in
expectEqual("en_US", NSLocale.currentLocale().localeIdentifier)
return 42
}
expectEqual(42, result)
}
if true {
let result = withOverriddenNSLocaleCurrentLocale(
NSLocale(localeIdentifier: "uk")) {
() -> Int in
expectEqual("uk", NSLocale.currentLocale().localeIdentifier)
return 42
}
expectEqual(42, result)
}
}
FoundationExtrasTests.test("withOverriddenNSLocaleCurrentLocale(NSLocale)/nested") {
withOverriddenNSLocaleCurrentLocale(
NSLocale(localeIdentifier: "uk")) {
() -> () in
expectCrashLater()
withOverriddenNSLocaleCurrentLocale(
NSLocale(localeIdentifier: "uk")) {
() -> () in
return ()
}
}
}
FoundationExtrasTests.test("withOverriddenNSLocaleCurrentLocale(String)") {
// Check two locales to make sure the behavior is correct even if one of
// these locales happens to be the same as the actual current locale.
if true {
let result = withOverriddenNSLocaleCurrentLocale("en_US") {
() -> Int in
expectEqual("en_US", NSLocale.currentLocale().localeIdentifier)
return 42
}
expectEqual(42, result)
}
if true {
let result = withOverriddenNSLocaleCurrentLocale("uk") {
() -> Int in
expectEqual("uk", NSLocale.currentLocale().localeIdentifier)
return 42
}
expectEqual(42, result)
}
}
runAllTests()