Added unit test for query parameter fix

closes #220
closes #228
closes #229
This commit is contained in:
Chris Boden 2014-09-14 11:19:37 -04:00
parent 1a47d4f5e4
commit 3edd0cdd7e

View File

@ -98,8 +98,7 @@ class RouterTest extends \PHPUnit_Framework_TestCase {
$this->_router->onError($this->_conn, $e); $this->_router->onError($this->_conn, $e);
} }
public function testRouterGeneratesRouteParameters() public function testRouterGeneratesRouteParameters() {
{
/** @var $controller WsServerInterface */ /** @var $controller WsServerInterface */
$controller = $this->getMockBuilder('\Ratchet\WebSocket\WsServer')->disableOriginalConstructor()->getMock(); $controller = $this->getMockBuilder('\Ratchet\WebSocket\WsServer')->disableOriginalConstructor()->getMock();
/** @var $matcher UrlMatcherInterface */ /** @var $matcher UrlMatcherInterface */
@ -120,4 +119,22 @@ class RouterTest extends \PHPUnit_Framework_TestCase {
$this->assertEquals(array('foo' => 'bar', 'baz' => 'qux'), $request->getQuery()->getAll()); $this->assertEquals(array('foo' => 'bar', 'baz' => 'qux'), $request->getQuery()->getAll());
} }
public function testQueryParams() {
$controller = $this->getMockBuilder('\Ratchet\WebSocket\WsServer')->disableOriginalConstructor()->getMock();
$this->_matcher->expects($this->any())->method('match')->will(
$this->returnValue(array('_controller' => $controller, 'foo' => 'bar', 'baz' => 'qux'))
);
$conn = $this->getMock('Ratchet\Mock\Connection');
$request = $this->getMock('Guzzle\Http\Message\Request', array('getPath'), array('GET', ''), '', false);
$request->setHeaderFactory($this->getMock('Guzzle\Http\Message\Header\HeaderFactoryInterface'));
$request->setUrl('ws://doesnt.matter?hello=world&foo=nope');
$router = new Router($this->_matcher);
$router->onOpen($conn, $request);
$this->assertEquals(array('foo' => 'nope', 'baz' => 'qux', 'hello' => 'world'), $request->getQuery()->getAll());
}
} }