Code Duplication    Length = 20-20 lines in 3 locations

exercises/dependency-heaven/solution/vendor/klein/klein/tests/Klein/Tests/RoutingTest.php 3 locations

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