Skip to content

Commit cb8377e

Browse files
authored
Merge pull request #5133 from jrflat/httpurlresponse-coding-test
Fix Dictionary ordering in TestHTTPURLResponse.test_NSCoding
2 parents f812a85 + 13d628a commit cb8377e

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

Diff for: Tests/Foundation/TestHTTPURLResponse.swift

+2-1
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,8 @@ class TestHTTPURLResponse: XCTestCase {
236236

237237
//On macOS unarchived Archived then unarchived `URLResponse` is not equal.
238238
XCTAssertEqual(responseA.statusCode, responseB.statusCode, "Archived then unarchived http url response must be equal.")
239-
XCTAssertEqual(Array(responseA.allHeaderFields.keys), Array(responseB.allHeaderFields.keys), "Archived then unarchived http url response must be equal.")
239+
// Dictionary ordering is unpredictable after encoding/decoding because every Dictionary instance has its own hash table salt. Compare Sets of the keys instead.
240+
XCTAssertEqual(Set(responseA.allHeaderFields.keys), Set(responseB.allHeaderFields.keys), "Archived then unarchived http url response must be equal.")
240241

241242
for key in responseA.allHeaderFields.keys {
242243
XCTAssertEqual(responseA.allHeaderFields[key] as? String, responseB.allHeaderFields[key] as? String, "Archived then unarchived http url response must be equal.")

0 commit comments

Comments
 (0)