| @@ 2125-2144 (lines=20) @@ | ||
| 2122 | $this->assertSame('png', $ext); |
|
| 2123 | } |
|
| 2124 | ||
| 2125 | public function testMatchesLiteralDotsInPaths() |
|
| 2126 | { |
|
| 2127 | $this->klein_app->respond( |
|
| 2128 | '/file.ext', |
|
| 2129 | function () { |
|
| 2130 | } |
|
| 2131 | ); |
|
| 2132 | ||
| 2133 | // Should match |
|
| 2134 | $this->klein_app->dispatch( |
|
| 2135 | MockRequestFactory::create('/file.ext') |
|
| 2136 | ); |
|
| 2137 | $this->assertSame(200, $this->klein_app->response()->code()); |
|
| 2138 | ||
| 2139 | // Shouldn't match |
|
| 2140 | $this->klein_app->dispatch( |
|
| 2141 | MockRequestFactory::create('/file0ext') |
|
| 2142 | ); |
|
| 2143 | $this->assertSame(404, $this->klein_app->response()->code()); |
|
| 2144 | } |
|
| 2145 | ||
| 2146 | public function testMatchesLiteralDotsInPathBeforeNamedParam() |
|
| 2147 | { |
|
| @@ 2146-2165 (lines=20) @@ | ||
| 2143 | $this->assertSame(404, $this->klein_app->response()->code()); |
|
| 2144 | } |
|
| 2145 | ||
| 2146 | public function testMatchesLiteralDotsInPathBeforeNamedParam() |
|
| 2147 | { |
|
| 2148 | $this->klein_app->respond( |
|
| 2149 | '/file.[:ext]', |
|
| 2150 | function () { |
|
| 2151 | } |
|
| 2152 | ); |
|
| 2153 | ||
| 2154 | // Should match |
|
| 2155 | $this->klein_app->dispatch( |
|
| 2156 | MockRequestFactory::create('/file.ext') |
|
| 2157 | ); |
|
| 2158 | $this->assertSame(200, $this->klein_app->response()->code()); |
|
| 2159 | ||
| 2160 | // Shouldn't match |
|
| 2161 | $this->klein_app->dispatch( |
|
| 2162 | MockRequestFactory::create('/file0ext') |
|
| 2163 | ); |
|
| 2164 | $this->assertSame(404, $this->klein_app->response()->code()); |
|
| 2165 | } |
|
| 2166 | ||
| 2167 | public function testMultipleUnsafeCharactersArentOverQuoted() |
|
| 2168 | { |
|
| @@ 2181-2200 (lines=20) @@ | ||
| 2178 | $this->assertSame(200, $this->klein_app->response()->code()); |
|
| 2179 | } |
|
| 2180 | ||
| 2181 | public function testMatchesLiteralPlusSignsInPaths() |
|
| 2182 | { |
|
| 2183 | $this->klein_app->respond( |
|
| 2184 | '/te+st', |
|
| 2185 | function () { |
|
| 2186 | } |
|
| 2187 | ); |
|
| 2188 | ||
| 2189 | // Should match |
|
| 2190 | $this->klein_app->dispatch( |
|
| 2191 | MockRequestFactory::create('/te+st') |
|
| 2192 | ); |
|
| 2193 | $this->assertSame(200, $this->klein_app->response()->code()); |
|
| 2194 | ||
| 2195 | // Shouldn't match |
|
| 2196 | $this->klein_app->dispatch( |
|
| 2197 | MockRequestFactory::create('/teeeeeeeeest') |
|
| 2198 | ); |
|
| 2199 | $this->assertSame(404, $this->klein_app->response()->code()); |
|
| 2200 | } |
|
| 2201 | ||
| 2202 | public function testMatchesParenthesesInPaths() |
|
| 2203 | { |
|