| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- //
- // SwifterTestsHttpRouter.swift
- // Swifter
- //
- // Copyright © 2016 Damian Kołakowski. All rights reserved.
- //
- import XCTest
- import Swifter
- class SwifterTestsHttpRouter: XCTestCase {
- func testHttpRouterSlashRoot() {
-
- let router = HttpRouter()
-
- router.register(nil, path: "/", handler: { r in
- return .ok(.html("OK"))
- })
-
- XCTAssert(router.route(nil, path: "/") != nil)
- }
-
- func testHttpRouterSimplePathSegments() {
-
- let router = HttpRouter()
-
- router.register(nil, path: "/a/b/c/d", handler: { r in
- return .ok(.html("OK"))
- })
-
- XCTAssert(router.route(nil, path: "/") == nil)
- XCTAssert(router.route(nil, path: "/a") == nil)
- XCTAssert(router.route(nil, path: "/a/b") == nil)
- XCTAssert(router.route(nil, path: "/a/b/c") == nil)
- XCTAssert(router.route(nil, path: "/a/b/c/d") != nil)
- }
-
- func testHttpRouterSinglePathSegmentWildcard() {
-
- let router = HttpRouter()
-
- router.register(nil, path: "/a/*/c/d", handler: { r in
- return .ok(.html("OK"))
- })
-
- XCTAssert(router.route(nil, path: "/") == nil)
- XCTAssert(router.route(nil, path: "/a") == nil)
- XCTAssert(router.route(nil, path: "/a/foo/c/d") != nil)
- XCTAssert(router.route(nil, path: "/a/b/c/d") != nil)
- XCTAssert(router.route(nil, path: "/a/b") == nil)
- XCTAssert(router.route(nil, path: "/a/b/foo/d") == nil)
- }
-
- func testHttpRouterVariables() {
-
- let router = HttpRouter()
-
- router.register(nil, path: "/a/:arg1/:arg2/b/c/d/:arg3", handler: { r in
- return .ok(.html("OK"))
- })
-
- XCTAssert(router.route(nil, path: "/") == nil)
- XCTAssert(router.route(nil, path: "/a") == nil)
- XCTAssert(router.route(nil, path: "/a/b/c/d") == nil)
- XCTAssert(router.route(nil, path: "/a/value1/value2/b/c/d/value3")?.0[":arg1"] == "value1")
- XCTAssert(router.route(nil, path: "/a/value1/value2/b/c/d/value3")?.0[":arg2"] == "value2")
- XCTAssert(router.route(nil, path: "/a/value1/value2/b/c/d/value3")?.0[":arg3"] == "value3")
- }
-
- func testHttpRouterMultiplePathSegmentWildcards() {
-
- let router = HttpRouter()
-
- router.register(nil, path: "/a/**/e/f/g", handler: { r in
- return .ok(.html("OK"))
- })
-
- XCTAssert(router.route(nil, path: "/") == nil)
- XCTAssert(router.route(nil, path: "/a") == nil)
- XCTAssert(router.route(nil, path: "/a/b/c/d/e/f/g") != nil)
- XCTAssert(router.route(nil, path: "/a/e/f/g") == nil)
- }
- }
|