Tests that routes with querystrings are correctly processed.

Source

						public function testRoutesWithQueryStrings() {
		$route = new Route(array('template' => '/{:controller}/{:action}/{:args}'));

		$expected = '/posts?foo=bar';
		$result = $route->match(array('controller' => 'posts', '?' => 'foo=bar'));
		$this->assertEqual($expected, $result);

		$expected = '/posts?foo=bar&baz=dib';
		$result = $route->match(array('controller' => 'posts', '?' => 'foo=bar&baz=dib'));
		$this->assertEqual($expected, $result);

		$expected = '/posts?foo=bar';
		$result = $route->match(array('controller' => 'posts', '?' => array('foo' => 'bar')));
		$this->assertEqual($expected, $result);

		$expected = '/posts/archive?foo=bar&baz=dib';
		$result = $route->match(array('controller' => 'posts', 'action' => 'archive', '?' => array(
			'foo' => 'bar', 'baz' => 'dib'
		)));
		$this->assertEqual($expected, $result);

		$expected = '/posts/archive?foo[]=bar&foo[]=baz';
		$result = $route->match(array(
			'controller' => 'posts',
			'action' => 'archive',
			'?' => 'foo[]=bar&foo[]=baz'
		));
		$this->assertEqual($expected, $result);
	}