Good find, You can make a pull request and we can get our continuous integration servers to start building that and testing your change – that is probably the easiest way to get validation on your tests and changes.
There are a few issues however with your test that might be worth considering. Comments inline... > On Dec 18, 2017, at 8:45 AM, Benoit Pereira da silva via swift-corelibs-dev > <swift-corelibs-dev@swift.org> wrote: > > Dear All, > > > I do encounter a very strange Issue. > > I have been adding a test to > `swift-corelibs-foundation/testJSONSerialization.swift` > This test succeed within swift-corelibs-foundation test, but fails when > repackaged to a Cocoa CLI app. > > The swift-corelibs-foundation test : > > > func test_serializeFloatingPointWithANonDotDecimalSeparatorLocale() { > // We use a locale that is using "," as decimal separator. > setlocale(LC_ALL,"fr_FR”) This change will set the locale globally for the rest of the process, you probably want to make sure to reset the locale back to it’s original state. > > let dictionary = ["decimalValue":1.1] > do{ > let data = try JSONSerialization.data(withJSONObject: dictionary) > if let json = String(data:data, encoding:.utf8){ > XCTAssert(!json.contains(","), "Expected result: > \"{\"decimalValue\":1.1000000000000001}\" found: \"\(json)\"" ) > }else{ > XCTFail("Failed during string encoding") > } > }catch{ > XCTFail("Failed during serialization") > } > } > > > The simple CLI code that proves the bug > (https://bugs.swift.org/browse/SR-6631 > <https://bugs.swift.org/browse/SR-6631>) > > // > // main.swift > // doubleEncoding > // > // Created by Benoit Pereira da silva on 02/12/2017. > // Copyright © 2017 Pereira da Silva. All rights reserved. > // > > import Foundation > > // Let's set to french > setlocale(LC_ALL,"fr_FR") > > do{ > let dictionary = ["decimalValue":1.1] > let data = try JSONSerialization.data(withJSONObject: dictionary) > if let json = String(data:data, encoding:.utf8){ > // the result is : "{"decimalValue":1,1000000000000001}" > // The decimal separator should not be "," but "." > print(json) > } > }catch{ > print("\(error)") > } > > > > Any idea ? > I do use Toolchain: Swift Development Snapshot 2017-12-17 (a) Building a CLI tool will use the objective-c Foundation in the system so that wont use your freshly built swift-corelibs-foundation. So that means we have a bug in the objc side if this is actually happening on Darwin (which is a completely different issue…) That should be a radar against Foundation and I definitely think that may very well be a bug… > > > Benoit > > > > Benoit Pereira da Silva > Ultra Mobile Developer & Movement Activist > Développeur Ultra Mobile & Militant du mouvement > https://pereira-da-silva.com <https://pereira-da-silva.com/> > > <bannerp.jpg> > > > > ✄ -------------------------------- > This e-mail is confidential. Distribution, copy, publication or use of this > information for any purpose is prohibited without agreement of the sender. > Ce message est confidentiel. Toute distribution, copie, publication ou usage > des informations contenues dans ce message sont interdits sans agrément > préalable de l'expéditeur. > > > > _______________________________________________ > swift-corelibs-dev mailing list > swift-corelibs-dev@swift.org > https://lists.swift.org/mailman/listinfo/swift-corelibs-dev
_______________________________________________ swift-corelibs-dev mailing list swift-corelibs-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-corelibs-dev