Пример #1
0
 public function testRequest()
 {
     $request = Request::create('https://localhost:8000/index.php/view/page?username=iqbal&firstName=Iqbal', Request::HTTP_METHOD_GET, array('lastName' => 'Maulana'), array('username' => 'test'), array('HTTP_USER_AGENT' => 'Php-Unit', 'SCRIPT_FILENAME' => '/index.php', 'SCRIPT_NAME' => '/index.php'));
     $this->assertEquals('Php-Unit', $request->getServerBag()->get('HTTP_USER_AGENT'));
     $this->assertEquals('https', $request->getSchemaHost()->getSchema());
     $this->assertTrue($request->getHeaderBag()->has('host'));
     $this->assertTrue($request->getSchemaHost()->isSecure());
     $this->assertSame(8000, $request->getSchemaHost()->getPort());
     $this->assertEquals('localhost', $request->getSchemaHost()->getHost());
     $this->assertEquals('localhost:8000', $request->getSchemaHost()->getHttpHost());
     $this->assertTrue($request->isMethod('GET'));
     $request->setMethod('POST');
     $this->assertTrue($request->isMethod('POST'));
     $this->assertEquals('/view/page', $request->getUri()->getPathInfo());
     $this->assertCount(3, $request->getQueryBag());
     $this->assertEquals('iqbal', $request->get('username'));
     $this->assertEquals('Maulana', $request->get('lastName'));
     $this->assertEquals('https://localhost:8000/index.php', $request->getUrl()->getBaseUrl());
     $this->assertEquals('https://localhost:8000/index.php/home/landing', $request->getUrl()->getUrlForPath('home/landing'));
     $this->assertEquals('/index.php/demo/uri', $request->getUri()->getUriForPath('demo/uri'));
     $this->assertEquals('https://localhost:8000/index.php/view/page?firstName=Iqbal&lastName=Maulana&username=iqbal', $request->getUrl()->getFullUrl());
     $this->assertSame(2, count($request->getLanguages()));
     $this->assertEquals('en-US', $request->getLanguages()[0]);
     $this->assertSame(3, count($request->getCharsets()));
     $this->assertEquals('utf-8', $request->getCharsets()[1]);
     $this->assertNull($request->getParameterBag()->get('lastName'));
     $this->assertInstanceOf('\\Borobudur\\Http\\Session', $request->getSession());
     $this->assertInstanceOf('\\Borobudur\\Http\\UploadFileBag', $request->getFileBag());
     $this->assertContains('test', $request->getCookieBag()->values());
     $this->assertFalse($request->isXmlHttpRequest());
     $this->assertFalse($request->isReadOnly());
     $this->assertEmpty($request->getContent());
     $request->setContent('test content');
     $this->assertSame('test content', $request->getContent());
 }
 public function testLogoutOnLoginController()
 {
     $request = Request::create('/logout', Request::HTTP_METHOD_GET);
     $request->getCookieBag()->set('username', 'iqbal');
     $kernel = $this->buildKernel($this->getRouteCollection(), $request);
     $kernel->boot();
     $this->assertEquals('Logout', $this->responseEvent->getResponse()->getContent());
 }
Пример #3
0
 public function testErrorHandling()
 {
     $kernel = $this->buildKernel(Request::create('/'), new RouteCollection());
     $kernel->addListenerOnce(KernelEvents::EXCEPTION, array($this, 'onRequestException'));
     $kernel->boot();
     $event = $this->responseEvent;
     $this->assertEquals('No route found for "GET /".', $event->getException()->getMessage());
     $this->assertSame(404, $event->getException()->getCode());
 }
 public function testControllerWithArguments()
 {
     $collection = new RouteCollection();
     $collection->add('detail', (new Route('/detail/{id}/{slug}'))->setRequirement('id', '\\d+')->setRequirement('slug', '[a-z\\-]+')->handleWith('app.controller.default:detail'));
     $request = Request::create('/detail/5/hello-world', Request::HTTP_METHOD_POST);
     $kernel = $this->buildKernel($request, $collection);
     $kernel->boot();
     $this->assertSame('POST: hello-world-5', $this->responseEvent->getResponse()->getContent());
 }