Skip to content

Commit

Permalink
Update tests for Routing to use new APIs/deprecated helper.
Browse files Browse the repository at this point in the history
* Update most uses to use new methods.
* Update tests that are strictly for deprecated methods to use
  deprecated()
  • Loading branch information
markstory committed Nov 1, 2017
1 parent 0fd5153 commit 7dc1a6a
Show file tree
Hide file tree
Showing 6 changed files with 437 additions and 363 deletions.
8 changes: 6 additions & 2 deletions tests/TestCase/Routing/Middleware/RoutingMiddlewareTest.php
Expand Up @@ -48,7 +48,9 @@ public function setUp()
*/
public function testRedirectResponse()
{
Router::redirect('/testpath', '/pages');
Router::scope('/', function ($routes) {
$routes->redirect('/testpath', '/pages');
});
$request = ServerRequestFactory::fromGlobals(['REQUEST_URI' => '/testpath']);
$request = $request->withAttribute('base', '/subdir');

Expand All @@ -69,7 +71,9 @@ public function testRedirectResponse()
*/
public function testRedirectResponseWithHeaders()
{
Router::redirect('/testpath', '/pages');
Router::scope('/', function ($routes) {
$routes->redirect('/testpath', '/pages');
});
$request = ServerRequestFactory::fromGlobals(['REQUEST_URI' => '/testpath']);
$response = new Response('php://memory', 200, ['X-testing' => 'Yes']);
$next = function ($req, $res) {
Expand Down
6 changes: 6 additions & 0 deletions tests/TestCase/Routing/RequestActionTraitTest.php
Expand Up @@ -22,6 +22,7 @@
use Cake\Utility\Security;

/**
* @group deprecated
*/
class RequestActionTraitTest extends TestCase
{
Expand All @@ -47,6 +48,9 @@ public function setUp()
$this->object = $this->getObjectForTrait('Cake\Routing\RequestActionTrait');
Router::connect('/request_action/:action/*', ['controller' => 'RequestAction']);
Router::connect('/tests_apps/:action/*', ['controller' => 'TestsApps']);

$this->errorLevel = error_reporting();
error_reporting(E_ALL ^ E_USER_DEPRECATED);
}

/**
Expand All @@ -59,6 +63,8 @@ public function tearDown()
parent::tearDown();
DispatcherFactory::clear();
Router::reload();

error_reporting($this->errorLevel);
}

/**
Expand Down
39 changes: 21 additions & 18 deletions tests/TestCase/Routing/Route/RouteTest.php
Expand Up @@ -1204,29 +1204,32 @@ public function testMatchWithMultipleHttpMethodConditions()
/**
* Check [method] compatibility.
*
* @group deprecated
* @return void
*/
public function testMethodCompatibility()
{
$_SERVER['REQUEST_METHOD'] = 'POST';
$route = new Route('/sample', [
'controller' => 'Articles',
'action' => 'index',
'[method]' => 'POST',
]);
$url = [
'controller' => 'Articles',
'action' => 'index',
'_method' => 'POST',
];
$this->assertEquals('/sample', $route->match($url));
$this->deprecated(function () {
$_SERVER['REQUEST_METHOD'] = 'POST';
$route = new Route('/sample', [
'controller' => 'Articles',
'action' => 'index',
'[method]' => 'POST',
]);
$url = [
'controller' => 'Articles',
'action' => 'index',
'_method' => 'POST',
];
$this->assertEquals('/sample', $route->match($url));

$url = [
'controller' => 'Articles',
'action' => 'index',
'[method]' => 'POST',
];
$this->assertEquals('/sample', $route->match($url));
$url = [
'controller' => 'Articles',
'action' => 'index',
'[method]' => 'POST',
];
$this->assertEquals('/sample', $route->match($url));
});
}

/**
Expand Down
30 changes: 18 additions & 12 deletions tests/TestCase/Routing/RouteBuilderTest.php
Expand Up @@ -1092,30 +1092,36 @@ public function testLoadPlugin()
/**
* Test routeClass() still works.
*
* @group deprecated
* @return void
*/
public function testRouteClassBackwardCompat()
{
$routes = new RouteBuilder($this->collection, '/l');
$this->assertNull($routes->routeClass('TestApp\Routing\Route\DashedRoute'));
$this->assertSame('TestApp\Routing\Route\DashedRoute', $routes->routeClass());
$this->assertSame('TestApp\Routing\Route\DashedRoute', $routes->getRouteClass());
$this->deprecated(function() {
$routes = new RouteBuilder($this->collection, '/l');
$this->assertNull($routes->routeClass('TestApp\Routing\Route\DashedRoute'));
$this->assertSame('TestApp\Routing\Route\DashedRoute', $routes->routeClass());
$this->assertSame('TestApp\Routing\Route\DashedRoute', $routes->getRouteClass());
});
}

/**
* Test extensions() still works.
*
* @group deprecated
* @return void
*/
public function testExtensionsBackwardCompat()
{
$routes = new RouteBuilder($this->collection, '/l');
$this->assertNull($routes->extensions(['html']));
$this->assertSame(['html'], $routes->extensions());
$this->assertSame(['html'], $routes->getExtensions());

$this->assertNull($routes->extensions('json'));
$this->assertSame(['json'], $routes->extensions());
$this->assertSame(['json'], $routes->getExtensions());
$this->deprecated(function () {
$routes = new RouteBuilder($this->collection, '/l');
$this->assertNull($routes->extensions(['html']));
$this->assertSame(['html'], $routes->extensions());
$this->assertSame(['html'], $routes->getExtensions());

$this->assertNull($routes->extensions('json'));
$this->assertSame(['json'], $routes->extensions());
$this->assertSame(['json'], $routes->getExtensions());
});
}
}
18 changes: 10 additions & 8 deletions tests/TestCase/Routing/RouteCollectionTest.php
Expand Up @@ -594,21 +594,23 @@ public function testAddingDuplicateNamedRoutes()
/**
* Test combined get/set method.
*
* @group deprecated
* @return void
* @deprecated 3.5.0
*/
public function testExtensions()
{
$this->assertEquals([], $this->collection->extensions());
$this->deprecated(function () {
$this->assertEquals([], $this->collection->extensions());

$this->collection->extensions('json');
$this->assertEquals(['json'], $this->collection->extensions());
$this->collection->extensions('json');
$this->assertEquals(['json'], $this->collection->extensions());

$this->collection->extensions(['rss', 'xml']);
$this->assertEquals(['json', 'rss', 'xml'], $this->collection->extensions());
$this->collection->extensions(['rss', 'xml']);
$this->assertEquals(['json', 'rss', 'xml'], $this->collection->extensions());

$this->collection->extensions(['csv'], false);
$this->assertEquals(['csv'], $this->collection->extensions());
$this->collection->extensions(['csv'], false);
$this->assertEquals(['csv'], $this->collection->extensions());
});
}

/**
Expand Down

0 comments on commit 7dc1a6a

Please sign in to comment.