14 use PHPUnit\Framework\TestCase;
23 public function testMethod($requestMethod, $matcherMethod, $isMatch)
26 $matcher->matchMethod($matcherMethod);
28 $this->assertSame($isMatch, $matcher->matches($request));
32 $this->assertSame($isMatch, $matcher->matches($request));
38 array(
'get',
'get',
true),
39 array(
'get', array(
'get',
'post'),
true),
40 array(
'get',
'post',
false),
41 array(
'get',
'GET',
true),
42 array(
'get', array(
'GET',
'POST'),
true),
43 array(
'get',
'POST',
false),
50 $httpsRequest = $request = $request =
Request::create(
'',
'get', array(), array(), array(), array(
'HTTPS' =>
'on'));
53 $matcher->matchScheme(
'https');
54 $this->assertFalse($matcher->matches($httpRequest));
55 $this->assertTrue($matcher->matches($httpsRequest));
57 $matcher->matchScheme(
'http');
58 $this->assertFalse($matcher->matches($httpsRequest));
59 $this->assertTrue($matcher->matches($httpRequest));
62 $this->assertTrue($matcher->matches($httpsRequest));
63 $this->assertTrue($matcher->matches($httpRequest));
72 $request =
Request::create(
'',
'get', array(), array(), array(), array(
'HTTP_HOST' =>
'foo.example.com'));
74 $matcher->matchHost($pattern);
75 $this->assertSame($isMatch, $matcher->matches($request));
78 $this->assertSame($isMatch, $matcher->matches($request));
84 array(
'.*\.example\.com',
true),
85 array(
'\.example\.com$',
true),
86 array(
'^.*\.example\.com$',
true),
87 array(
'.*\.sensio\.com',
false),
88 array(
'.*\.example\.COM',
true),
89 array(
'\.example\.COM$',
true),
90 array(
'^.*\.example\.COM$',
true),
91 array(
'.*\.sensio\.COM',
false),
101 $matcher->matchPath(
'/admin/.*');
102 $this->assertTrue($matcher->matches($request));
104 $matcher->matchPath(
'/admin');
105 $this->assertTrue($matcher->matches($request));
107 $matcher->matchPath(
'^/admin/.*$');
108 $this->assertTrue($matcher->matches($request));
110 $matcher->matchMethod(
'/blog/.*');
111 $this->assertFalse($matcher->matches($request));
118 $request->setLocale(
'en');
120 $matcher->matchPath(
'^/{_locale}/login$');
121 $this->assertFalse($matcher->matches($request));
128 $matcher->matchPath(
'^/admin/fo o*$');
129 $this->assertTrue($matcher->matches($request));
137 $request->attributes->set(
'foo',
'foo_bar');
139 $matcher->matchAttribute(
'foo',
'foo_.*');
140 $this->assertTrue($matcher->matches($request));
142 $matcher->matchAttribute(
'foo',
'foo');
143 $this->assertTrue($matcher->matches($request));
145 $matcher->matchAttribute(
'foo',
'^foo_bar$');
146 $this->assertTrue($matcher->matches($request));
148 $matcher->matchAttribute(
'foo',
'babar');
149 $this->assertFalse($matcher->matches($request));