* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class RequestTest extends TestCase { public function testGetRequestTarget() { $request = new Request(new Url('http://127.0.0.1'), 'GET'); $this->assertEquals('/', $request->getRequestTarget()); $request->setRequestTarget('*'); $this->assertEquals('*', $request->getRequestTarget()); } public function testGetUri() { $request = new Request(new Url('http://127.0.0.1'), 'GET'); $this->assertEquals('http://127.0.0.1', $request->getUri()->toString()); $request->setUri(new Url('http://127.0.0.1/foo')); $this->assertEquals('http://127.0.0.1/foo', $request->getUri()->toString()); } public function testToString() { $body = new StringStream(); $body->write('foobar'); $request = new Request(new Url('http://127.0.0.1'), 'POST'); $request->setHeader('Content-Type', 'text/html; charset=UTF-8'); $request->setBody($body); $httpRequest = 'POST / HTTP/1.1' . Http::NEW_LINE; $httpRequest.= 'content-type: text/html; charset=UTF-8' . Http::NEW_LINE; $httpRequest.= Http::NEW_LINE; $httpRequest.= 'foobar'; $this->assertEquals($httpRequest, $request->toString()); $this->assertEquals($httpRequest, (string) $request); } public function testGetSetAttributes() { $request = new Request(new Url('http://127.0.0.1'), 'POST'); $request->setAttribute('foo', 'bar'); $this->assertEquals('bar', $request->getAttribute('foo')); $this->assertEquals(null, $request->getAttribute('bar')); $this->assertEquals(array('foo' => 'bar'), $request->getAttributes()); $request->setAttribute('bar', 'foo'); $this->assertEquals('foo', $request->getAttribute('bar')); $this->assertEquals(array('foo' => 'bar', 'bar' => 'foo'), $request->getAttributes()); $request->removeAttribute('bar'); $request->removeAttribute('fooo'); // unknown value $this->assertEquals(null, $request->getAttribute('bar')); } } __halt_compiler();----SIGNATURE:----ItZ4W6XvS0o8Ufb4sRJzGJ/SBZnQrxqiBPjLMzbXsJP0wfWv5ji8SoS54eJ75rdoodmsxBE5jTyO8Mrfq5omLQCYsBMml95eLm48suTKqHxbDWSwUGxWc5kwNTgZOarDWc3uOo0hw+rH3TD0sHT9YFFMByFNXr2xhIp4Bd01AwSu2mYUBv8+yZs48MHxecwssyrWFog+rvMlth7eHZsaSqq8wIf1SNnKG8pw2/MEoY0xoKybcDN6YxyqEkCc3iY7F2dSebsUXKmj06yUDH5OkxM7AjfX9H27Jhe49xVTD+/0VD+Kktt1p2usXDuNZXSonIA9ytXJugFRiII6Qqhg3yLtlIRizksyTOtNACuYg4jM4pgpJIAaE+GVAhLQiykdlq8+gYACOGciDtrcqPH9txfiXqCANNysN8ADpglCeBX3esn4JG3yaJot8pulwQJbg+DKKEJJ3qHJlefRKdXjwGHYuSVEDquiqenRvjt81HzVTAO35S2n7TInRCjlWY3ZqEJeZ+KJJyIEKTP0ShlBKv5Djy+vsrFhYksHuKNMeI9s/NGpq9Iq7/DeFGg1UzlRV3DyK6oJ4b7Tt01nCXgf7xGu+4nhnyJl17qILKhAF6x/Lt6EogUYePCUzQ1wChpUDzth4GRtXP1S8BYutNZSeoK0uujZvhbWWK4kC+L+y4k=----ATTACHMENT:----NDU1OTQ4NTI1NjA0Mjk4MCAzNjEwOTI4OTU3NDg1NTI5IDg1NzQxODU3NzUwMzE1MDU=