function test_browserWithReturnTo()
{
$return_to = "http://rp.unittest/consumer";
// will be a ProtocolError raised by Decode or CheckIDRequest.answer
$args = array('openid.mode' => 'monkeydance', 'openid.identity' => 'http://wagu.unittest/', 'openid.return_to' => $return_to);
$e = new Auth_OpenID_ServerError($args, "plucky");
$this->assertTrue($e->hasReturnTo());
$expected_args = array('openid.mode' => 'error', 'openid.error' => 'plucky');
$encoded = $e->encodeToURL();
if (_isError($encoded)) {
$this->fail($encoded->toString());
return;
}
list($rt_base, $_result_args) = explode("?", $e->encodeToURL(), 2);
$result_args = array();
parse_str($_result_args, $result_args);
$result_args = Auth_OpenID::fixArgs($result_args);
$this->assertEquals($result_args, $expected_args);
}