Expanded class hierarchy of RequestMatcherTest
class RequestMatcherTest extends \PHPUnit_Framework_TestCase {
/**
* @dataProvider testMethodFixtures
*/
public function testMethod($requestMethod, $matcherMethod, $isMatch) {
$matcher = new RequestMatcher();
$matcher
->matchMethod($matcherMethod);
$request = Request::create('', $requestMethod);
$this
->assertSame($isMatch, $matcher
->matches($request));
$matcher = new RequestMatcher(null, null, $matcherMethod);
$request = Request::create('', $requestMethod);
$this
->assertSame($isMatch, $matcher
->matches($request));
}
public function testMethodFixtures() {
return array(
array(
'get',
'get',
true,
),
array(
'get',
array(
'get',
'post',
),
true,
),
array(
'get',
'post',
false,
),
array(
'get',
'GET',
true,
),
array(
'get',
array(
'GET',
'POST',
),
true,
),
array(
'get',
'POST',
false,
),
);
}
/**
* @dataProvider testHostFixture
*/
public function testHost($pattern, $isMatch) {
$matcher = new RequestMatcher();
$request = Request::create('', 'get', array(), array(), array(), array(
'HTTP_HOST' => 'foo.example.com',
));
$matcher
->matchHost($pattern);
$this
->assertSame($isMatch, $matcher
->matches($request));
$matcher = new RequestMatcher(null, $pattern);
$this
->assertSame($isMatch, $matcher
->matches($request));
}
public function testHostFixture() {
return array(
array(
'.*\\.example\\.com',
true,
),
array(
'\\.example\\.com$',
true,
),
array(
'^.*\\.example\\.com$',
true,
),
array(
'.*\\.sensio\\.com',
false,
),
array(
'.*\\.example\\.COM',
true,
),
array(
'\\.example\\.COM$',
true,
),
array(
'^.*\\.example\\.COM$',
true,
),
array(
'.*\\.sensio\\.COM',
false,
),
);
}
public function testPath() {
$matcher = new RequestMatcher();
$request = Request::create('/admin/foo');
$matcher
->matchPath('/admin/.*');
$this
->assertTrue($matcher
->matches($request));
$matcher
->matchPath('/admin');
$this
->assertTrue($matcher
->matches($request));
$matcher
->matchPath('^/admin/.*$');
$this
->assertTrue($matcher
->matches($request));
$matcher
->matchMethod('/blog/.*');
$this
->assertFalse($matcher
->matches($request));
}
public function testPathWithLocaleIsNotSupported() {
$matcher = new RequestMatcher();
$request = Request::create('/en/login');
$request
->setLocale('en');
$matcher
->matchPath('^/{_locale}/login$');
$this
->assertFalse($matcher
->matches($request));
}
public function testPathWithEncodedCharacters() {
$matcher = new RequestMatcher();
$request = Request::create('/admin/fo%20o');
$matcher
->matchPath('^/admin/fo o*$');
$this
->assertTrue($matcher
->matches($request));
}
public function testAttributes() {
$matcher = new RequestMatcher();
$request = Request::create('/admin/foo');
$request->attributes
->set('foo', 'foo_bar');
$matcher
->matchAttribute('foo', 'foo_.*');
$this
->assertTrue($matcher
->matches($request));
$matcher
->matchAttribute('foo', 'foo');
$this
->assertTrue($matcher
->matches($request));
$matcher
->matchAttribute('foo', '^foo_bar$');
$this
->assertTrue($matcher
->matches($request));
$matcher
->matchAttribute('foo', 'babar');
$this
->assertFalse($matcher
->matches($request));
}
}
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
RequestMatcherTest:: |
public | function | ||
RequestMatcherTest:: |
public | function | @dataProvider testHostFixture | |
RequestMatcherTest:: |
public | function | ||
RequestMatcherTest:: |
public | function | @dataProvider testMethodFixtures | |
RequestMatcherTest:: |
public | function | ||
RequestMatcherTest:: |
public | function | ||
RequestMatcherTest:: |
public | function | ||
RequestMatcherTest:: |
public | function |