Skip to content

Commit 1487357

Browse files
committed
Convert another long test to use a dataprovider.
1 parent bc40a55 commit 1487357

File tree

1 file changed

+24
-134
lines changed

1 file changed

+24
-134
lines changed

lib/Cake/Test/Case/Routing/DispatcherTest.php

Lines changed: 24 additions & 134 deletions
Original file line numberDiff line numberDiff line change
@@ -1346,161 +1346,51 @@ public function testAssetFilterForThemeAndPlugins() {
13461346

13471347
$this->assertFalse($Dispatcher->asset('js/cjs/debug_kit.js', $response));
13481348
}
1349+
13491350
/**
1350-
* testFullPageCachingDispatch method
1351+
* Data provider for cached actions.
13511352
*
1352-
* @return void
1353+
* - Test simple views
1354+
* - Test views with nocache tags
1355+
* - Test requests with named + passed params.
1356+
* - Test themed views.
1357+
*
1358+
* @return array
13531359
*/
1354-
public function testFullPageCachingDispatch() {
1355-
Configure::write('Cache.disable', false);
1356-
Configure::write('Cache.check', true);
1357-
Configure::write('debug', 2);
1358-
1359-
1360-
Router::reload();
1361-
Router::connect('/', array('controller' => 'test_cached_pages', 'action' => 'index'));
1362-
Router::connect('/:controller/:action/*');
1363-
1364-
App::build(array(
1365-
'View' => array(CAKE . 'Test' . DS . 'test_app' . DS . 'View' . DS),
1366-
), true);
1367-
1368-
$dispatcher = new TestDispatcher();
1369-
$request = new CakeRequest('/');
1370-
$response = new CakeResponse();
1371-
1372-
ob_start();
1373-
$dispatcher->dispatch($request, $response);
1374-
$out = ob_get_clean();
1375-
1376-
ob_start();
1377-
$dispatcher->cached($request->here);
1378-
$cached = ob_get_clean();
1379-
1380-
$result = str_replace(array("\t", "\r\n", "\n"), "", $out);
1381-
$cached = preg_replace('/<!--+[^<>]+-->/', '', $cached);
1382-
$expected = str_replace(array("\t", "\r\n", "\n"), "", $cached);
1383-
1384-
$this->assertEqual($expected, $result);
1385-
1386-
$filename = $this->__cachePath($request->here);
1387-
unlink($filename);
1388-
1389-
$request = new CakeRequest('test_cached_pages/index');
1390-
$_POST = array(
1391-
'slasher' => "Up in your's grill \ '"
1360+
public static function cacheActionProvider() {
1361+
return array(
1362+
array('/'),
1363+
array('test_cached_pages/index'),
1364+
array('TestCachedPages/index'),
1365+
array('test_cached_pages/test_nocache_tags'),
1366+
array('TestCachedPages/test_nocache_tags'),
1367+
array('test_cached_pages/view/param/param'),
1368+
array('test_cached_pages/view/foo:bar/value:goo'),
1369+
array('test_cached_pages/themed'),
13921370
);
1393-
1394-
ob_start();
1395-
$dispatcher->dispatch($request, $response);
1396-
$out = ob_get_clean();
1397-
1398-
ob_start();
1399-
$dispatcher->cached($request->here);
1400-
$cached = ob_get_clean();
1401-
1402-
$result = str_replace(array("\t", "\r\n", "\n"), "", $out);
1403-
$cached = preg_replace('/<!--+[^<>]+-->/', '', $cached);
1404-
$expected = str_replace(array("\t", "\r\n", "\n"), "", $cached);
1405-
1406-
$this->assertEqual($expected, $result);
1407-
$filename = $this->__cachePath($request->here);
1408-
unlink($filename);
1409-
1410-
$request = new CakeRequest('TestCachedPages/index');
1411-
1412-
ob_start();
1413-
$dispatcher->dispatch($request, $response);
1414-
$out = ob_get_clean();
1415-
1416-
ob_start();
1417-
$dispatcher->cached($request->here);
1418-
$cached = ob_get_clean();
1419-
1420-
$result = str_replace(array("\t", "\r\n", "\n"), "", $out);
1421-
$cached = preg_replace('/<!--+[^<>]+-->/', '', $cached);
1422-
$expected = str_replace(array("\t", "\r\n", "\n"), "", $cached);
1423-
1424-
$this->assertEqual($expected, $result);
1425-
$filename = $this->__cachePath($request->here);
1426-
unlink($filename);
1427-
1428-
$request = new CakeRequest('TestCachedPages/test_nocache_tags');
1429-
1430-
ob_start();
1431-
$dispatcher->dispatch($request, $response);
1432-
$out = ob_get_clean();
1433-
1434-
ob_start();
1435-
$dispatcher->cached($request->here);
1436-
$cached = ob_get_clean();
1437-
1438-
$result = str_replace(array("\t", "\r\n", "\n"), "", $out);
1439-
$cached = preg_replace('/<!--+[^<>]+-->/', '', $cached);
1440-
$expected = str_replace(array("\t", "\r\n", "\n"), "", $cached);
1441-
1442-
$this->assertEqual($expected, $result);
1443-
$filename = $this->__cachePath($request->here);
1444-
unlink($filename);
1445-
1446-
$request = new CakeRequest('test_cached_pages/view/param/param');
1447-
1448-
ob_start();
1449-
$dispatcher->dispatch($request, $response);
1450-
$out = ob_get_clean();
1451-
1452-
ob_start();
1453-
$dispatcher->cached($request->here);
1454-
$cached = ob_get_clean();
1455-
1456-
$result = str_replace(array("\t", "\r\n", "\n"), "", $out);
1457-
$cached = preg_replace('/<!--+[^<>]+-->/', '', $cached);
1458-
$expected = str_replace(array("\t", "\r\n", "\n"), "", $cached);
1459-
1460-
$this->assertEqual($expected, $result);
1461-
$filename = $this->__cachePath($request->here);
1462-
unlink($filename);
1463-
1464-
$request = new CakeRequest('test_cached_pages/view/foo:bar/value:goo');
1465-
1466-
ob_start();
1467-
$dispatcher->dispatch($request, $response);
1468-
$out = ob_get_clean();
1469-
1470-
ob_start();
1471-
$dispatcher->cached($request->here);
1472-
$cached = ob_get_clean();
1473-
1474-
$result = str_replace(array("\t", "\r\n", "\n"), "", $out);
1475-
$cached = preg_replace('/<!--+[^<>]+-->/', '', $cached);
1476-
$expected = str_replace(array("\t", "\r\n", "\n"), "", $cached);
1477-
1478-
$this->assertEqual($expected, $result);
1479-
$filename = $this->__cachePath($request->here);
1480-
$this->assertTrue(file_exists($filename));
1481-
1482-
unlink($filename);
14831371
}
1484-
1372+
14851373
/**
1486-
* Test full page caching with themes.
1374+
* testFullPageCachingDispatch method
14871375
*
1376+
* @dataProvider cacheActionProvider
14881377
* @return void
14891378
*/
1490-
public function testFullPageCachingWithThemes() {
1379+
public function testFullPageCachingDispatch($url) {
14911380
Configure::write('Cache.disable', false);
14921381
Configure::write('Cache.check', true);
14931382
Configure::write('debug', 2);
14941383

14951384
Router::reload();
1385+
Router::connect('/', array('controller' => 'test_cached_pages', 'action' => 'index'));
14961386
Router::connect('/:controller/:action/*');
14971387

14981388
App::build(array(
14991389
'View' => array(CAKE . 'Test' . DS . 'test_app' . DS . 'View' . DS),
15001390
), true);
15011391

15021392
$dispatcher = new TestDispatcher();
1503-
$request = new CakeRequest('/test_cached_pages/themed');
1393+
$request = new CakeRequest($url);
15041394
$response = new CakeResponse();
15051395

15061396
ob_start();

0 commit comments

Comments
 (0)