File tree Expand file tree Collapse file tree 3 files changed +5
-24
lines changed
Expand file tree Collapse file tree 3 files changed +5
-24
lines changed Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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- }
Original file line number Diff line number Diff 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 " )
You can’t perform that action at this time.
0 commit comments