diff --git a/Sources/Branches/Branch.swift b/Sources/Branches/Branch.swift index fa9e8f4c..63f40465 100644 --- a/Sources/Branches/Branch.swift +++ b/Sources/Branches/Branch.swift @@ -15,8 +15,8 @@ extension Branch { public func slugs(for path: [String]) -> Node { var slugs: [String: Node] = [:] slugIndexes.forEach { key, index in - guard let val = path[safe: index].flatMap({ percentDecoded($0.makeBytes()) }) else { return } - slugs[key] = Node.string(val.string) + guard let val = path[safe: index].flatMap({ $0.makeBytes().percentDecoded() }) else { return } + slugs[key] = Node.string(val.makeString()) } return Node.object(slugs) } diff --git a/Tests/RoutingTests/GroupTests.swift b/Tests/RoutingTests/GroupTests.swift index 31f99729..8efe63f1 100644 --- a/Tests/RoutingTests/GroupTests.swift +++ b/Tests/RoutingTests/GroupTests.swift @@ -96,6 +96,6 @@ class GroupTests: XCTestCase { let response = try router.respond(to: request) let middleware = request.storage["middleware"] as? Bool XCTAssertEqual(middleware, true) - XCTAssertEqual(response.body.bytes?.string, "hello") + XCTAssertEqual(response.body.bytes?.makeString(), "hello") } } diff --git a/Tests/RoutingTests/GroupedTests.swift b/Tests/RoutingTests/GroupedTests.swift index 9992e112..0a49d363 100644 --- a/Tests/RoutingTests/GroupedTests.swift +++ b/Tests/RoutingTests/GroupedTests.swift @@ -22,7 +22,7 @@ class GroupedTests: XCTestCase { let request = Request(method: .get, path: "users/5") let bytes = try request.bytes(running: router) - XCTAssertEqual(bytes.string, "show") + XCTAssertEqual(bytes.makeString(), "show") XCTAssertEqual(request.parameters["id"], "5") } @@ -52,7 +52,7 @@ class GroupedTests: XCTestCase { let request = Request(method: .get, path: "host-only", host: "192.168.0.1") let bytes = try request.bytes(running: router) - XCTAssertEqual(bytes.string, "host group found") + XCTAssertEqual(bytes.makeString(), "host group found") } func testChained() throws { @@ -66,7 +66,7 @@ class GroupedTests: XCTestCase { let request = Request(method: .get, path: "users/devices/etc/even/deeper/5") let bytes = try request.bytes(running: router) - XCTAssertEqual(bytes.string, "show") + XCTAssertEqual(bytes.makeString(), "show") XCTAssertEqual(request.parameters["id"], "5") } @@ -88,7 +88,7 @@ class GroupedTests: XCTestCase { let responder = router.route(request) let response = try responder?.respond(to: request) XCTAssertNotNil(response) - XCTAssertEqual(response?.body.bytes?.string, "got it") + XCTAssertEqual(response?.body.bytes?.makeString(), "got it") let middleware = request.storage["middleware"] as? Bool XCTAssertEqual(middleware, true) diff --git a/Tests/RoutingTests/RouteTests.swift b/Tests/RoutingTests/RouteTests.swift index 2563d945..5c3b31ec 100644 --- a/Tests/RoutingTests/RouteTests.swift +++ b/Tests/RoutingTests/RouteTests.swift @@ -19,7 +19,7 @@ class RouteTests: XCTestCase { let request = try Request(method: .get, uri: "http://0.0.0.0/hello") let response = try router.respond(to: request) - XCTAssertEqual(response.body.bytes?.string, "HI") + XCTAssertEqual(response.body.bytes?.makeString(), "HI") } func testRouteParams() throws { @@ -48,7 +48,7 @@ class RouteTests: XCTestCase { ) let request = Request(method: .get, uri: uri) let response = try router.respond(to: request) - XCTAssertEqual(response.body.bytes?.string, path.prefix(3).joined(separator: ":")) + XCTAssertEqual(response.body.bytes?.makeString(), path.prefix(3).joined(separator: ":")) } } diff --git a/Tests/RoutingTests/RouterTests.swift b/Tests/RoutingTests/RouterTests.swift index 31560e2c..757385dd 100644 --- a/Tests/RoutingTests/RouterTests.swift +++ b/Tests/RoutingTests/RouterTests.swift @@ -30,7 +30,7 @@ class RouterTests: XCTestCase { let request = try Request(method: .get, uri: "http://0.0.0.0/hello") let response = try router.respond(to: request) - XCTAssert(response.body.bytes?.string == "Hello, World!") + XCTAssert(response.body.bytes?.makeString() == "Hello, World!") } func testWildcardMethod() throws { @@ -43,7 +43,7 @@ class RouterTests: XCTestCase { try method.forEach { method in let request = try Request(method: method, uri: "http://0.0.0.0/hello") let response = try router.respond(to: request) - XCTAssertEqual(response.body.bytes?.string, "Hello, World!") + XCTAssertEqual(response.body.bytes?.makeString(), "Hello, World!") } } @@ -57,7 +57,7 @@ class RouterTests: XCTestCase { try hosts.forEach { host in let request = try Request(method: .get, uri: "http://\(host)/hello") let response = try router.respond(to: request) - XCTAssertEqual(response.body.bytes?.string, "Hello, World!") + XCTAssertEqual(response.body.bytes?.makeString(), "Hello, World!") } } @@ -74,7 +74,7 @@ class RouterTests: XCTestCase { try hosts.forEach { host in let request = try Request(method: .get, uri: "http://\(host)/hello") let response = try router.respond(to: request) - XCTAssert(response.body.bytes?.string == "Host: \(host)") + XCTAssert(response.body.bytes?.makeString() == "Host: \(host)") } } @@ -106,7 +106,7 @@ class RouterTests: XCTestCase { try paths.forEach { path in let request = try Request(method: .get, uri: "http://0.0.0.0/\(path)") let response = try router.respond(to: request) - XCTAssert(response.body.bytes?.string == "Hello, World!") + XCTAssert(response.body.bytes?.makeString() == "Hello, World!") } } @@ -128,7 +128,7 @@ class RouterTests: XCTestCase { try namesAndAges.forEach { name, age in let request = try Request(method: .get, uri: "http://0.0.0.0/hello/\(name)/\(age)") let response = try router.respond(to: request) - XCTAssertEqual(response.body.bytes?.string, "Hello, \(name) aged \(age).") + XCTAssertEqual(response.body.bytes?.makeString(), "Hello, \(name) aged \(age).") } } @@ -143,7 +143,7 @@ class RouterTests: XCTestCase { let uri = URI(scheme: "http", host: "0.0.0.0", path: emptypath) let request = Request(method: .get, uri: uri) let response = try router.respond(to: request) - XCTAssertEqual(response.body.bytes?.string, "Hello, Empty!") + XCTAssertEqual(response.body.bytes?.makeString(), "Hello, Empty!") } } @@ -159,7 +159,7 @@ class RouterTests: XCTestCase { ) let request = Request(method: .get, uri: uri) let response = try router.respond(to: request) - XCTAssertEqual(response.body.bytes?.string, "Hello, World!") + XCTAssertEqual(response.body.bytes?.makeString(), "Hello, World!") } func testRouterDualSlugRoutes() throws { @@ -169,11 +169,11 @@ class RouterTests: XCTestCase { let requestOne = Request(method: .get, path: "foo/slug-val/one") let responseOne = try router.respond(to: requestOne) - XCTAssertEqual(responseOne.body.bytes?.string, "1") + XCTAssertEqual(responseOne.body.bytes?.makeString(), "1") let requestTwo = Request(method: .get, path: "foo/slug-val/two") let responseTwo = try router.respond(to: requestTwo) - XCTAssertEqual(responseTwo.body.bytes?.string, "2") } + XCTAssertEqual(responseTwo.body.bytes?.makeString(), "2") } func testRouteLogs() throws { let router = Router()