{"action":"created","issue":{"url":"https://api.github.com/repos/apple/swift-corelibs-foundation/issues/48","labels_url":"https://api.github.com/repos/apple/swift-corelibs-foundation/issues/48/labels{/name}","comments_url":"https://api.github.com/repos/apple/swift-corelibs-foundation/issues/48/comments","events_url":"https://api.github.com/repos/apple/swift-corelibs-foundation/issues/48/events","html_url":"https://github.com/apple/swift-corelibs-foundation/pull/48","id":120603028,"number":48,"title":"NSString: uppercaseString, lowercaseString, capitalizedString","user":{"login":"krzyzanowskim","id":758033,"avatar_url":"https://avatars.githubusercontent.com/u/758033?v=3","gravatar_id":"","url":"https://api.github.com/users/krzyzanowskim","html_url":"https://github.com/krzyzanowskim","followers_url":"https://api.github.com/users/krzyzanowskim/followers","following_url":"https://api.github.com/users/krzyzanowskim/following{/other_user}","gists_url":"https://api.github.com/users/krzyzanowskim/gists{/gist_id}","starred_url":"https://api.github.com/users/krzyzanowskim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krzyzanowskim/subscriptions","organizations_url":"https://api.github.com/users/krzyzanowskim/orgs","repos_url":"https://api.github.com/users/krzyzanowskim/repos","events_url":"https://api.github.com/users/krzyzanowskim/events{/privacy}","received_events_url":"https://api.github.com/users/krzyzanowskim/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-12-06T02:34:27Z","updated_at":"2015-12-09T01:13:44Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apple/swift-corelibs-foundation/pulls/48","html_url":"https://github.com/apple/swift-corelibs-foundation/pull/48","diff_url":"https://github.com/apple/swift-corelibs-foundation/pull/48.diff","patch_url":"https://github.com/apple/swift-corelibs-foundation/pull/48.patch"},"body":"Implementation of uppercaseString, lowercaseString, capitalizedString (with localized versions) for NSString. Tests for methods.\r\n\r\nI tested it with this tests: https://github.com/apple/swift/blob/master/test/1_stdlib/NSStringAPI.swift and noticed strange behaviour. \r\n\r\nthis test fail:\r\n```\r\nXCTAssertEqual(NSString(stringLiteral: \"\\u{0069}\").uppercaseStringWithLocale(NSLocale(localeIdentifier: \"tr\")), \"\\u{0130}\")\r\n```\r\n\r\nthis don't\r\n```\r\nXCTAssertEqual(String(stringLiteral: \"\\u{0069}\").uppercaseStringWithLocale(NSLocale(localeIdentifier: \"tr\")), \"\\u{0130}\")\r\n```\r\n\r\nDifference is `NSString(stringLiteral:)` vs. `String(stringLiteral:)`. The result of uppercaseStringWithLocale is correct, though comparison is failing. This may be some issue with NSString."},"comment":{"url":"https://api.github.com/repos/apple/swift-corelibs-foundation/issues/comments/163075391","html_url":"https://github.com/apple/swift-corelibs-foundation/pull/48#issuecomment-163075391","issue_url":"https://api.github.com/repos/apple/swift-corelibs-foundation/issues/48","id":163075391,"user":{"login":"phausler","id":278470,"avatar_url":"https://avatars.githubusercontent.com/u/278470?v=3","gravatar_id":"","url":"https://api.github.com/users/phausler","html_url":"https://github.com/phausler","followers_url":"https://api.github.com/users/phausler/followers","following_url":"https://api.github.com/users/phausler/following{/other_user}","gists_url":"https://api.github.com/users/phausler/gists{/gist_id}","starred_url":"https://api.github.com/users/phausler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phausler/subscriptions","organizations_url":"https://api.github.com/users/phausler/orgs","repos_url":"https://api.github.com/users/phausler/repos","events_url":"https://api.github.com/users/phausler/events{/privacy}","received_events_url":"https://api.github.com/users/phausler/received_events","type":"User","site_admin":false},"created_at":"2015-12-09T01:13:44Z","updated_at":"2015-12-09T01:13:44Z","body":"I was able to delve a bit deeper into the failure here, there are actually a few missteps that are happening that lead to this being incorrectly handled. The patch I have for this changes a few things and has a bit of replication here but I would still like to merge this in."}}