function test_browserWithReturnTo_OpenID2_POST() { $return_to = "http://rp.unittest/consumer" . str_repeat('x', Auth_OpenID_OPENID1_URL_LIMIT); // will be a ProtocolError raised by Decode or // CheckIDRequest.answer $args = Auth_OpenID_Message::fromPostArgs(array('openid.ns' => Auth_OpenID_OPENID2_NS, 'openid.mode' => 'monkeydance', 'openid.identity' => 'http://wagu.unittest/', 'openid.claimed_id' => 'http://wagu.unittest/', 'openid.return_to' => $return_to)); $e = new Auth_OpenID_ServerError($args, "plucky"); $this->assertTrue($e->hasReturnTo()); $expected_args = array('openid.ns' => Auth_OpenID_OPENID2_NS, 'openid.mode' => 'error', 'openid.error' => 'plucky'); $this->assertTrue($e->whichEncoding() == Auth_OpenID_ENCODE_HTML_FORM); $msg = $e->toMessage(); $this->assertTrue($e->toFormMarkup() == $msg->toFormMarkup($args->getArg(Auth_OpenID_OPENID_NS, 'return_to'))); }