From 66bd7f5ac16613e9f73b3b08fa693e1fda170705 Mon Sep 17 00:00:00 2001 From: mplorentz Date: Thu, 28 Sep 2017 17:55:25 -0400 Subject: [PATCH 1/5] Fixed the URLRequest.ohhttpStubs_HTTPBody() function for Swift. --- OHHTTPStubs/Sources/Swift/OHHTTPStubsSwift.swift | 6 ++++++ .../UnitTests/Test Suites/SwiftHelpersTests.swift | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/OHHTTPStubs/Sources/Swift/OHHTTPStubsSwift.swift b/OHHTTPStubs/Sources/Swift/OHHTTPStubsSwift.swift index 82c61888..e32df03c 100644 --- a/OHHTTPStubs/Sources/Swift/OHHTTPStubsSwift.swift +++ b/OHHTTPStubs/Sources/Swift/OHHTTPStubsSwift.swift @@ -58,6 +58,12 @@ return rangeOfString(string) != nil } } +#else + extension URLRequest { + public var ohhttpStubs_httpBody: Data? { + return (self as NSURLRequest).ohhttpStubs_HTTPBody() + } + } #endif diff --git a/OHHTTPStubs/UnitTests/Test Suites/SwiftHelpersTests.swift b/OHHTTPStubs/UnitTests/Test Suites/SwiftHelpersTests.swift index 74eeb6b8..4ec1d63a 100644 --- a/OHHTTPStubs/UnitTests/Test Suites/SwiftHelpersTests.swift +++ b/OHHTTPStubs/UnitTests/Test Suites/SwiftHelpersTests.swift @@ -439,6 +439,18 @@ class SwiftHelpersTests : XCTestCase { XCTAssertFalse(matchesHeader) } + + func test_ohhttpStubs_httpBody() { +#if swift(>=3.0) + var req = URLRequest(url: URL(string: "foo://bar")!) +#else + let req = NSURLRequest(URL: NSURL(string: "foo://bar")!) +#endif + + req.httpBody = Data() + + XCTAssert(req.ohhttpStubs_httpBody == req.httpBody) + } let sampleURLs = [ // Absolute URLs From e5e802c75f04d93bafa8559f474aefab10e4cd7f Mon Sep 17 00:00:00 2001 From: mplorentz Date: Fri, 29 Sep 2017 12:05:05 -0400 Subject: [PATCH 2/5] attempt to fix tests for Swift < 3 --- OHHTTPStubs/UnitTests/Test Suites/SwiftHelpersTests.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OHHTTPStubs/UnitTests/Test Suites/SwiftHelpersTests.swift b/OHHTTPStubs/UnitTests/Test Suites/SwiftHelpersTests.swift index 4ec1d63a..f3f11428 100644 --- a/OHHTTPStubs/UnitTests/Test Suites/SwiftHelpersTests.swift +++ b/OHHTTPStubs/UnitTests/Test Suites/SwiftHelpersTests.swift @@ -443,13 +443,13 @@ class SwiftHelpersTests : XCTestCase { func test_ohhttpStubs_httpBody() { #if swift(>=3.0) var req = URLRequest(url: URL(string: "foo://bar")!) + req.httpBody = Data() + XCTAssert(req.ohhttpStubs_httpBody == req.httpBody) #else let req = NSURLRequest(URL: NSURL(string: "foo://bar")!) + req.HTTPBody = NSData() + XCTAssert(req.OHHTTPStubs_HTTPBody() == req.httpBody) #endif - - req.httpBody = Data() - - XCTAssert(req.ohhttpStubs_httpBody == req.httpBody) } let sampleURLs = [ From ea06f7f78ffec9d845df484986647d1e0eadcd94 Mon Sep 17 00:00:00 2001 From: mplorentz Date: Fri, 29 Sep 2017 12:35:57 -0400 Subject: [PATCH 3/5] another attempt to fix tests for Swift < 3 --- OHHTTPStubs/UnitTests/Test Suites/SwiftHelpersTests.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OHHTTPStubs/UnitTests/Test Suites/SwiftHelpersTests.swift b/OHHTTPStubs/UnitTests/Test Suites/SwiftHelpersTests.swift index f3f11428..6ecccc0c 100644 --- a/OHHTTPStubs/UnitTests/Test Suites/SwiftHelpersTests.swift +++ b/OHHTTPStubs/UnitTests/Test Suites/SwiftHelpersTests.swift @@ -446,9 +446,9 @@ class SwiftHelpersTests : XCTestCase { req.httpBody = Data() XCTAssert(req.ohhttpStubs_httpBody == req.httpBody) #else - let req = NSURLRequest(URL: NSURL(string: "foo://bar")!) + let req = NSMutableURLRequest(URL: NSURL(string: "foo://bar")!) req.HTTPBody = NSData() - XCTAssert(req.OHHTTPStubs_HTTPBody() == req.httpBody) + XCTAssert(req.OHHTTPStubs_HTTPBody() == req.HTTPBody) #endif } From 98fa539141f9d33b369e160b5b75836c754caa24 Mon Sep 17 00:00:00 2001 From: mplorentz Date: Fri, 29 Sep 2017 14:04:42 -0400 Subject: [PATCH 4/5] Updated CHANGELOG --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2e67b7a..a3cd7438 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # OHHTTPStubs — CHANGELOG ## Master +* Fixed `URLRequest.ohhttpStubs_httpBody` function in Swift 3 and 4. + [@mplorentz](https://github.com/mplorentz) * Added absolute url matcher. [@victorg1991](https://github.com/victorg1991) [#254](https://github.com/AliSoftware/OHHTTPStubs/pull/254) From 3fd5608b250677901cd6809b371c077d763d2069 Mon Sep 17 00:00:00 2001 From: mplorentz Date: Mon, 2 Oct 2017 10:31:23 -0400 Subject: [PATCH 5/5] pr tweaks --- CHANGELOG.md | 3 ++- .../UnitTests/Test Suites/SwiftHelpersTests.swift | 10 ++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a3cd7438..b166e321 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,8 @@ # OHHTTPStubs — CHANGELOG ## Master -* Fixed `URLRequest.ohhttpStubs_httpBody` function in Swift 3 and 4. + +* Fixed `URLRequest.ohhttpStubs_httpBody` function in Swift 3 and 4. [@mplorentz](https://github.com/mplorentz) * Added absolute url matcher. [@victorg1991](https://github.com/victorg1991) diff --git a/OHHTTPStubs/UnitTests/Test Suites/SwiftHelpersTests.swift b/OHHTTPStubs/UnitTests/Test Suites/SwiftHelpersTests.swift index 6ecccc0c..3c366db4 100644 --- a/OHHTTPStubs/UnitTests/Test Suites/SwiftHelpersTests.swift +++ b/OHHTTPStubs/UnitTests/Test Suites/SwiftHelpersTests.swift @@ -442,13 +442,15 @@ class SwiftHelpersTests : XCTestCase { func test_ohhttpStubs_httpBody() { #if swift(>=3.0) + let data = "Hello world".data(using: .utf8) var req = URLRequest(url: URL(string: "foo://bar")!) - req.httpBody = Data() - XCTAssert(req.ohhttpStubs_httpBody == req.httpBody) + req.httpBody = data + XCTAssertEqual(req.ohhttpStubs_httpBody, data) #else + let data = "Hello world".dataUsingEncoding(NSUTF8StringEncoding) let req = NSMutableURLRequest(URL: NSURL(string: "foo://bar")!) - req.HTTPBody = NSData() - XCTAssert(req.OHHTTPStubs_HTTPBody() == req.HTTPBody) + req.HTTPBody = data + XCTAssertEqual(req.OHHTTPStubs_HTTPBody(), data) #endif }