Skip to content

Commit f52bf79

Browse files
committed
Revert array $options argument to boolean $merge in routing classes.
1 parent ce3042f commit f52bf79

File tree

5 files changed

+34
-38
lines changed

5 files changed

+34
-38
lines changed

src/Routing/RouteCollection.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -279,19 +279,17 @@ public function named() {
279279
*
280280
* @param null|string|array $extensions Either the list of extensions to set,
281281
* or null to get.
282-
* @param array $options Valid options:
283-
* - `merge` - Default true will merge extensions. Set to false to override
284-
* current extensions
282+
* @param bool $merge Whether to merge with or override existing extensions.
283+
* Defaults to `true`.
285284
* @return array The valid extensions.
286285
*/
287-
public function extensions($extensions = null, array $options = []) {
286+
public function extensions($extensions = null, $merge = true) {
288287
if ($extensions === null) {
289288
return $this->_extensions;
290289
}
291290

292-
$options += ['merge' => true];
293291
$extensions = (array)$extensions;
294-
if ($options['merge']) {
292+
if ($merge) {
295293
$extensions = array_unique(array_merge(
296294
$this->_extensions,
297295
$extensions

src/Routing/Router.php

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -722,7 +722,7 @@ public static function parseExtensions($extensions = null, $merge = true) {
722722
'Router::parseExtensions() is deprecated should use Router::extensions() instead.',
723723
E_USER_DEPRECATED
724724
);
725-
return static::extensions($extensions, compact('merge'));
725+
return static::extensions($extensions, $merge);
726726
}
727727

728728
/**
@@ -739,12 +739,11 @@ public static function parseExtensions($extensions = null, $merge = true) {
739739
* If called without any parameters it will return current list of set extensions.
740740
*
741741
* @param array|string $extensions List of extensions to be added.
742-
* @param array $options Valid options:
743-
* - `merge` - Default true will merge extensions. Set to false to override
744-
* current extensions
742+
* @param bool $merge Whether to merge with or override existing extensions.
743+
* Defaults to `true`.
745744
* @return array Array of extensions Router is configured to parse.
746745
*/
747-
public static function extensions($extensions = null, array $options = []) {
746+
public static function extensions($extensions = null, $merge = true) {
748747
$collection = static::$_collection;
749748
if ($extensions === null) {
750749
if (!static::$initialized) {
@@ -753,8 +752,7 @@ public static function extensions($extensions = null, array $options = []) {
753752
return $collection->extensions();
754753
}
755754

756-
$options += ['merge' => true];
757-
return $collection->extensions($extensions, $options);
755+
return $collection->extensions($extensions, $merge);
758756
}
759757

760758
/**

tests/TestCase/Controller/Component/RequestHandlerComponentTest.php

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ public function testInitializeCallback() {
125125
public function testInitializeContentTypeSettingExt() {
126126
$event = new Event('Controller.initialize', $this->Controller);
127127
$_SERVER['HTTP_ACCEPT'] = 'application/json';
128-
Router::extensions('json', ['merge' => false]);
128+
Router::extensions('json', false);
129129

130130
$this->assertNull($this->RequestHandler->ext);
131131

@@ -143,7 +143,7 @@ public function testInitializeContentTypeWithjQueryAccept() {
143143
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest';
144144
$event = new Event('Controller.initialize', $this->Controller);
145145
$this->assertNull($this->RequestHandler->ext);
146-
Router::extensions('json', ['merge' => false]);
146+
Router::extensions('json', false);
147147

148148
$this->RequestHandler->initialize($event);
149149
$this->assertEquals('json', $this->RequestHandler->ext);
@@ -158,7 +158,7 @@ public function testInitializeContentTypeWithjQueryTextPlainAccept() {
158158
$_SERVER['HTTP_ACCEPT'] = 'text/plain, */*; q=0.01';
159159
$event = new Event('Controller.initialize', $this->Controller);
160160
$this->assertNull($this->RequestHandler->ext);
161-
Router::extensions('csv', ['merge' => false]);
161+
Router::extensions('csv', false);
162162

163163
$this->RequestHandler->initialize($event);
164164
$this->assertNull($this->RequestHandler->ext);
@@ -174,7 +174,7 @@ public function testInitializeContentTypeWithjQueryAcceptAndMultiplesExtensions(
174174
$_SERVER['HTTP_ACCEPT'] = 'application/json, application/javascript, */*; q=0.01';
175175
$event = new Event('Controller.initialize', $this->Controller);
176176
$this->assertNull($this->RequestHandler->ext);
177-
Router::extensions(['rss', 'json'], ['merge' => false]);
177+
Router::extensions(['rss', 'json'], false);
178178

179179
$this->RequestHandler->initialize($event);
180180
$this->assertEquals('json', $this->RequestHandler->ext);
@@ -189,7 +189,7 @@ public function testInitializeNoContentTypeWithSingleAccept() {
189189
$_SERVER['HTTP_ACCEPT'] = 'application/json, text/html, */*; q=0.01';
190190
$event = new Event('Controller.initialize', $this->Controller);
191191
$this->assertNull($this->RequestHandler->ext);
192-
Router::extensions('json', ['merge' => false]);
192+
Router::extensions('json', false);
193193

194194
$this->RequestHandler->initialize($event);
195195
$this->assertNull($this->RequestHandler->ext);
@@ -207,13 +207,13 @@ public function testInitializeNoContentTypeWithMultipleAcceptedTypes() {
207207
$_SERVER['HTTP_ACCEPT'] = 'application/json, application/javascript, application/xml, */*; q=0.01';
208208
$event = new Event('Controller.initialize', $this->Controller);
209209
$this->assertNull($this->RequestHandler->ext);
210-
Router::extensions(['xml', 'json'], ['merge' => false]);
210+
Router::extensions(['xml', 'json'], false);
211211

212212
$this->RequestHandler->initialize($event);
213213
$this->assertEquals('xml', $this->RequestHandler->ext);
214214

215215
$this->RequestHandler->ext = null;
216-
Router::extensions(array('json', 'xml'), ['merge' => false]);
216+
Router::extensions(array('json', 'xml'), false);
217217

218218
$this->RequestHandler->initialize($event);
219219
$this->assertEquals('json', $this->RequestHandler->ext);
@@ -228,7 +228,7 @@ public function testInitializeContentTypeWithMultipleAcceptedTypes() {
228228
$_SERVER['HTTP_ACCEPT'] = 'text/csv;q=1.0, application/json;q=0.8, application/xml;q=0.7';
229229
$event = new Event('Controller.initialize', $this->Controller);
230230
$this->assertNull($this->RequestHandler->ext);
231-
Router::extensions(['xml', 'json'], ['merge' => false]);
231+
Router::extensions(['xml', 'json'], false);
232232

233233
$this->RequestHandler->initialize($event);
234234
$this->assertEquals('json', $this->RequestHandler->ext);
@@ -243,7 +243,7 @@ public function testInitializeAmbiguousAndroidAccepts() {
243243
$_SERVER['HTTP_ACCEPT'] = 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
244244
$event = new Event('Controller.initialize', $this->Controller);
245245
$this->assertNull($this->RequestHandler->ext);
246-
Router::extensions(['html', 'xml'], ['merge' => false]);
246+
Router::extensions(['html', 'xml'], false);
247247

248248
$this->RequestHandler->initialize($event);
249249
$this->assertNull($this->RequestHandler->ext);
@@ -256,7 +256,7 @@ public function testInitializeAmbiguousAndroidAccepts() {
256256
*/
257257
public function testInititalizeFirefoxHeaderNotXml() {
258258
$_SERVER['HTTP_ACCEPT'] = 'text/html,application/xhtml+xml,application/xml;image/png,image/jpeg,image/*;q=0.9,*/*;q=0.8';
259-
Router::extensions(['xml', 'json'], ['merge' => false]);
259+
Router::extensions(['xml', 'json'], false);
260260

261261
$event = new Event('Controller.initialize', $this->Controller);
262262
$this->RequestHandler->initialize($event);
@@ -272,7 +272,7 @@ public function testInitializeContentTypeAndExtensionMismatch() {
272272
$event = new Event('Controller.initialize', $this->Controller);
273273
$this->assertNull($this->RequestHandler->ext);
274274
$extensions = Router::extensions();
275-
Router::extensions('xml', ['merge' => false]);
275+
Router::extensions('xml', false);
276276

277277
$this->Controller->request = $this->getMock('Cake\Network\Request', ['accepts']);
278278
$this->Controller->request->expects($this->any())
@@ -282,7 +282,7 @@ public function testInitializeContentTypeAndExtensionMismatch() {
282282
$this->RequestHandler->initialize($event);
283283
$this->assertNull($this->RequestHandler->ext);
284284

285-
call_user_func_array(array('Cake\Routing\Router', 'extensions'), [$extensions, ['merge' => false]]);
285+
call_user_func_array(array('Cake\Routing\Router', 'extensions'), [$extensions, false]);
286286
}
287287

288288
/**
@@ -359,7 +359,7 @@ public function testAutoAjaxLayout() {
359359
* @return void
360360
*/
361361
public function testJsonViewLoaded() {
362-
Router::extensions(['json', 'xml', 'ajax'], ['merge' => false]);
362+
Router::extensions(['json', 'xml', 'ajax'], false);
363363
$this->Controller->request->params['_ext'] = 'json';
364364
$event = new Event('Controller.startup', $this->Controller);
365365
$this->RequestHandler->initialize($event);
@@ -376,7 +376,7 @@ public function testJsonViewLoaded() {
376376
* @return void
377377
*/
378378
public function testXmlViewLoaded() {
379-
Router::extensions(['json', 'xml', 'ajax'], ['merge' => false]);
379+
Router::extensions(['json', 'xml', 'ajax'], false);
380380
$this->Controller->request->params['_ext'] = 'xml';
381381
$event = new Event('Controller.startup', $this->Controller);
382382
$this->RequestHandler->initialize($event);
@@ -393,7 +393,7 @@ public function testXmlViewLoaded() {
393393
* @return void
394394
*/
395395
public function testAjaxViewLoaded() {
396-
Router::extensions(['json', 'xml', 'ajax'], ['merge' => false]);
396+
Router::extensions(['json', 'xml', 'ajax'], false);
397397
$this->Controller->request->params['_ext'] = 'ajax';
398398
$event = new Event('Controller.startup', $this->Controller);
399399
$this->RequestHandler->initialize($event);
@@ -409,7 +409,7 @@ public function testAjaxViewLoaded() {
409409
* @return void
410410
*/
411411
public function testNoViewClassExtension() {
412-
Router::extensions(['json', 'xml', 'ajax', 'csv'], ['merge' => false]);
412+
Router::extensions(['json', 'xml', 'ajax', 'csv'], false);
413413
$this->Controller->request->params['_ext'] = 'csv';
414414
$event = new Event('Controller.startup', $this->Controller);
415415
$this->RequestHandler->initialize($event);

tests/TestCase/Routing/RouteCollectionTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ public function testExtensions() {
307307
$this->collection->extensions(['rss', 'xml']);
308308
$this->assertEquals(['json', 'rss', 'xml'], $this->collection->extensions());
309309

310-
$this->collection->extensions(['csv'], ['merge' => false]);
310+
$this->collection->extensions(['csv'], false);
311311
$this->assertEquals(['csv'], $this->collection->extensions());
312312
}
313313

tests/TestCase/Routing/RouterTest.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ public function testMapResourcesWithPrefix() {
277277
* @return void
278278
*/
279279
public function testMapResourcesWithExtension() {
280-
Router::extensions(['json', 'xml'], ['merge' => false]);
280+
Router::extensions(['json', 'xml'], false);
281281

282282
Router::mapResources('Posts', ['_ext' => 'json']);
283283
$_SERVER['REQUEST_METHOD'] = 'GET';
@@ -811,7 +811,7 @@ public function testUrlGenerationWithPrefix() {
811811
Router::connect('/reset/*', array('admin' => true, 'controller' => 'users', 'action' => 'reset'));
812812
Router::connect('/tests', array('controller' => 'tests', 'action' => 'index'));
813813
Router::connect('/admin/:controller/:action/*', array('prefix' => 'admin'));
814-
Router::extensions('rss', ['merge' => false]);
814+
Router::extensions('rss', false);
815815

816816
$request = new Request();
817817
$request->addParams(array(
@@ -1530,7 +1530,7 @@ public function parseReverseSymmetryData() {
15301530
* @return void
15311531
*/
15321532
public function testSetExtensions() {
1533-
Router::extensions('rss', ['merge' => false]);
1533+
Router::extensions('rss', false);
15341534
$this->assertContains('rss', Router::extensions());
15351535

15361536
$this->_connectDefaultRoutes();
@@ -1569,7 +1569,7 @@ public function testExtensionsWithScopedRoutes() {
15691569
* @return void
15701570
*/
15711571
public function testExtensionParsing() {
1572-
Router::extensions('rss', ['merge' => false]);
1572+
Router::extensions('rss', false);
15731573
$this->_connectDefaultRoutes();
15741574

15751575
$result = Router::parse('/posts.rss');
@@ -1597,7 +1597,7 @@ public function testExtensionParsing() {
15971597
$this->assertEquals($expected, $result);
15981598

15991599
Router::reload();
1600-
Router::extensions(['rss', 'xml'], ['merge' => false]);
1600+
Router::extensions(['rss', 'xml'], false);
16011601
$this->_connectDefaultRoutes();
16021602

16031603
$result = Router::parse('/posts.xml');
@@ -1639,7 +1639,7 @@ public function testExtensionParsing() {
16391639
$this->assertEquals($expected, $result);
16401640

16411641
Router::reload();
1642-
Router::extensions('rss', ['merge' => false]);
1642+
Router::extensions('rss', false);
16431643
Router::connect('/controller/action', array('controller' => 'controller', 'action' => 'action', '_ext' => 'rss'));
16441644
$result = Router::parse('/controller/action');
16451645
$expected = array(
@@ -1968,7 +1968,7 @@ public function testParsingWithTrailingPeriod() {
19681968
public function testParsingWithTrailingPeriodAndParseExtensions() {
19691969
Router::reload();
19701970
Router::connect('/:controller/:action/*');
1971-
Router::extensions('json', ['merge' => false]);
1971+
Router::extensions('json', false);
19721972

19731973
$result = Router::parse('/posts/view/something.');
19741974
$this->assertEquals('something.', $result['pass'][0], 'Period was chopped off %s');
@@ -2357,7 +2357,7 @@ public function testReverse() {
23572357
*/
23582358
public function testReverseWithExtension() {
23592359
Router::connect('/:controller/:action/*');
2360-
Router::extensions('json', ['merge' => false]);
2360+
Router::extensions('json', false);
23612361

23622362
$request = new Request('/posts/view/1.json');
23632363
$request->addParams(array(

0 commit comments

Comments
 (0)