Expanded class hierarchy of PhpGeneratorDumperTest
class PhpGeneratorDumperTest extends \PHPUnit_Framework_TestCase {
/**
* @var RouteCollection
*/
private $routeCollection;
/**
* @var PhpGeneratorDumper
*/
private $generatorDumper;
/**
* @var string
*/
private $testTmpFilepath;
protected function setUp() {
parent::setUp();
$this->routeCollection = new RouteCollection();
$this->generatorDumper = new PhpGeneratorDumper($this->routeCollection);
$this->testTmpFilepath = sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'php_generator.php';
@unlink($this->testTmpFilepath);
}
protected function tearDown() {
parent::tearDown();
@unlink($this->testTmpFilepath);
$this->routeCollection = null;
$this->generatorDumper = null;
$this->testTmpFilepath = null;
}
public function testDumpWithRoutes() {
$this->routeCollection
->add('Test', new Route('/testing/{foo}'));
$this->routeCollection
->add('Test2', new Route('/testing2'));
file_put_contents($this->testTmpFilepath, $this->generatorDumper
->dump());
include $this->testTmpFilepath;
$projectUrlGenerator = new \ProjectUrlGenerator(new RequestContext('/app.php'));
$absoluteUrlWithParameter = $projectUrlGenerator
->generate('Test', array(
'foo' => 'bar',
), true);
$absoluteUrlWithoutParameter = $projectUrlGenerator
->generate('Test2', array(), true);
$relativeUrlWithParameter = $projectUrlGenerator
->generate('Test', array(
'foo' => 'bar',
), false);
$relativeUrlWithoutParameter = $projectUrlGenerator
->generate('Test2', array(), false);
$this
->assertEquals($absoluteUrlWithParameter, 'http://localhost/app.php/testing/bar');
$this
->assertEquals($absoluteUrlWithoutParameter, 'http://localhost/app.php/testing2');
$this
->assertEquals($relativeUrlWithParameter, '/app.php/testing/bar');
$this
->assertEquals($relativeUrlWithoutParameter, '/app.php/testing2');
}
/**
* @expectedException \InvalidArgumentException
*/
public function testDumpWithoutRoutes() {
file_put_contents($this->testTmpFilepath, $this->generatorDumper
->dump(array(
'class' => 'WithoutRoutesUrlGenerator',
)));
include $this->testTmpFilepath;
$projectUrlGenerator = new \WithoutRoutesUrlGenerator(new RequestContext('/app.php'));
$projectUrlGenerator
->generate('Test', array());
}
/**
* @expectedException \Symfony\Component\Routing\Exception\RouteNotFoundException
*/
public function testGenerateNonExistingRoute() {
$this->routeCollection
->add('Test', new Route('/test'));
file_put_contents($this->testTmpFilepath, $this->generatorDumper
->dump(array(
'class' => 'NonExistingRoutesUrlGenerator',
)));
include $this->testTmpFilepath;
$projectUrlGenerator = new \NonExistingRoutesUrlGenerator(new RequestContext());
$url = $projectUrlGenerator
->generate('NonExisting', array());
}
public function testDumpForRouteWithDefaults() {
$this->routeCollection
->add('Test', new Route('/testing/{foo}', array(
'foo' => 'bar',
)));
file_put_contents($this->testTmpFilepath, $this->generatorDumper
->dump(array(
'class' => 'DefaultRoutesUrlGenerator',
)));
include $this->testTmpFilepath;
$projectUrlGenerator = new \DefaultRoutesUrlGenerator(new RequestContext());
$url = $projectUrlGenerator
->generate('Test', array());
$this
->assertEquals($url, '/testing');
}
}
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
PhpGeneratorDumperTest:: |
private | property | ||
PhpGeneratorDumperTest:: |
private | property | ||
PhpGeneratorDumperTest:: |
private | property | ||
PhpGeneratorDumperTest:: |
protected | function | ||
PhpGeneratorDumperTest:: |
protected | function | ||
PhpGeneratorDumperTest:: |
public | function | ||
PhpGeneratorDumperTest:: |
public | function | @expectedException \InvalidArgumentException | |
PhpGeneratorDumperTest:: |
public | function | ||
PhpGeneratorDumperTest:: |
public | function | @expectedException \Symfony\Component\Routing\Exception\RouteNotFoundException |