Browse Source

Revert array $options argument to boolean $merge in routing classes.

ADmad 11 years ago
parent
commit
f52bf79e13

+ 4 - 6
src/Routing/RouteCollection.php

@@ -279,19 +279,17 @@ class RouteCollection {
  *
  * @param null|string|array $extensions Either the list of extensions to set,
  *   or null to get.
- * @param array $options Valid options:
- *   - `merge` - Default true will merge extensions. Set to false to override
- *     current extensions
+ * @param bool $merge Whether to merge with or override existing extensions.
+ *   Defaults to `true`.
  * @return array The valid extensions.
  */
-	public function extensions($extensions = null, array $options = []) {
+	public function extensions($extensions = null, $merge = true) {
 		if ($extensions === null) {
 			return $this->_extensions;
 		}
 
-		$options += ['merge' => true];
 		$extensions = (array)$extensions;
-		if ($options['merge']) {
+		if ($merge) {
 			$extensions = array_unique(array_merge(
 				$this->_extensions,
 				$extensions

+ 5 - 7
src/Routing/Router.php

@@ -722,7 +722,7 @@ class Router {
 			'Router::parseExtensions() is deprecated should use Router::extensions() instead.',
 			E_USER_DEPRECATED
 		);
-		return static::extensions($extensions, compact('merge'));
+		return static::extensions($extensions, $merge);
 	}
 
 /**
@@ -739,12 +739,11 @@ class Router {
  * If called without any parameters it will return current list of set extensions.
  *
  * @param array|string $extensions List of extensions to be added.
- * @param array $options Valid options:
- *   - `merge` - Default true will merge extensions. Set to false to override
- *     current extensions
+ * @param bool $merge Whether to merge with or override existing extensions.
+ *   Defaults to `true`.
  * @return array Array of extensions Router is configured to parse.
  */
-	public static function extensions($extensions = null, array $options = []) {
+	public static function extensions($extensions = null, $merge = true) {
 		$collection = static::$_collection;
 		if ($extensions === null) {
 			if (!static::$initialized) {
@@ -753,8 +752,7 @@ class Router {
 			return $collection->extensions();
 		}
 
-		$options += ['merge' => true];
-		return $collection->extensions($extensions, $options);
+		return $collection->extensions($extensions, $merge);
 	}
 
 /**

+ 16 - 16
tests/TestCase/Controller/Component/RequestHandlerComponentTest.php

@@ -125,7 +125,7 @@ class RequestHandlerComponentTest extends TestCase {
 	public function testInitializeContentTypeSettingExt() {
 		$event = new Event('Controller.initialize', $this->Controller);
 		$_SERVER['HTTP_ACCEPT'] = 'application/json';
-		Router::extensions('json', ['merge' => false]);
+		Router::extensions('json', false);
 
 		$this->assertNull($this->RequestHandler->ext);
 
@@ -143,7 +143,7 @@ class RequestHandlerComponentTest extends TestCase {
 		$_SERVER['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest';
 		$event = new Event('Controller.initialize', $this->Controller);
 		$this->assertNull($this->RequestHandler->ext);
-		Router::extensions('json', ['merge' => false]);
+		Router::extensions('json', false);
 
 		$this->RequestHandler->initialize($event);
 		$this->assertEquals('json', $this->RequestHandler->ext);
@@ -158,7 +158,7 @@ class RequestHandlerComponentTest extends TestCase {
 		$_SERVER['HTTP_ACCEPT'] = 'text/plain, */*; q=0.01';
 		$event = new Event('Controller.initialize', $this->Controller);
 		$this->assertNull($this->RequestHandler->ext);
-		Router::extensions('csv', ['merge' => false]);
+		Router::extensions('csv', false);
 
 		$this->RequestHandler->initialize($event);
 		$this->assertNull($this->RequestHandler->ext);
@@ -174,7 +174,7 @@ class RequestHandlerComponentTest extends TestCase {
 		$_SERVER['HTTP_ACCEPT'] = 'application/json, application/javascript, */*; q=0.01';
 		$event = new Event('Controller.initialize', $this->Controller);
 		$this->assertNull($this->RequestHandler->ext);
-		Router::extensions(['rss', 'json'], ['merge' => false]);
+		Router::extensions(['rss', 'json'], false);
 
 		$this->RequestHandler->initialize($event);
 		$this->assertEquals('json', $this->RequestHandler->ext);
@@ -189,7 +189,7 @@ class RequestHandlerComponentTest extends TestCase {
 		$_SERVER['HTTP_ACCEPT'] = 'application/json, text/html, */*; q=0.01';
 		$event = new Event('Controller.initialize', $this->Controller);
 		$this->assertNull($this->RequestHandler->ext);
-		Router::extensions('json', ['merge' => false]);
+		Router::extensions('json', false);
 
 		$this->RequestHandler->initialize($event);
 		$this->assertNull($this->RequestHandler->ext);
@@ -207,13 +207,13 @@ class RequestHandlerComponentTest extends TestCase {
 		$_SERVER['HTTP_ACCEPT'] = 'application/json, application/javascript, application/xml, */*; q=0.01';
 		$event = new Event('Controller.initialize', $this->Controller);
 		$this->assertNull($this->RequestHandler->ext);
-		Router::extensions(['xml', 'json'], ['merge' => false]);
+		Router::extensions(['xml', 'json'], false);
 
 		$this->RequestHandler->initialize($event);
 		$this->assertEquals('xml', $this->RequestHandler->ext);
 
 		$this->RequestHandler->ext = null;
-		Router::extensions(array('json', 'xml'), ['merge' => false]);
+		Router::extensions(array('json', 'xml'), false);
 
 		$this->RequestHandler->initialize($event);
 		$this->assertEquals('json', $this->RequestHandler->ext);
@@ -228,7 +228,7 @@ class RequestHandlerComponentTest extends TestCase {
 		$_SERVER['HTTP_ACCEPT'] = 'text/csv;q=1.0, application/json;q=0.8, application/xml;q=0.7';
 		$event = new Event('Controller.initialize', $this->Controller);
 		$this->assertNull($this->RequestHandler->ext);
-		Router::extensions(['xml', 'json'], ['merge' => false]);
+		Router::extensions(['xml', 'json'], false);
 
 		$this->RequestHandler->initialize($event);
 		$this->assertEquals('json', $this->RequestHandler->ext);
@@ -243,7 +243,7 @@ class RequestHandlerComponentTest extends TestCase {
 		$_SERVER['HTTP_ACCEPT'] = 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
 		$event = new Event('Controller.initialize', $this->Controller);
 		$this->assertNull($this->RequestHandler->ext);
-		Router::extensions(['html', 'xml'], ['merge' => false]);
+		Router::extensions(['html', 'xml'], false);
 
 		$this->RequestHandler->initialize($event);
 		$this->assertNull($this->RequestHandler->ext);
@@ -256,7 +256,7 @@ class RequestHandlerComponentTest extends TestCase {
  */
 	public function testInititalizeFirefoxHeaderNotXml() {
 		$_SERVER['HTTP_ACCEPT'] = 'text/html,application/xhtml+xml,application/xml;image/png,image/jpeg,image/*;q=0.9,*/*;q=0.8';
-		Router::extensions(['xml', 'json'], ['merge' => false]);
+		Router::extensions(['xml', 'json'], false);
 
 		$event = new Event('Controller.initialize', $this->Controller);
 		$this->RequestHandler->initialize($event);
@@ -272,7 +272,7 @@ class RequestHandlerComponentTest extends TestCase {
 		$event = new Event('Controller.initialize', $this->Controller);
 		$this->assertNull($this->RequestHandler->ext);
 		$extensions = Router::extensions();
-		Router::extensions('xml', ['merge' => false]);
+		Router::extensions('xml', false);
 
 		$this->Controller->request = $this->getMock('Cake\Network\Request', ['accepts']);
 		$this->Controller->request->expects($this->any())
@@ -282,7 +282,7 @@ class RequestHandlerComponentTest extends TestCase {
 		$this->RequestHandler->initialize($event);
 		$this->assertNull($this->RequestHandler->ext);
 
-		call_user_func_array(array('Cake\Routing\Router', 'extensions'), [$extensions, ['merge' => false]]);
+		call_user_func_array(array('Cake\Routing\Router', 'extensions'), [$extensions, false]);
 	}
 
 /**
@@ -359,7 +359,7 @@ class RequestHandlerComponentTest extends TestCase {
  * @return void
  */
 	public function testJsonViewLoaded() {
-		Router::extensions(['json', 'xml', 'ajax'], ['merge' => false]);
+		Router::extensions(['json', 'xml', 'ajax'], false);
 		$this->Controller->request->params['_ext'] = 'json';
 		$event = new Event('Controller.startup', $this->Controller);
 		$this->RequestHandler->initialize($event);
@@ -376,7 +376,7 @@ class RequestHandlerComponentTest extends TestCase {
  * @return void
  */
 	public function testXmlViewLoaded() {
-		Router::extensions(['json', 'xml', 'ajax'], ['merge' => false]);
+		Router::extensions(['json', 'xml', 'ajax'], false);
 		$this->Controller->request->params['_ext'] = 'xml';
 		$event = new Event('Controller.startup', $this->Controller);
 		$this->RequestHandler->initialize($event);
@@ -393,7 +393,7 @@ class RequestHandlerComponentTest extends TestCase {
  * @return void
  */
 	public function testAjaxViewLoaded() {
-		Router::extensions(['json', 'xml', 'ajax'], ['merge' => false]);
+		Router::extensions(['json', 'xml', 'ajax'], false);
 		$this->Controller->request->params['_ext'] = 'ajax';
 		$event = new Event('Controller.startup', $this->Controller);
 		$this->RequestHandler->initialize($event);
@@ -409,7 +409,7 @@ class RequestHandlerComponentTest extends TestCase {
  * @return void
  */
 	public function testNoViewClassExtension() {
-		Router::extensions(['json', 'xml', 'ajax', 'csv'], ['merge' => false]);
+		Router::extensions(['json', 'xml', 'ajax', 'csv'], false);
 		$this->Controller->request->params['_ext'] = 'csv';
 		$event = new Event('Controller.startup', $this->Controller);
 		$this->RequestHandler->initialize($event);

+ 1 - 1
tests/TestCase/Routing/RouteCollectionTest.php

@@ -307,7 +307,7 @@ class RouteCollectionTest extends TestCase {
 		$this->collection->extensions(['rss', 'xml']);
 		$this->assertEquals(['json', 'rss', 'xml'], $this->collection->extensions());
 
-		$this->collection->extensions(['csv'], ['merge' => false]);
+		$this->collection->extensions(['csv'], false);
 		$this->assertEquals(['csv'], $this->collection->extensions());
 	}
 

+ 8 - 8
tests/TestCase/Routing/RouterTest.php

@@ -277,7 +277,7 @@ class RouterTest extends TestCase {
  * @return void
  */
 	public function testMapResourcesWithExtension() {
-		Router::extensions(['json', 'xml'], ['merge' => false]);
+		Router::extensions(['json', 'xml'], false);
 
 		Router::mapResources('Posts', ['_ext' => 'json']);
 		$_SERVER['REQUEST_METHOD'] = 'GET';
@@ -811,7 +811,7 @@ class RouterTest extends TestCase {
 		Router::connect('/reset/*', array('admin' => true, 'controller' => 'users', 'action' => 'reset'));
 		Router::connect('/tests', array('controller' => 'tests', 'action' => 'index'));
 		Router::connect('/admin/:controller/:action/*', array('prefix' => 'admin'));
-		Router::extensions('rss', ['merge' => false]);
+		Router::extensions('rss', false);
 
 		$request = new Request();
 		$request->addParams(array(
@@ -1530,7 +1530,7 @@ class RouterTest extends TestCase {
  * @return void
  */
 	public function testSetExtensions() {
-		Router::extensions('rss', ['merge' => false]);
+		Router::extensions('rss', false);
 		$this->assertContains('rss', Router::extensions());
 
 		$this->_connectDefaultRoutes();
@@ -1569,7 +1569,7 @@ class RouterTest extends TestCase {
  * @return void
  */
 	public function testExtensionParsing() {
-		Router::extensions('rss', ['merge' => false]);
+		Router::extensions('rss', false);
 		$this->_connectDefaultRoutes();
 
 		$result = Router::parse('/posts.rss');
@@ -1597,7 +1597,7 @@ class RouterTest extends TestCase {
 		$this->assertEquals($expected, $result);
 
 		Router::reload();
-		Router::extensions(['rss', 'xml'], ['merge' => false]);
+		Router::extensions(['rss', 'xml'], false);
 		$this->_connectDefaultRoutes();
 
 		$result = Router::parse('/posts.xml');
@@ -1639,7 +1639,7 @@ class RouterTest extends TestCase {
 		$this->assertEquals($expected, $result);
 
 		Router::reload();
-		Router::extensions('rss', ['merge' => false]);
+		Router::extensions('rss', false);
 		Router::connect('/controller/action', array('controller' => 'controller', 'action' => 'action', '_ext' => 'rss'));
 		$result = Router::parse('/controller/action');
 		$expected = array(
@@ -1968,7 +1968,7 @@ class RouterTest extends TestCase {
 	public function testParsingWithTrailingPeriodAndParseExtensions() {
 		Router::reload();
 		Router::connect('/:controller/:action/*');
-		Router::extensions('json', ['merge' => false]);
+		Router::extensions('json', false);
 
 		$result = Router::parse('/posts/view/something.');
 		$this->assertEquals('something.', $result['pass'][0], 'Period was chopped off %s');
@@ -2357,7 +2357,7 @@ class RouterTest extends TestCase {
  */
 	public function testReverseWithExtension() {
 		Router::connect('/:controller/:action/*');
-		Router::extensions('json', ['merge' => false]);
+		Router::extensions('json', false);
 
 		$request = new Request('/posts/view/1.json');
 		$request->addParams(array(