Skip to content

Commit b2e832c

Browse files
committed
Initial implementation of NSNumberFormatter.
- Added implementation for attributes. - Added unit tests.
1 parent cb5515e commit b2e832c

File tree

7 files changed

+1170
-88
lines changed

7 files changed

+1170
-88
lines changed

Foundation.xcodeproj/project.pbxproj

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,7 @@
207207
84BA558E1C16F90900F48C54 /* TestNSTimeZone.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84BA558D1C16F90900F48C54 /* TestNSTimeZone.swift */; };
208208
88D28DE71C13AE9000494606 /* TestNSGeometry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88D28DE61C13AE9000494606 /* TestNSGeometry.swift */; };
209209
A5A34B561C18C85D00FD972B /* TestNSByteCountFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5A34B551C18C85D00FD972B /* TestNSByteCountFormatter.swift */; };
210+
AA664D4F1C1B03CA00C22186 /* TestNSNumberFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA664D4E1C1B03CA00C22186 /* TestNSNumberFormatter.swift */; };
210211
C2A9D75C1C15C08B00993803 /* TestNSUUID.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2A9D75B1C15C08B00993803 /* TestNSUUID.swift */; };
211212
C93559291C12C49F009FD6A9 /* TestNSAffineTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = C93559281C12C49F009FD6A9 /* TestNSAffineTransform.swift */; };
212213
DCDBB8331C1768AC00313299 /* TestNSData.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCDBB8321C1768AC00313299 /* TestNSData.swift */; };
@@ -545,6 +546,7 @@
545546
84BA558D1C16F90900F48C54 /* TestNSTimeZone.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestNSTimeZone.swift; sourceTree = "<group>"; };
546547
88D28DE61C13AE9000494606 /* TestNSGeometry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestNSGeometry.swift; sourceTree = "<group>"; };
547548
A5A34B551C18C85D00FD972B /* TestNSByteCountFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestNSByteCountFormatter.swift; sourceTree = "<group>"; };
549+
AA664D4E1C1B03CA00C22186 /* TestNSNumberFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestNSNumberFormatter.swift; sourceTree = "<group>"; };
548550
C2A9D75B1C15C08B00993803 /* TestNSUUID.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestNSUUID.swift; sourceTree = "<group>"; };
549551
C93559281C12C49F009FD6A9 /* TestNSAffineTransform.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestNSAffineTransform.swift; sourceTree = "<group>"; };
550552
DCDBB8321C1768AC00313299 /* TestNSData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestNSData.swift; sourceTree = "<group>"; };
@@ -1068,6 +1070,7 @@
10681070
83712C8D1C1684900049AD49 /* TestNSURLRequest.swift */,
10691071
7A7D6FBA1C16439400957E2E /* TestNSURLResponse.swift */,
10701072
A5A34B551C18C85D00FD972B /* TestNSByteCountFormatter.swift */,
1073+
AA664D4E1C1B03CA00C22186 /* TestNSNumberFormatter.swift */,
10711074
);
10721075
name = Tests;
10731076
sourceTree = "<group>";
@@ -1787,7 +1790,8 @@
17871790
6E203B8D1C1303BB003B2576 /* TestNSBundle.swift in Sources */,
17881791
88D28DE71C13AE9000494606 /* TestNSGeometry.swift in Sources */,
17891792
EA66F64C1BF1619600136161 /* TestNSDictionary.swift in Sources */,
1790-
ED58F76F1C134B3A00E6A5BE /* (null) in Sources */,
1793+
ED58F76F1C134B3A00E6A5BE /* TestNSJSONSerialization.swift in Sources */,
1794+
AA664D4F1C1B03CA00C22186 /* TestNSNumberFormatter.swift in Sources */,
17911795
EA66F6581BF1619600136161 /* TestNSURL.swift in Sources */,
17921796
EA66F6441BF1619600136161 /* main.swift in Sources */,
17931797
);

Foundation.xcodeproj/xcshareddata/xcschemes/SwiftFoundation.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
33
LastUpgradeVersion = "0710"
4-
version = "1.3">
4+
version = "1.8">
55
<BuildAction
66
parallelizeBuildables = "NO"
77
buildImplicitDependencies = "NO">

Foundation.xcodeproj/xcshareddata/xcschemes/TestFoundation.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
33
LastUpgradeVersion = "0710"
4-
version = "1.3">
4+
version = "1.8">
55
<BuildAction
66
parallelizeBuildables = "NO"
77
buildImplicitDependencies = "NO">

Foundation/NSNumber.swift

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ extension Double : _ObjectTypeBridgeable {
9595
}
9696
}
9797

98-
extension Bool: _ObjectTypeBridgeable {
98+
extension Bool : _ObjectTypeBridgeable {
9999
public init(_ number: NSNumber) {
100100
self = number.boolValue
101101
}
@@ -114,6 +114,13 @@ extension Bool: _ObjectTypeBridgeable {
114114
}
115115
}
116116

117+
extension Bool : _CFBridgable {
118+
typealias CFType = CFBooleanRef
119+
var _cfObject: CFType {
120+
return self ? kCFBooleanTrue : kCFBooleanFalse
121+
}
122+
}
123+
117124
extension NSNumber : FloatLiteralConvertible, IntegerLiteralConvertible, BooleanLiteralConvertible {
118125

119126
}
@@ -379,3 +386,8 @@ public class NSNumber : NSValue {
379386
return CFNumberGetTypeID()
380387
}
381388
}
389+
390+
extension CFNumberRef : _NSBridgable {
391+
typealias NSType = NSNumber
392+
internal var _nsObject: NSType { return unsafeBitCast(self, NSType.self) }
393+
}

0 commit comments

Comments
 (0)