Skip to content

Commit 9728b28

Browse files
authored
Merge pull request #1043 from skyline75489/fix/remove-sr3202-locale-fix
Remove temporary workaround for SR-3202
2 parents bdd4cef + 688b3ea commit 9728b28

File tree

3 files changed

+5
-24
lines changed

3 files changed

+5
-24
lines changed

Foundation/NSLengthFormatter.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ open class LengthFormatter : Formatter {
6969
//Extract the number from the measurement
7070
let numberInUnit = unitMeasurement.value
7171

72-
if isForPersonHeightUse && !numberFormatter.locale.sr3202_fix_isMetricSystemLocale() {
72+
if isForPersonHeightUse && !numberFormatter.locale.usesMetricSystem {
7373
let feet = numberInUnit.rounded(.towardZero)
7474
let feetString = string(fromValue: feet, unit: .foot)
7575

@@ -123,7 +123,7 @@ open class LengthFormatter : Formatter {
123123
/// - Parameter numberInMeters: the magnitude in terms of meters
124124
/// - Returns: Returns the appropriate unit
125125
private func unit(fromMeters numberInMeters: Double) -> Unit {
126-
if numberFormatter.locale.sr3202_fix_isMetricSystemLocale() {
126+
if numberFormatter.locale.usesMetricSystem {
127127
//Person height is always returned in cm for metric system
128128
if isForPersonHeightUse { return .centimeter }
129129

Foundation/NSMassFormatter.swift

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ open class MassFormatter : Formatter {
134134
/// - Parameter numberInKilograms: the magnitude in terms of kilograms
135135
/// - Returns: Returns the appropriate unit
136136
private func convertedUnit(fromKilograms numberInKilograms: Double) -> Unit {
137-
if numberFormatter.locale.sr3202_fix_isMetricSystemLocale() {
137+
if numberFormatter.locale.usesMetricSystem {
138138
if numberInKilograms > 1.0 || numberInKilograms <= 0.0 {
139139
return .kilogram
140140
} else {
@@ -236,22 +236,3 @@ open class MassFormatter : Formatter {
236236
.pound: "pounds",
237237
.stone: "stones"]
238238
}
239-
240-
internal extension Locale {
241-
/// TODO: Replace calls to the below function to use Locale.usesMetricSystem
242-
/// Temporary workaround due to unpopulated Locale attributes
243-
/// See https://bugs.swift.org/browse/SR-3202
244-
internal func sr3202_fix_isMetricSystemLocale() -> Bool {
245-
switch self.identifier {
246-
case "en_US": return false
247-
case "en_US_POSIX": return false
248-
case "haw_US": return false
249-
case "es_US": return false
250-
case "chr_US": return false
251-
case "my_MM": return false
252-
case "en_LR": return false
253-
case "vai_LR": return false
254-
default: return true
255-
}
256-
}
257-
}

TestFoundation/TestNSLengthFormatter.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ class TestNSLengthFormatter: XCTestCase {
6767
}
6868

6969
func test_stringFromMetersMetric() {
70-
formatter.numberFormatter.locale = Locale(identifier: "en_UK")
70+
formatter.numberFormatter.locale = Locale(identifier: "en_GB")
7171
XCTAssertEqual(formatter.string(fromMeters: -10000), "-10 km")
7272
XCTAssertEqual(formatter.string(fromMeters: -1), "-0.001 km")
7373
XCTAssertEqual(formatter.string(fromMeters: 0.00001), "0.01 mm")
@@ -85,7 +85,7 @@ class TestNSLengthFormatter: XCTestCase {
8585
}
8686

8787
func test_stringFromMetersMetricPersonHeight() {
88-
formatter.numberFormatter.locale = Locale(identifier: "en_UK")
88+
formatter.numberFormatter.locale = Locale(identifier: "en_GB")
8989
formatter.isForPersonHeightUse = true
9090
XCTAssertEqual(formatter.string(fromMeters: -1), "-100 cm")
9191
XCTAssertEqual(formatter.string(fromMeters: 0.001), "0.1 cm")

0 commit comments

Comments
 (0)