Skip to content

Commit 4290af3

Browse files
vierbergenlarslsmith77
authored andcommitted
Test that XML and YAML route collections forward requirements and defaults
1 parent 1777fe4 commit 4290af3

File tree

4 files changed

+14
-13
lines changed

4 files changed

+14
-13
lines changed

Tests/Fixtures/Routes/routes_with_options.xml renamed to Tests/Fixtures/Routes/routes_with_options_requirements_and_defaults.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,7 @@
77
<route id="get_users" pattern="/users">
88
<default key="_controller">FOSRestBundle:UsersController:getUsers</default>
99
<option key="expose">true</option>
10+
<requirement key="slug">[a-z]+</requirement>
11+
<default key="slug">home</default>
1012
</route>
1113
</routes>

Tests/Fixtures/Routes/routes_with_options.yml renamed to Tests/Fixtures/Routes/routes_with_options_requirements_and_defaults.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,7 @@ users:
33
resource: FOS\RestBundle\Tests\Fixtures\Controller\UsersController
44
options:
55
expose: true
6+
requirements:
7+
slug: "[a-z]+"
8+
defaults:
9+
slug: home

Tests/Routing/Loader/RestXmlCollectionLoaderTest.php

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -109,21 +109,14 @@ public function testManualRoutesWithDefaultFormat()
109109
$this->assertEquals('xml', $route->getDefault('_format'));
110110
}
111111

112-
public function testForwardOptions()
112+
public function testForwardOptionsRequirementsAndDefaults()
113113
{
114-
$collection = $this->loadFromXmlCollectionFixture(
115-
'routes_with_options.xml',
116-
true,
117-
array(
118-
'json' => false,
119-
'xml' => false,
120-
'html' => true,
121-
),
122-
'xml'
123-
);
114+
$collection = $this->loadFromXmlCollectionFixture('routes_with_options_requirements_and_defaults.xml');
124115

125116
foreach ($collection as $route) {
126117
$this->assertTrue('true' === $route->getOption('expose'));
118+
$this->assertEquals('[a-z]+', $route->getRequirement('slug'));
119+
$this->assertEquals('home', $route->getDefault('slug'));
127120
}
128121
}
129122
/**

Tests/Routing/Loader/RestYamlCollectionLoaderTest.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,12 +92,14 @@ public function testNamedPrefixedReportsFixtureHasNoDuplicates()
9292
$this->assertEquals(count($names), count(array_unique($names)));
9393
}
9494

95-
public function testForwardOptions()
95+
public function testForwardOptionsRequirementsAndDefaults()
9696
{
97-
$collection = $this->loadFromYamlCollectionFixture('routes_with_options.yml');
97+
$collection = $this->loadFromYamlCollectionFixture('routes_with_options_requirements_and_defaults.yml');
9898

9999
foreach ($collection as $route) {
100100
$this->assertTrue($route->getOption('expose'));
101+
$this->assertEquals('[a-z]+', $route->getRequirement('slug'));
102+
$this->assertEquals('home', $route->getDefault('slug'));
101103
}
102104
}
103105

0 commit comments

Comments
 (0)