/** * @covers Phossa\Route\Route::getFilters */ public function testGetFilters() { $this->assertTrue([] == $this->object->getFilters()); $this->object->addFilter('server.server_name', 'm.phossa.com'); $this->assertEquals(['server.server_name' => 'm.phossa.com'], $this->object->getFilters()); }
/** * test other filter, filter by server_name, test GCB * * @covers Phossa\Route\Collector\Collector::match */ public function testMatch51() { $this->object = new Collector(new ParserGcb(), ['chunk' => 3]); unset($_SERVER['SERVER_NAME']); $route = new Route('GET,POST', '/user[/{name:c}]'); $route->addFilter('server.server_name', 'm.phossa.com'); $this->object->addRoute($route); // failed $res1 = new Result(new Request('GET', '/user/phossa')); if (!$this->invokeMethod('match', [$res1])) { $this->assertEquals(Status::PRECONDITION_FAILED, $res1->getStatus()); } else { throw new \Exception('bad'); } // good $_SERVER['SERVER_NAME'] = 'm.phossa.com'; $res2 = new Result(new Request('GET', '/user/phossa')); if ($this->invokeMethod('match', [$res2])) { $this->assertEquals(Status::OK, $res2->getStatus()); } else { throw new \Exception('bad'); } }