function test_protoErrorFields() { $contact = '*****@*****.**'; $reference = 'Trac ticket number MAX_INT'; $error = 'poltergeist'; $openid1_args = array('openid.identitiy' => 'invalid', 'openid.mode' => 'checkid_setup'); $openid2_args = $openid1_args; $openid2_args = array_merge($openid2_args, array('openid.ns' => Auth_OpenID_OPENID2_NS)); // Check presence of optional fields in both protocol versions $openid1_msg = Auth_OpenID_Message::fromPostArgs($openid1_args); $p = new Auth_OpenID_ServerError($openid1_msg, $error, $reference, $contact); $reply = $p->toMessage(); $this->assertEquals($reply->getArg(Auth_OpenID_OPENID_NS, 'reference'), $reference); $this->assertEquals($reply->getArg(Auth_OpenID_OPENID_NS, 'contact'), $contact); $openid2_msg = Auth_OpenID_Message::fromPostArgs($openid2_args); $p = new Auth_OpenID_ServerError($openid2_msg, $error, $reference, $contact); $reply = $p->toMessage(); $this->assertEquals($reply->getArg(Auth_OpenID_OPENID_NS, 'reference'), $reference); $this->assertEquals($reply->getArg(Auth_OpenID_OPENID_NS, 'contact'), $contact); }