public function testUrlHandled() { $request = new WebRequest(); $request->UrlPath = "/wrong/path/"; $handler = new ClassMappedUrlHandler("\\Rhubarb\\Crown\\Tests\\UrlHandlers\\TestTarget"); $handler->setUrl("/right/path/"); $response = $handler->generateResponse($request); $this->assertFalse($response); $request = new WebRequest(); $request->UrlPath = "/right/path/"; $response = $handler->generateResponse($request); $this->assertEquals("bing bang bong", $response->getContent()); }
public function testChildHandler() { $child = new ClassMappedUrlHandler("Rhubarb\\Crown\\Tests\\UrlHandlers\\Fixtures\\NamespaceMappedHandlerTests\\SubFolder\\ObjectB"); $parent = new ClassMappedUrlHandler("Rhubarb\\Crown\\Tests\\UrlHandlers\\Fixtures\\NamespaceMappedHandlerTests\\ObjectA", ["child/" => $child]); $parent->setUrl("/parent/"); $request = new WebRequest(); $request->UrlPath = "/parent/child/"; $response = $parent->generateResponse($request); $this->assertEquals("ObjectB Response", $response); $request->UrlPath = "/parent/not-child/"; $response = $parent->generateResponse($request); $this->assertEquals("ObjectA Response", $response); $request->UrlPath = "/not-parent/not-child/"; $response = $parent->generateResponse($request); $this->assertFalse($response); }
public function testChildHandler() { $child = new ClassMappedUrlHandler(ObjectB::class); $parent = new ClassMappedUrlHandler(ObjectA::class, ["child/" => $child]); $parent->setUrl("/parent/"); $request = new WebRequest(); $request->urlPath = "/parent/child/"; $response = $parent->generateResponse($request); $this->assertEquals("ObjectB Response", $response); $request->urlPath = "/parent/not-child/"; $response = $parent->generateResponse($request); $this->assertEquals("ObjectA Response", $response); $request->urlPath = "/not-parent/not-child/"; $response = $parent->generateResponse($request); $this->assertFalse($response); }