Skip to content
This repository was archived by the owner on Dec 15, 2024. It is now read-only.

Commit 7d07d62

Browse files
committed
Fixed Data
Also made Unit tests for OS X compile in debug configuration
1 parent 405f355 commit 7d07d62

File tree

8 files changed

+53
-68
lines changed

8 files changed

+53
-68
lines changed

Sources/SwiftFoundation/Data.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,11 @@
147147
set { _bytes.replaceSubrange(bounds, with: newValue) }
148148
}
149149

150+
public var count: Int {
151+
152+
return _bytes.count
153+
}
154+
150155
/// The start `Index` in the data.
151156
public var startIndex: Index {
152157

Sources/SwiftFoundation/JSONSerialization.swift

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,46 @@ private extension JSON.Value {
9393
}
9494
}
9595

96+
// MARK: - Supporting Types
97+
98+
public extension JSON {
99+
100+
/// Options for serializing JSON.
101+
///
102+
/// - Note: Uses the [JSON-C](https://github.com/json-c/json-c) library.
103+
public enum WritingOption: BitMaskOption {
104+
105+
/// Causes the output to have minimal whitespace inserted to make things slightly more readable.
106+
case Spaced
107+
108+
/// Causes the output to be formatted. See the [Two Space Tab](http://jsonformatter.curiousconcept.com/) option
109+
/// for an example of the format.
110+
case Pretty
111+
112+
/// Drop trailing zero for float values
113+
case NoZero
114+
115+
public init?(rawValue: Int32) {
116+
117+
switch rawValue {
118+
119+
case JSON_C_TO_STRING_SPACED: self = .Spaced
120+
case JSON_C_TO_STRING_PRETTY: self = .Pretty
121+
case JSON_C_TO_STRING_NOZERO: self = .NoZero
122+
123+
default: return nil
124+
}
125+
}
126+
127+
public var rawValue: Int32 {
128+
129+
switch self {
130+
131+
case Spaced: return JSON_C_TO_STRING_SPACED
132+
case Pretty: return JSON_C_TO_STRING_PRETTY
133+
case NoZero: return JSON_C_TO_STRING_NOZERO
134+
}
135+
}
136+
}
137+
}
138+

Sources/SwiftFoundation/JSONWritingOption.swift

Lines changed: 0 additions & 55 deletions
This file was deleted.

Sources/UnitTests/DataTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ final class DataTests: XCTestCase {
3131

3232
memcpy(dataPointer, testData.bytes, testData.count)
3333

34-
let data = Data(bytes: dataPointer, count: testData.count)
34+
let data = SwiftFoundation.Data(bytes: dataPointer, count: testData.count)
3535

3636
XCTAssert(data == testData, "\(data) == \(testData)")
3737
}

Sources/UnitTests/POSIXTimeTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ final class POSIXTimeTests: XCTestCase {
3838

3939
func testTimeVal() {
4040

41-
let date = Date()
41+
let date = SwiftFoundation.Date()
4242

4343
let time = timeval(timeInterval: date.timeIntervalSince1970)
4444

@@ -47,7 +47,7 @@ final class POSIXTimeTests: XCTestCase {
4747

4848
func testTimeSpec() {
4949

50-
let date = Date()
50+
let date = SwiftFoundation.Date()
5151

5252
let time = timespec(timeInterval: date.timeIntervalSince1970)
5353

Sources/UnitTests/UUIDTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ final class UUIDTests: XCTestCase {
4949

5050
func testBytes() {
5151

52-
let expectedData = Data(bytes: [91, 254, 177, 148, 104, 196, 72, 232, 143, 67, 60, 88, 99, 100, 203, 111] as [Byte])
52+
let expectedData = SwiftFoundation.Data(bytes: [91, 254, 177, 148, 104, 196, 72, 232, 143, 67, 60, 88, 99, 100, 203, 111] as [Byte])
5353

5454
let stringValue = "5BFEB194-68C4-48E8-8F43-3C586364CB6F"
5555

Xcode/SwiftFoundation.xcodeproj/project.pbxproj

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -135,9 +135,6 @@
135135
6E957C2B1C43AA55003F3C51 /* JSONSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E957C291C43AA55003F3C51 /* JSONSerialization.swift */; };
136136
6E957C2C1C43AA55003F3C51 /* JSONSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E957C291C43AA55003F3C51 /* JSONSerialization.swift */; };
137137
6E957C2D1C43AA55003F3C51 /* JSONSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E957C291C43AA55003F3C51 /* JSONSerialization.swift */; };
138-
6E957C2E1C43AA55003F3C51 /* JSONWritingOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E957C2A1C43AA55003F3C51 /* JSONWritingOption.swift */; };
139-
6E957C2F1C43AA55003F3C51 /* JSONWritingOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E957C2A1C43AA55003F3C51 /* JSONWritingOption.swift */; };
140-
6E957C301C43AA55003F3C51 /* JSONWritingOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E957C2A1C43AA55003F3C51 /* JSONWritingOption.swift */; };
141138
6E957C481C43B397003F3C51 /* JSON.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6E957C451C43B397003F3C51 /* JSON.framework */; };
142139
6E957C491C43B397003F3C51 /* JSON.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6E957C451C43B397003F3C51 /* JSON.framework */; };
143140
6E957C4A1C43B397003F3C51 /* JSON.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6E957C451C43B397003F3C51 /* JSON.framework */; };
@@ -256,7 +253,6 @@
256253
6E8474CC1D24FCFE009CA7DB /* ComparisonResult.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ComparisonResult.swift; sourceTree = "<group>"; };
257254
6E957C251C43A7C8003F3C51 /* JSONParse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JSONParse.swift; sourceTree = "<group>"; };
258255
6E957C291C43AA55003F3C51 /* JSONSerialization.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JSONSerialization.swift; sourceTree = "<group>"; };
259-
6E957C2A1C43AA55003F3C51 /* JSONWritingOption.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JSONWritingOption.swift; sourceTree = "<group>"; };
260256
6E957C451C43B397003F3C51 /* JSON.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = JSON.framework; sourceTree = "<group>"; };
261257
6E957C471C43B397003F3C51 /* JSON.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = JSON.framework; sourceTree = "<group>"; };
262258
6E957C561C442E3E003F3C51 /* JSONTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JSONTests.swift; sourceTree = "<group>"; };
@@ -356,7 +352,6 @@
356352
6E2C2B351C20F6EB00B2C995 /* JSONExtensions.swift */,
357353
6E957C251C43A7C8003F3C51 /* JSONParse.swift */,
358354
6E957C291C43AA55003F3C51 /* JSONSerialization.swift */,
359-
6E957C2A1C43AA55003F3C51 /* JSONWritingOption.swift */,
360355
6E82FD711CBA06C10049CD1B /* Lock.swift */,
361356
6E2C2B361C20F6EB00B2C995 /* Null.swift */,
362357
6E2C2B401C20F6EB00B2C995 /* RegularExpression.swift */,
@@ -720,7 +715,6 @@
720715
6E957C2C1C43AA55003F3C51 /* JSONSerialization.swift in Sources */,
721716
6EE84DDA1CAF659800A40C4D /* Endianness.swift in Sources */,
722717
6E2C2BCB1C20F76600B2C995 /* POSIXError.swift in Sources */,
723-
6E957C2F1C43AA55003F3C51 /* JSONWritingOption.swift in Sources */,
724718
6E2C2BB81C20F76600B2C995 /* Date.swift in Sources */,
725719
6E2C2BC71C20F76600B2C995 /* JSON.swift in Sources */,
726720
6E2C2BAF1C20F76600B2C995 /* Base64.swift in Sources */,
@@ -766,7 +760,6 @@
766760
6E957C2D1C43AA55003F3C51 /* JSONSerialization.swift in Sources */,
767761
6EE84DDB1CAF659800A40C4D /* Endianness.swift in Sources */,
768762
6E2C2B971C20F76600B2C995 /* POSIXError.swift in Sources */,
769-
6E957C301C43AA55003F3C51 /* JSONWritingOption.swift in Sources */,
770763
6E2C2B841C20F76600B2C995 /* Date.swift in Sources */,
771764
6E2C2B931C20F76600B2C995 /* JSON.swift in Sources */,
772765
6E2C2B7B1C20F76600B2C995 /* Base64.swift in Sources */,
@@ -830,7 +823,6 @@
830823
6E2C2C071C20F76700B2C995 /* RegularExpression.swift in Sources */,
831824
6E957C2B1C43AA55003F3C51 /* JSONSerialization.swift in Sources */,
832825
6E2C2BFF1C20F76700B2C995 /* POSIXError.swift in Sources */,
833-
6E957C2E1C43AA55003F3C51 /* JSONWritingOption.swift in Sources */,
834826
6E2C2BEC1C20F76700B2C995 /* Date.swift in Sources */,
835827
6E2C2BFB1C20F76700B2C995 /* JSON.swift in Sources */,
836828
6EE84DD91CAF659800A40C4D /* Endianness.swift in Sources */,

Xcode/SwiftFoundation.xcodeproj/xcshareddata/xcschemes/SwiftFoundation OS X.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
</BuildActionEntries>
2424
</BuildAction>
2525
<TestAction
26-
buildConfiguration = "Release"
26+
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
2929
shouldUseLaunchSchemeArgsEnv = "YES"

0 commit comments

Comments
 (0)