@@ 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 | { |