-------------------------------------------------------------------------------
  Test 1: Check simple requests using basic HTTP methods
-------------------------------------------------------------------------------

  >            GET /pass                                     ... ok
  >           POST /pass                                     ... ok
  >            PUT /pass                                     ... ok
  >         DELETE /pass                                     ... ok
###
                               -- test passed --

-------------------------------------------------------------------------------
  Test 2: Check simple requests using arbitrary alphanumeric methods
-------------------------------------------------------------------------------

  >       zFw2g9Lm /pass                                     ... ok
  >       YTevr6hu /pass                                     ... ok
  >       F63uxhHS /pass                                     ... ok
  >       IQtPHwFG /pass                                     ... ok
  >       sauT8DrW /pass                                     ... ok
  >       q7foHTeF /pass                                     ... ok
  >       GGCcoAgm /pass                                     ... ok
  >       YJv3vyGZ /pass                                     ... ok
  >       WwrIy0xL /pass                                     ... ok
  >       f1ferwRK /pass                                     ... ok
  >       w0axBkzb /pass                                     ... ok
  >       KBGOAtql /pass                                     ... ok
  >       ZdfOjnys /pass                                     ... ok
  >       UNcg7RtV /pass                                     ... ok
  >       4zZcHhkb /pass                                     ... ok
  >       BUDEiViB /pass                                     ... ok
  >       UeBR4oY3 /pass                                     ... ok
  >       Ym8P7GIJ /pass                                     ... ok
  >       bN7cBQFx /pass                                     ... ok
  >       K0lTRfcF /pass                                     ... ok
  >       XGRMWoMS /pass                                     ... ok
  >       RpWfBVWE /pass                                     ... ok
  >       JRztLAUj /pass                                     ... ok
  >       dlf5hs29 /pass                                     ... ok
  >       TCBPrDty /pass                                     ... ok
###
                               -- test passed --

-------------------------------------------------------------------------------
  Test 3: Check that route methods are not case-sensitive
-------------------------------------------------------------------------------

  >            GET /pass                                     ... ok
  >            get /pass                                     ... ok
  >            gEt /pass                                     ... ok
  >            GeT /pass                                     ... ok
  >            GEt /pass                                     ... ok
  >            gET /pass                                     ... ok
###
                               -- test passed --

-------------------------------------------------------------------------------
  Test 4: Check single path accessible via several simple HTTP methods
-------------------------------------------------------------------------------

  >            GET /pass                                     ... ok
  >           POST /pass                                     ... ok
  >            PUT /pass                                     ... ok
  >         DELETE /pass                                     ... ok
###
                               -- test passed --

-------------------------------------------------------------------------------
  Test 5: Check that method of request is not altered by the router
-------------------------------------------------------------------------------

  >            GET /pass                                     ... ok
  >           POST /pass                                     ... ok
  >            PUT /pass                                     ... ok
  >         DELETE /pass                                     ... ok
###
                               -- test passed --

-------------------------------------------------------------------------------
  Test 6: Check that common paths were not hard-coded
-------------------------------------------------------------------------------

  >            GET /                                         ... ok
  >            GET /index.html                               ... ok
  >            GET /feed                                     ... ok
  >            GET /threads                                  ... ok
  >            GET /threads/thread                           ... ok
  >            GET /threads/0                                ... ok
  >            GET /threads/1                                ... ok
  >            GET /users/user/recent                        ... ok
  >            GET /users/amit/recent                        ... ok
  >            GET /users/kap/recent                         ... ok
  >            GET /users/will/recent                        ... ok
  >           POST /                                         ... ok
  >           POST /index.html                               ... ok
  >           POST /feed                                     ... ok
  >           POST /threads/thread                           ... ok
  >           POST /threads/0                                ... ok
  >           POST /threads/1                                ... ok
  >           POST /threads/2                                ... ok
  >           POST /users/new                                ... ok
  >           POST /users/user/follow                        ... ok
  >           POST /users/amit/follow                        ... ok
  >           POST /users/kap/follow                         ... ok
  >           POST /users/will/follow                        ... ok
###
                               -- test passed --

-------------------------------------------------------------------------------
  Test 7: Check simple requests to long paths with multiple directories
-------------------------------------------------------------------------------

  >            GET /path/to/file                             ... ok
  >            GET /it/was/the/best/of/times                 ... ok
  >            GET /it/was/the/worst/of/times                ... ok
  >            GET /vagrant/assignments/assignment2/http_router ... ok
  >            GET /a/b/c/d/e/f/g/h/i/j/k/l                  ... ok
###
                               -- test passed --

-------------------------------------------------------------------------------
  Test 8: Check simple requests to very short paths
-------------------------------------------------------------------------------

  >            GET                                           ... ok
  >            GET /                                         ... ok
  >            GET /a                                        ... ok
  >            GET /a1                                       ... ok
###
                               -- test passed --

-------------------------------------------------------------------------------
  Test 9: Check that leading and trailing slashes are ignored
-------------------------------------------------------------------------------

  >            GET path                                      ... ok
  >            GET /path                                     ... ok
  >            GET path/                                     ... ok
  >            GET /path/                                    ... ok
  >            GET path/to/file                              ... ok
  >            GET /path/to/file                             ... ok
  >            GET path/to/file/                             ... ok
  >            GET /path/to/file/                            ... ok
###
                               -- test passed --

-------------------------------------------------------------------------------
  Test 10: Check that paths are case-sensitive
-------------------------------------------------------------------------------

  >            GET /PATH                                     ... ok
  >            GET /Path                                     ... ok
  >            GET /pAth                                     ... ok
  >            GET /paTH                                     ... ok
  >            GET /PAth                                     ... ok
  >            GET /PATh                                     ... ok
  >            GET /PaTh                                     ... ok
###
                               -- test passed --

-------------------------------------------------------------------------------
  Test 11: Check that adding a route more than once updates its handler.
-------------------------------------------------------------------------------

  >            GET /pathA                                    ... ok
  >            GET /pathB                                    ... ok
  >            GET /pathC                                    ... ok
###
                               -- test passed --

-------------------------------------------------------------------------------
  Test 12: Ensure nonexistant paths don't resolve to ancestors or descendants
-------------------------------------------------------------------------------

  >            GET /a                                        ... ok
  >            GET /a/b                                      ... ok
  >            GET /a/b/c                                    ... ok
  >            GET /a/b/c/d                                  ... ok
  >            GET /a/b/c/d/e                                ... ok
  >            GET /a/b/c/d/e/f                              ... ok
  >            GET /a/b/c/d/e/f/g                            ... ok
  >            GET /a/b/c/d/e/f/g/h                          ... ok
  >            GET /a/b/c/d/e/f/g/h/i                        ... ok
###
                               -- test passed --

-------------------------------------------------------------------------------
  Test 13: Check that router finds the longest possible matching path
-------------------------------------------------------------------------------

  >            GET /a                                        ... ok
  >            GET /a/b                                      ... ok
  >            GET /a/b/c                                    ... ok
  >            GET /a/b/c/d                                  ... ok
  >            GET /a/b/c/d/e                                ... ok
  >            GET /a/b/c/d/e/f                              ... ok
  >            GET /a/b/c/d/e/f/g                            ... ok
  >            GET /a/b/c/d/e/f/g/h                          ... ok
  >            GET /a/b/c/d/e/f/g/h/i                        ... ok
###
                               -- test passed --

-------------------------------------------------------------------------------
  Test 14: Check that router can have subdirectories with same name as parent
-------------------------------------------------------------------------------

  >            GET /a                                        ... ok
  >            GET /a/a                                      ... ok
  >            GET /a/a/a                                    ... ok
  >            GET /a/a/a/a                                  ... ok
  >            GET /a/a/a/a/a                                ... ok
  >            GET /a/a/a/a/a/a                              ... ok
  >            GET /a/a/a/a/a/a/a                            ... ok
  >            GET /a/a/a/a/a/a/a/a                          ... ok
  >            GET /a/a/a/a/a/a/a/a/a                        ... ok
###
                               -- test passed --

-------------------------------------------------------------------------------
  Test 15: Check that routes with simple captures can be resolved at all
-------------------------------------------------------------------------------

  >            GET value                                     ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /value HTTP/1.1
    Expected: PASS
    Received: 404 page not found

  >            GET alice                                     ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /alice HTTP/1.1
    Expected: PASS
    Received: 404 page not found

  >            GET bob                                       ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /bob HTTP/1.1
    Expected: PASS
    Received: 404 page not found

  >            GET charlie                                   ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /charlie HTTP/1.1
    Expected: PASS
    Received: 404 page not found

  >            GET denise                                    ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /denise HTTP/1.1
    Expected: PASS
    Received: 404 page not found

  >            GET eve                                       ... FAIL
    Output from additional subtests was suppressed...
###
                               -- test failed (-1.0) --

-------------------------------------------------------------------------------
  Test 16: Check simple captures yield correct keys in query string
-------------------------------------------------------------------------------

  >            GET value                                     ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /value HTTP/1.1
    Expected: key
    Received: 404 page not found

  >            GET alice                                     ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /alice HTTP/1.1
    Expected: key
    Received: 404 page not found

  >            GET bob                                       ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /bob HTTP/1.1
    Expected: key
    Received: 404 page not found

  >            GET charlie                                   ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /charlie HTTP/1.1
    Expected: key
    Received: 404 page not found

  >            GET denise                                    ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /denise HTTP/1.1
    Expected: key
    Received: 404 page not found

  >            GET eve                                       ... FAIL
    Output from additional subtests was suppressed...
###
                               -- test failed (-1.0) --

-------------------------------------------------------------------------------
  Test 17: Check simple captures yield correct keys in query string
-------------------------------------------------------------------------------

  >            GET value                                     ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /value HTTP/1.1
    Expected: value
    Received: 404 page not found

  >            GET alice                                     ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /alice HTTP/1.1
    Expected: alice
    Received: 404 page not found

  >            GET bob                                       ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /bob HTTP/1.1
    Expected: bob
    Received: 404 page not found

  >            GET charlie                                   ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /charlie HTTP/1.1
    Expected: charlie
    Received: 404 page not found

  >            GET denise                                    ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /denise HTTP/1.1
    Expected: denise
    Received: 404 page not found

  >            GET eve                                       ... FAIL
    Output from additional subtests was suppressed...
###
                               -- test failed (-1.0) --

-------------------------------------------------------------------------------
  Test 18: Check that basic capture yields correct keys and values
-------------------------------------------------------------------------------

  >            GET value                                     ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /value HTTP/1.1
    Expected: key=value
    Received: 404 page not found

  >            GET alice                                     ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /alice HTTP/1.1
    Expected: key=alice
    Received: 404 page not found

  >            GET bob                                       ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /bob HTTP/1.1
    Expected: key=bob
    Received: 404 page not found

  >            GET charlie                                   ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /charlie HTTP/1.1
    Expected: key=charlie
    Received: 404 page not found

  >            GET denise                                    ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key
    Request:  GET /denise HTTP/1.1
    Expected: key=denise
    Received: 404 page not found

  >            GET eve                                       ... FAIL
    Output from additional subtests was suppressed...
###
                               -- test failed (-1.0) --

-------------------------------------------------------------------------------
  Test 19: Check that capture works at the end of a long path
-------------------------------------------------------------------------------

  >            GET /a/b/c/d/e/f/g/h/i/j/k/l/value            ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /a/b/c/d/e/f/g/h/i/j/k/l/:key
    Request:  GET /a/b/c/d/e/f/g/h/i/j/k/l/value HTTP/1.1
    Expected: key=value
    Received: 404 page not found

  >            GET /a/b/c/d/e/f/g/h/i/j/k/l/alice            ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /a/b/c/d/e/f/g/h/i/j/k/l/:key
    Request:  GET /a/b/c/d/e/f/g/h/i/j/k/l/alice HTTP/1.1
    Expected: key=alice
    Received: 404 page not found

  >            GET /a/b/c/d/e/f/g/h/i/j/k/l/bob              ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /a/b/c/d/e/f/g/h/i/j/k/l/:key
    Request:  GET /a/b/c/d/e/f/g/h/i/j/k/l/bob HTTP/1.1
    Expected: key=bob
    Received: 404 page not found

  >            GET /a/b/c/d/e/f/g/h/i/j/k/l/charlie          ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /a/b/c/d/e/f/g/h/i/j/k/l/:key
    Request:  GET /a/b/c/d/e/f/g/h/i/j/k/l/charlie HTTP/1.1
    Expected: key=charlie
    Received: 404 page not found

  >            GET /a/b/c/d/e/f/g/h/i/j/k/l/denise           ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /a/b/c/d/e/f/g/h/i/j/k/l/:key
    Request:  GET /a/b/c/d/e/f/g/h/i/j/k/l/denise HTTP/1.1
    Expected: key=denise
    Received: 404 page not found

  >            GET /a/b/c/d/e/f/g/h/i/j/k/l/eve              ... FAIL
    Output from additional subtests was suppressed...
###
                               -- test failed (-1.0) --

-------------------------------------------------------------------------------
  Test 20: Check that capture works in the middle of a long path
-------------------------------------------------------------------------------

  >            GET /a/b/c/d/e/f/value/g/h/i/j/k/l/           ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /a/b/c/d/e/f/:key/g/h/i/j/k/l/
    Request:  GET /a/b/c/d/e/f/value/g/h/i/j/k/l HTTP/1.1
    Expected: key=value
    Received: 404 page not found

  >            GET /a/b/c/d/e/f/alice/g/h/i/j/k/l/           ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /a/b/c/d/e/f/:key/g/h/i/j/k/l/
    Request:  GET /a/b/c/d/e/f/alice/g/h/i/j/k/l HTTP/1.1
    Expected: key=alice
    Received: 404 page not found

  >            GET /a/b/c/d/e/f/bob/g/h/i/j/k/l/             ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /a/b/c/d/e/f/:key/g/h/i/j/k/l/
    Request:  GET /a/b/c/d/e/f/bob/g/h/i/j/k/l HTTP/1.1
    Expected: key=bob
    Received: 404 page not found

  >            GET /a/b/c/d/e/f/charlie/g/h/i/j/k/l/         ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /a/b/c/d/e/f/:key/g/h/i/j/k/l/
    Request:  GET /a/b/c/d/e/f/charlie/g/h/i/j/k/l HTTP/1.1
    Expected: key=charlie
    Received: 404 page not found

  >            GET /a/b/c/d/e/f/denise/g/h/i/j/k/l/          ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /a/b/c/d/e/f/:key/g/h/i/j/k/l/
    Request:  GET /a/b/c/d/e/f/denise/g/h/i/j/k/l HTTP/1.1
    Expected: key=denise
    Received: 404 page not found

  >            GET /a/b/c/d/e/f/eve/g/h/i/j/k/l/             ... FAIL
    Output from additional subtests was suppressed...
###
                               -- test failed (-1.0) --

-------------------------------------------------------------------------------
  Test 21: Check that captures support any directory, not just the key name
-------------------------------------------------------------------------------

  >            GET /:capture                                 ... ok
  >            GET /pass                                     ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:capture
    - Method: GET   	Path: /path/:capture2
    Request:  GET /pass HTTP/1.1
    Expected: PASS
    Received: 404 page not found

  >            GET /path/:capture2                           ... ok
  >            GET /path/pass                                ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:capture
    - Method: GET   	Path: /path/:capture2
    Request:  GET /path/pass HTTP/1.1
    Expected: PASS
    Received: 404 page not found

###
                               -- test failed (-1.0) --

-------------------------------------------------------------------------------
  Test 22: Check that several captures can appear in one route
-------------------------------------------------------------------------------

  >            GET /person/Alice/11                          ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /person/:name/:age
    - Method: GET   	Path: /add/:a/:b/:c/:d
    - Method: GET   	Path: /sub/:e/:f/:g/:h/other/path/info
    Request:  GET /person/Alice/11 HTTP/1.1
    Expected: age=11&name=Alice
    Received: 404 page not found

  >            GET /person/Bob/22                            ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /person/:name/:age
    - Method: GET   	Path: /add/:a/:b/:c/:d
    - Method: GET   	Path: /sub/:e/:f/:g/:h/other/path/info
    Request:  GET /person/Bob/22 HTTP/1.1
    Expected: age=22&name=Bob
    Received: 404 page not found

  >            GET /person/Charlie/33                        ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /person/:name/:age
    - Method: GET   	Path: /add/:a/:b/:c/:d
    - Method: GET   	Path: /sub/:e/:f/:g/:h/other/path/info
    Request:  GET /person/Charlie/33 HTTP/1.1
    Expected: age=33&name=Charlie
    Received: 404 page not found

  >            GET /person/Dave/44                           ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /person/:name/:age
    - Method: GET   	Path: /add/:a/:b/:c/:d
    - Method: GET   	Path: /sub/:e/:f/:g/:h/other/path/info
    Request:  GET /person/Dave/44 HTTP/1.1
    Expected: age=44&name=Dave
    Received: 404 page not found

  >            GET /person/Eve/55                            ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /person/:name/:age
    - Method: GET   	Path: /add/:a/:b/:c/:d
    - Method: GET   	Path: /sub/:e/:f/:g/:h/other/path/info
    Request:  GET /person/Eve/55 HTTP/1.1
    Expected: age=55&name=Eve
    Received: 404 page not found

  >            GET /add/1/2/3/4                              ... FAIL
    Output from additional subtests was suppressed...
###
                               -- test failed (-1.0) --

-------------------------------------------------------------------------------
  Test 23: Check that multiple values can be captured under a single key
-------------------------------------------------------------------------------

  >            GET a/b                                       ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key/:key
    Request:  GET /a/b HTTP/1.1
    Expected: a&b
    Received: 404 page not found

  >            GET foo/bar                                   ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key/:key
    Request:  GET /foo/bar HTTP/1.1
    Expected: bar&foo
    Received: 404 page not found

  >            GET 123/456                                   ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key/:key
    Request:  GET /123/456 HTTP/1.1
    Expected: 123&456
    Received: 404 page not found

  >            GET alice/bob                                 ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key/:key
    Request:  GET /alice/bob HTTP/1.1
    Expected: alice&bob
    Received: 404 page not found

  >            GET value/value                               ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:key/:key
    Request:  GET /value/value HTTP/1.1
    Expected: value&value
    Received: 404 page not found

###
                               -- test failed (-1.0) --

-------------------------------------------------------------------------------
  Test 24: Tests that keys are overwritten when adding several capturing routes
-------------------------------------------------------------------------------

  >            GET /foo                                      ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: :alice
    - Method: GET   	Path: :bob
    - Method: GET   	Path: :charlie
    - Method: GET   	Path: :dave
    - Method: GET   	Path: :eve
    - Method: GET   	Path: /user/:alice/files
    - Method: GET   	Path: /user/:bob/files
    - Method: GET   	Path: /user/:charlie/files
    - Method: GET   	Path: /user/:dave/files
    - Method: GET   	Path: /user/:eve/files
    Request:  GET /foo HTTP/1.1
    Expected: eve
    Received: 404 page not found

  >            GET /user/foo/files                           ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: :alice
    - Method: GET   	Path: :bob
    - Method: GET   	Path: :charlie
    - Method: GET   	Path: :dave
    - Method: GET   	Path: :eve
    - Method: GET   	Path: /user/:alice/files
    - Method: GET   	Path: /user/:bob/files
    - Method: GET   	Path: /user/:charlie/files
    - Method: GET   	Path: /user/:dave/files
    - Method: GET   	Path: /user/:eve/files
    Request:  GET /user/foo/files HTTP/1.1
    Expected: eve
    Received: 404 page not found

###
                               -- test failed (-1.0) --

-------------------------------------------------------------------------------
  Test 25: Check that non-capturing routes have precedence over capturing ones
-------------------------------------------------------------------------------

  >            GET /path/to/value                            ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /path/to/:file
    - Method: GET   	Path: /path/to/file
    Request:  GET /path/to/value HTTP/1.1
    Expected: value
    Received: 404 page not found

  >            GET /path/to/null                             ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /path/to/:file
    - Method: GET   	Path: /path/to/file
    Request:  GET /path/to/null HTTP/1.1
    Expected: null
    Received: 404 page not found

  >            GET /path/to/test                             ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /path/to/:file
    - Method: GET   	Path: /path/to/file
    Request:  GET /path/to/test HTTP/1.1
    Expected: test
    Received: 404 page not found

  >            GET /path/to/file                             ... ok
###
                               -- test failed (-1.0) --

-------------------------------------------------------------------------------
  Test 26: Check non-capturing route precedence with ambiguous routes.
-------------------------------------------------------------------------------

  >            GET /animals/reptiles/images                  ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /animals/mammals/:species
    - Method: GET   	Path: /animals/:type/images
    Request:  GET /animals/reptiles/images HTTP/1.1
    Expected: reptiles
    Received: 404 page not found

  >            GET /animals/birds/images                     ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /animals/mammals/:species
    - Method: GET   	Path: /animals/:type/images
    Request:  GET /animals/birds/images HTTP/1.1
    Expected: birds
    Received: 404 page not found

  >            GET /animals/amphibians/images                ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /animals/mammals/:species
    - Method: GET   	Path: /animals/:type/images
    Request:  GET /animals/amphibians/images HTTP/1.1
    Expected: amphibians
    Received: 404 page not found

  >            GET /animals/mammals/lions                    ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /animals/mammals/:species
    - Method: GET   	Path: /animals/:type/images
    Request:  GET /animals/mammals/lions HTTP/1.1
    Expected: lions
    Received: 404 page not found

  >            GET /animals/mammals/tigers                   ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /animals/mammals/:species
    - Method: GET   	Path: /animals/:type/images
    Request:  GET /animals/mammals/tigers HTTP/1.1
    Expected: tigers
    Received: 404 page not found

  >            GET /animals/mammals/bears                    ... FAIL
    Output from additional subtests was suppressed...
###
                               -- test failed (-1.0) --

-------------------------------------------------------------------------------
  Test 27: Check non-capturing route precedence with very ambiguous routes.
-------------------------------------------------------------------------------

  >            GET /a/b/c/d/e                                ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /a/b/:c/:d/:e
    - Method: GET   	Path: /a/:b/c/:d/e
    - Method: GET   	Path: /:a/b/c/d/:e
    - Method: GET   	Path: /:a/b/:c/d/:e
    - Method: GET   	Path: /a/:b/c/:d/e
    Request:  GET /a/b/c/d/e HTTP/1.1
    Expected: PASS
    Received: 404 page not found

###
                               -- test failed (-1.0) --

-------------------------------------------------------------------------------
  Test 28: Check that greedy resolution doesn't cause you to ignore valid routes
-------------------------------------------------------------------------------

  >            GET /this/path/willnot/work                   ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /this/path/:will/work
    - Method: GET   	Path: /this/path/willnot/
    Request:  GET /this/path/willnot/work HTTP/1.1
    Expected: PASS
    Received: 404 page not found

###
                               -- test failed (-1.0) --

-------------------------------------------------------------------------------
  Test 29: Check precedence and greedy resolution with ambiguous routes.
-------------------------------------------------------------------------------

  >            GET /a/b/c/d/e                                ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:a/b/c/d/e
    - Method: GET   	Path: /a/:b/c/d/e
    - Method: GET   	Path: /a/b/:c/d/e
    - Method: GET   	Path: /a/b/c/:d/f
    Request:  GET /a/b/c/d/e HTTP/1.1
    Expected: PASS
    Received: 404 page not found

###
                               -- test failed (-1.0) --

-------------------------------------------------------------------------------
  Test 30: Check precedence and greedy resolution with very ambiguous routes.
-------------------------------------------------------------------------------

  >            GET /a/b/c/d/e                                ... FAIL

    ********* TEST FAILED *********
    Routes:
    - Method: GET   	Path: /:a/b/c/d/:e
    - Method: GET   	Path: /:a/:b/c/d/e
    - Method: GET   	Path: /:a/:b/:c/d/f
    - Method: GET   	Path: /:a/:b/:c/:d/e
    - Method: GET   	Path: /a/b/c/:d/f
    Request:  GET /a/b/c/d/e HTTP/1.1
    Expected: PASS
    Received: 404 page not found

###
                               -- test failed (-1.0) --

--------------------------------------------------------------
Results
--------------------------------------------------------------
>     ========================================================
>        Test summary:
>            Passed  14 / 30  tests     (16 failed)
>            Passed 125 / 199 subtests  (74 failed)
>
>        Score:
>            14.00 points of a possible 30.00  (46.67%)
>     ========================================================


Successfully aliased the URL <https://andres-coello-goyes-prprqt4ff.now.sh> to the following aliases:

* https://andres-coello-goyes.goyeselcoca.now.sh
* https://andres-coello-goyes-git-master.goyeselcoca.now.sh


Deployment failed with the following error:

~~~
The property `type` is not allowed in now.json when using Now 2.0 – please remove it.
~~~


Successfully aliased the URL <https://codesandboxapp-l0oib85en.now.sh> to the following aliases:

* https://codesandboxapp.ndavaser.now.sh
* https://codesandboxapp-git-master.ndavaser.now.sh