Skip to content

Commit 08a3c71

Browse files
committed
extractParameter tests
1 parent dda1996 commit 08a3c71

File tree

3 files changed

+35
-9
lines changed

3 files changed

+35
-9
lines changed

FlyingFox/Tests/HTTPRequest+Mock.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,9 @@ extension HTTPRequest {
4646
headers: headers,
4747
body: body)
4848
}
49+
50+
static func make(_ url: String) -> Self {
51+
let (path, query) = HTTPDecoder.readComponents(from: url.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!)
52+
return HTTPRequest.make(path: path, query: query)
53+
}
4954
}

FlyingFox/Tests/HTTPRouteTests.swift

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,7 @@ final class HTTPRouteTests: XCTestCase {
444444
XCTAssertEqual(HTTPRoute("GET,PUT /fish/*").method, .caseInsensitive("GET"))
445445
}
446446

447-
func testRouteParameters() async {
447+
func testRouteParameters() {
448448
let route = HTTPRoute("GET /mock/:id")
449449
let parameters = route.parameters
450450
XCTAssertEqual(parameters.count, 1)
@@ -471,6 +471,35 @@ final class HTTPRouteTests: XCTestCase {
471471
XCTAssertEqual(parameters4["fish"], .query(name: "fish", index: "food"))
472472
}
473473

474+
func testRouteParameterValues() {
475+
let route = HTTPRoute("GET /mock/:id?foo=:foo&bar=:bar")
476+
477+
XCTAssertEqual(
478+
route.extractParameters(from: .make("/mock/15?foo=🐟&bar=🍤")),
479+
[
480+
.init(name: "id", value: "15"),
481+
.init(name: "foo", value: "🐟"),
482+
.init(name: "bar", value: "🍤")
483+
]
484+
)
485+
486+
XCTAssertEqual(
487+
route.extractParameters(from: .make("/mock/99?bar=🐠&foo=🍟")),
488+
[
489+
.init(name: "id", value: "99"),
490+
.init(name: "foo", value: "🍟"),
491+
.init(name: "bar", value: "🐠")
492+
]
493+
)
494+
495+
XCTAssertEqual(
496+
route.extractParameters(from: .make("/mock?bar=🐠")),
497+
[
498+
.init(name: "bar", value: "🐠")
499+
]
500+
)
501+
}
502+
474503
#if compiler(>=5.9)
475504
func testPathParameters() {
476505
// given

FlyingFox/Tests/Handlers/RoutedHTTPHandlerTests.swift

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -146,14 +146,6 @@ private extension HTTPRoute {
146146
}
147147
}
148148

149-
private extension HTTPRequest {
150-
151-
static func make(_ url: String) -> Self {
152-
let (path, query) = HTTPDecoder.readComponents(from: url.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!)
153-
return HTTPRequest.make(path: path, query: query)
154-
}
155-
}
156-
157149
private extension HTTPResponse {
158150

159151
var bodyString: String? {

0 commit comments

Comments
 (0)