aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/symfony/routing/Symfony/Component/Routing/Tests/Annotation/RouteTest.php
blob: b58869f7afc69589d331f9aeb3416db443002ed3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Routing\Tests\Annotation;

use Symfony\Component\Routing\Annotation\Route;

class RouteTest extends \PHPUnit_Framework_TestCase
{
    /**
     * @expectedException \BadMethodCallException
     */
    public function testInvalidRouteParameter()
    {
        $route = new Route(array('foo' => 'bar'));
    }

    /**
     * @dataProvider getValidParameters
     */
    public function testRouteParameters($parameter, $value, $getter)
    {
        $route = new Route(array($parameter => $value));
        $this->assertEquals($route->$getter(), $value);
    }

    public function getValidParameters()
    {
        return array(
           array('value', '/Blog', 'getPattern'),
           array('value', '/Blog', 'getPath'),
           array('requirements', array('_method' => 'GET'), 'getRequirements'),
           array('options', array('compiler_class' => 'RouteCompiler'), 'getOptions'),
           array('name', 'blog_index', 'getName'),
           array('defaults', array('_controller' => 'MyBlogBundle:Blog:index'), 'getDefaults'),
           array('schemes', array('https'), 'getSchemes'),
           array('methods', array('GET', 'POST'), 'getMethods'),
           array('host', array('{locale}.example.com'), 'getHost')
        );
    }
}