public function test_get_requested_endpoint() { // sample endpoints $endpoint_1 = new Endpoint('/url-1', array('plugin-1/plugin-1.php')); $endpoint_2 = new Endpoint('/url-2', array('plugin-1/plugin-1.php', 'plugin-2/plugin-2.php')); // no registered endpoints $router = new Router(); $this->assertNull($router->get_requested_endpoint()); // 1 registered endpoint but requesting different URL $_SERVER['REQUEST_URI'] = '/'; $router->register_endpoint($endpoint_1->url, $endpoint_1->active_plugins); $this->assertNull($router->get_requested_endpoint()); // 2 registered endpoints, requesting url of 2nd endpoints $router->register_endpoint($endpoint_2->url, $endpoint_2->active_plugins); $_SERVER['REQUEST_URI'] = $endpoint_2->url; $this->assertEquals($endpoint_2, $router->get_requested_endpoint()); // 2 registered endpoints, requesting subset of 2nd endpoint's url $_SERVER['REQUEST_URI'] = $endpoint_2->url . '/additional-url-string'; $this->assertEquals($endpoint_2, $router->get_requested_endpoint()); }