Skip to content

Commit 248fc2e

Browse files
authored
Merge pull request #1748 from spevans/pr_icu_test_fixes
2 parents 50c0ac9 + 0eeb5a0 commit 248fc2e

File tree

1 file changed

+30
-41
lines changed

1 file changed

+30
-41
lines changed

TestFoundation/TestNumberFormatter.swift

Lines changed: 30 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ class TestNumberFormatter: XCTestCase {
3030
("test_scientificMinimumIntegerDigits", test_scientificMinimumIntegerDigits),
3131
("test_spellOutMinimumIntegerDigits", test_spellOutMinimumIntegerDigits),
3232
("test_ordinalMinimumIntegerDigits", test_ordinalMinimumIntegerDigits),
33-
// XFAIL: breaks on Ubuntu 14.04 probably ICU - ("test_currencyPluralMinimumIntegerDigits", test_currencyPluralMinimumIntegerDigits),
34-
// XFAIL: breaks on Ubuntu 14.04 probably ICU - ("test_currencyISOCodeMinimumIntegerDigits", test_currencyISOCodeMinimumIntegerDigits),
35-
// XFAIL: breaks on Ubuntu 14.04 probably ICU - ("test_currencyAccountingMinimumIntegerDigits", test_currencyAccountingMinimumIntegerDigits),
33+
("test_currencyPluralMinimumIntegerDigits", test_currencyPluralMinimumIntegerDigits),
34+
("test_currencyISOCodeMinimumIntegerDigits", test_currencyISOCodeMinimumIntegerDigits),
35+
("test_currencyAccountingMinimumIntegerDigits", test_currencyAccountingMinimumIntegerDigits),
3636
("test_maximumIntegerDigits", test_maximumIntegerDigits),
3737
("test_minimumFractionDigits", test_minimumFractionDigits),
3838
("test_maximumFractionDigits", test_maximumFractionDigits),
@@ -59,15 +59,12 @@ class TestNumberFormatter: XCTestCase {
5959
}
6060

6161
func test_currencyCode() {
62-
// Disabled due to [SR-250]
63-
/*
6462
let numberFormatter = NumberFormatter()
65-
numberFormatter.numberStyle = .CurrencyStyle
63+
numberFormatter.numberStyle = .currency
6664
numberFormatter.currencyCode = "T"
6765
numberFormatter.currencyDecimalSeparator = "_"
68-
let formattedString = numberFormatter.stringFromNumber(42)
69-
XCTAssertEqual(formattedString, "T 42_00")
70-
*/
66+
let formattedString = numberFormatter.string(from: 42)
67+
XCTAssertEqual(formattedString, "T42_00")
7168
}
7269

7370
func test_decimalSeparator() {
@@ -83,15 +80,12 @@ class TestNumberFormatter: XCTestCase {
8380
}
8481

8582
func test_currencyDecimalSeparator() {
86-
// Disabled due to [SR-250]
87-
/*
8883
let numberFormatter = NumberFormatter()
89-
numberFormatter.numberStyle = .CurrencyStyle
84+
numberFormatter.numberStyle = .currency
9085
numberFormatter.currencyDecimalSeparator = "-"
9186
numberFormatter.currencyCode = "T"
92-
let formattedString = numberFormatter.stringFromNumber(42.42)
93-
XCTAssertEqual(formattedString, "T 42-42")
94-
*/
87+
let formattedString = numberFormatter.string(from: 42.42)
88+
XCTAssertEqual(formattedString, "T42-42")
9589
}
9690

9791
func test_alwaysShowDecimalSeparator() {
@@ -191,15 +185,12 @@ class TestNumberFormatter: XCTestCase {
191185
}
192186

193187
func test_currencySymbol() {
194-
// Disabled due to [SR-250]
195-
/*
196188
let numberFormatter = NumberFormatter()
197-
numberFormatter.numberStyle = .CurrencyStyle
189+
numberFormatter.numberStyle = .currency
198190
numberFormatter.currencySymbol = "🍯"
199191
numberFormatter.currencyDecimalSeparator = "_"
200-
let formattedString = numberFormatter.stringFromNumber(42)
201-
XCTAssertEqual(formattedString, "🍯 42_00")
202-
*/
192+
let formattedString = numberFormatter.string(from: 42)
193+
XCTAssertEqual(formattedString, "🍯42_00")
203194
}
204195

205196
func test_exponentSymbol() {
@@ -527,28 +518,26 @@ class TestNumberFormatter: XCTestCase {
527518
}
528519

529520
func test_internationalCurrencySymbol() {
530-
// Disabled due to [SR-250]
531-
/*
521+
// What does internationalCurrencySymbol actually do?
522+
#if false
532523
let numberFormatter = NumberFormatter()
533-
numberFormatter.numberStyle = .CurrencyPluralStyle
524+
numberFormatter.numberStyle = .currencyPlural
534525
numberFormatter.internationalCurrencySymbol = "💵"
535526
numberFormatter.currencyDecimalSeparator = "_"
536-
let formattedString = numberFormatter.stringFromNumber(42)
537-
XCTAssertEqual(formattedString, "💵 42_00")
538-
*/
527+
let formattedString = numberFormatter.string(from: 42)
528+
XCTAssertEqual(formattedString, "💵42_00")
529+
#endif
539530
}
540531

541532
func test_currencyGroupingSeparator() {
542-
// Disabled due to [SR-250]
543-
/*
544533
let numberFormatter = NumberFormatter()
545-
numberFormatter.numberStyle = .CurrencyStyle
534+
numberFormatter.numberStyle = .currency
546535
numberFormatter.currencyGroupingSeparator = "_"
547536
numberFormatter.currencyCode = "T"
548537
numberFormatter.currencyDecimalSeparator = "/"
549-
let formattedString = numberFormatter.stringFromNumber(42_000)
550-
XCTAssertEqual(formattedString, "T 42_000/00")
551-
*/
538+
let formattedString = numberFormatter.string(from: 42_000)
539+
XCTAssertEqual(formattedString, "T42_000/00")
540+
552541
}
553542

554543
func test_lenient() {
@@ -569,13 +558,14 @@ class TestNumberFormatter: XCTestCase {
569558
XCTAssertEqual(number, 2.22)
570559

571560
// TODO: Add some tests with currency after [SR-250] resolved
572-
// numberFormatter.numberStyle = .currency
573-
// let nilNumberBeforeLenient = numberFormatter.number(from: "42")
574-
//
575-
// XCTAssertNil(nilNumberBeforeLenient)
576-
// numberFormatter.isLenient = true
577-
// let numberAfterLenient = numberFormatter.number(from: "42.42")
578-
// XCTAssertEqual(numberAfterLenient, 42.42)
561+
numberFormatter.numberStyle = .currency
562+
numberFormatter.isLenient = false
563+
let nilNumberBeforeLenient = numberFormatter.number(from: "42")
564+
565+
XCTAssertNil(nilNumberBeforeLenient)
566+
numberFormatter.isLenient = true
567+
let numberAfterLenient = numberFormatter.number(from: "42.42")
568+
XCTAssertEqual(numberAfterLenient, 42.42)
579569
}
580570

581571
func test_minimumSignificantDigits() {
@@ -683,4 +673,3 @@ class TestNumberFormatter: XCTestCase {
683673
XCTAssertEqual(numberFormatter.paddingCharacter, " ")
684674
}
685675
}
686-

0 commit comments

Comments
 (0)