bignerdranch / Freddy

A reusable framework for parsing JSON in Swift.
MIT License
1.09k stars 120 forks source link

Linux support #246

Open agisboye opened 7 years ago

agisboye commented 7 years ago

I've made some changes, so that Freddy will build and work on Linux. Tests can be run with swift test in the Freddy directory.

What appears to work: Freddy (disclaimer: for my use) and 107 of its tests.

What doesn't work: Tests that rely on Bundle(for:), because it has yet to be implemented in Foundation. These include some of the JSONSubscriptingTests, JSONTests and all of the JSONSerializingTests. Note that the tests are (not necessarily) failing. They just won't run at the moment. For now, I've commented out these tests and added some conditional compilation statements to prevent the code from being reached on Linux. Of the 107 tests that run properly, only a single fails:

/project/Tests/FreddyTests/JSONParserTests.swift:333: error: JSONParserTests.testOverflowingIntResultsInStringWithNSJSONSerializationParser : XCTAssertEqual failed: ("nil") is not equal to ("Optional(1.8446744073709552e+19)") - as double

I have yet to look for the culprit.