class RouterTest in Zircon Profile 8
Same name in this branch
- 8 vendor/symfony/routing/Tests/RouterTest.php \Symfony\Component\Routing\Tests\RouterTest
- 8 core/modules/system/src/Tests/Routing/RouterTest.php \Drupal\system\Tests\Routing\RouterTest
Same name and namespace in other branches
- 8.0 vendor/symfony/routing/Tests/RouterTest.php \Symfony\Component\Routing\Tests\RouterTest
Hierarchy
- class \Symfony\Component\Routing\Tests\RouterTest extends \Symfony\Component\Routing\Tests\PHPUnit_Framework_TestCase
Expanded class hierarchy of RouterTest
File
- vendor/
symfony/ routing/ Tests/ RouterTest.php, line 17
Namespace
Symfony\Component\Routing\TestsView source
class RouterTest extends \PHPUnit_Framework_TestCase {
private $router = null;
private $loader = null;
protected function setUp() {
$this->loader = $this
->getMock('Symfony\\Component\\Config\\Loader\\LoaderInterface');
$this->router = new Router($this->loader, 'routing.yml');
}
public function testSetOptionsWithSupportedOptions() {
$this->router
->setOptions(array(
'cache_dir' => './cache',
'debug' => true,
'resource_type' => 'ResourceType',
));
$this
->assertSame('./cache', $this->router
->getOption('cache_dir'));
$this
->assertTrue($this->router
->getOption('debug'));
$this
->assertSame('ResourceType', $this->router
->getOption('resource_type'));
}
/**
* @expectedException \InvalidArgumentException
* @expectedExceptionMessage The Router does not support the following options: "option_foo", "option_bar"
*/
public function testSetOptionsWithUnsupportedOptions() {
$this->router
->setOptions(array(
'cache_dir' => './cache',
'option_foo' => true,
'option_bar' => 'baz',
'resource_type' => 'ResourceType',
));
}
public function testSetOptionWithSupportedOption() {
$this->router
->setOption('cache_dir', './cache');
$this
->assertSame('./cache', $this->router
->getOption('cache_dir'));
}
/**
* @expectedException \InvalidArgumentException
* @expectedExceptionMessage The Router does not support the "option_foo" option
*/
public function testSetOptionWithUnsupportedOption() {
$this->router
->setOption('option_foo', true);
}
/**
* @expectedException \InvalidArgumentException
* @expectedExceptionMessage The Router does not support the "option_foo" option
*/
public function testGetOptionWithUnsupportedOption() {
$this->router
->getOption('option_foo', true);
}
public function testThatRouteCollectionIsLoaded() {
$this->router
->setOption('resource_type', 'ResourceType');
$routeCollection = $this
->getMock('Symfony\\Component\\Routing\\RouteCollection');
$this->loader
->expects($this
->once())
->method('load')
->with('routing.yml', 'ResourceType')
->will($this
->returnValue($routeCollection));
$this
->assertSame($routeCollection, $this->router
->getRouteCollection());
}
/**
* @dataProvider provideMatcherOptionsPreventingCaching
*/
public function testMatcherIsCreatedIfCacheIsNotConfigured($option) {
$this->router
->setOption($option, null);
$this->loader
->expects($this
->once())
->method('load')
->with('routing.yml', null)
->will($this
->returnValue($this
->getMock('Symfony\\Component\\Routing\\RouteCollection')));
$this
->assertInstanceOf('Symfony\\Component\\Routing\\Matcher\\UrlMatcher', $this->router
->getMatcher());
}
public function provideMatcherOptionsPreventingCaching() {
return array(
array(
'cache_dir',
),
array(
'matcher_cache_class',
),
);
}
/**
* @dataProvider provideGeneratorOptionsPreventingCaching
*/
public function testGeneratorIsCreatedIfCacheIsNotConfigured($option) {
$this->router
->setOption($option, null);
$this->loader
->expects($this
->once())
->method('load')
->with('routing.yml', null)
->will($this
->returnValue($this
->getMock('Symfony\\Component\\Routing\\RouteCollection')));
$this
->assertInstanceOf('Symfony\\Component\\Routing\\Generator\\UrlGenerator', $this->router
->getGenerator());
}
public function provideGeneratorOptionsPreventingCaching() {
return array(
array(
'cache_dir',
),
array(
'generator_cache_class',
),
);
}
public function testMatchRequestWithUrlMatcherInterface() {
$matcher = $this
->getMock('Symfony\\Component\\Routing\\Matcher\\UrlMatcherInterface');
$matcher
->expects($this
->once())
->method('match');
$p = new \ReflectionProperty($this->router, 'matcher');
$p
->setAccessible(true);
$p
->setValue($this->router, $matcher);
$this->router
->matchRequest(Request::create('/'));
}
public function testMatchRequestWithRequestMatcherInterface() {
$matcher = $this
->getMock('Symfony\\Component\\Routing\\Matcher\\RequestMatcherInterface');
$matcher
->expects($this
->once())
->method('matchRequest');
$p = new \ReflectionProperty($this->router, 'matcher');
$p
->setAccessible(true);
$p
->setValue($this->router, $matcher);
$this->router
->matchRequest(Request::create('/'));
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
RouterTest:: |
private | property | ||
RouterTest:: |
private | property | ||
RouterTest:: |
public | function | ||
RouterTest:: |
public | function | ||
RouterTest:: |
protected | function | ||
RouterTest:: |
public | function | @dataProvider provideGeneratorOptionsPreventingCaching | |
RouterTest:: |
public | function | @expectedException \InvalidArgumentException @expectedExceptionMessage The Router does not support the "option_foo" option | |
RouterTest:: |
public | function | @dataProvider provideMatcherOptionsPreventingCaching | |
RouterTest:: |
public | function | ||
RouterTest:: |
public | function | ||
RouterTest:: |
public | function | ||
RouterTest:: |
public | function | @expectedException \InvalidArgumentException @expectedExceptionMessage The Router does not support the following options: "option_foo", "option_bar" | |
RouterTest:: |
public | function | ||
RouterTest:: |
public | function | @expectedException \InvalidArgumentException @expectedExceptionMessage The Router does not support the "option_foo" option | |
RouterTest:: |
public | function |