public function testParseRequest() { $manager = new UrlManager(['cache' => null]); $request = new Request(['hostInfo' => 'http://en.example.com', 'methodParam' => '_METHOD']); $suites = $this->getTestsForParseRequest(); foreach ($suites as $i => $suite) { list($name, $config, $tests) = $suite; $rule = new UrlRule($config); foreach ($tests as $j => $test) { $request->pathInfo = $test[0]; $route = $test[1]; $params = isset($test[2]) ? $test[2] : []; $_POST['_METHOD'] = isset($test[3]) ? $test[3] : 'GET'; $result = $rule->parseRequest($manager, $request); if ($route === false) { $this->assertFalse($result, "Test#{$i}-{$j}: {$name}"); } else { $this->assertEquals([$route, $params], $result, "Test#{$i}-{$j}: {$name}"); } } } }