products/Sources/formale Sprachen/C/Firefox/dom/xhr/tests/test_XHR_anon.html
<!
DOCTYPE html >
<
html >
<
head >
<
meta charset=
"utf-8" >
<
title >Test for XMLHttpRequest with system privileges</
title >
<
script src=
"/tests/SimpleTest/SimpleTest.js" ></
script >
<
link rel=
"stylesheet" type=
"text/css" href=
"/tests/SimpleTest/test.css" />
</
head >
<
body onload=
"setup();" >
<p id=
"display" >
<
iframe id=
"loader" ></
iframe >
</p>
<
div id=
"content" style =
"display: none" >
</
div >
<
pre id=
"test" >
<
script class=
"testbody" type=
"application/javascript" >
// An XHR with the anon flag set will not send cookie and auth information.
const TEST_URL =
"http://example.com/tests/dom/xhr/tests/file_XHR_anon.sjs " ;
document.cookie =
"foo=bar" ;
let am = {
authMgr: null,
init() {
this.authMgr = SpecialPowers.Cc[
"@mozilla.org/network/http-auth-manager;1" ]
.getService(SpecialPowers.Ci.nsIHttpAuthManager)
},
addIdentity() {
this.authMgr.setAuthIdentity(
"http" ,
"example.com" , -1,
"basic" ,
"testrealm" ,
"" ,
"example.com" ,
"user1" ,
"password1" );
},
tearDown() {
this.authMgr.clearAll();
},
}
var tests = [ test1, test2, test2a, test3, test3, test3, test4, test4, test4, test5, test5, tes
t5 ];
function runTests() {
if (!tests.length) {
am.tearDown();
// Resetting the cookie.
document.cookie = "foo=; expires=Thu, 01 Jan 1970 00:00:00 GMT" ;
SimpleTest.finish();
return;
}
var test = tests.shift();
test();
}
function test1() {
am.addIdentity();
let xhr = new XMLHttpRequest({mozAnon: true, mozSystem: true});
is(xhr.mozAnon, true, "test1: .mozAnon == true" );
xhr.open("GET" , TEST_URL);
xhr.onload = function onload() {
is(xhr.status, 200, "test1: " + xhr.responseText);
am.tearDown();
runTests();
};
xhr.onerror = function onerror() {
ok(false, "Got an error event!" );
am.tearDown();
runTests();
}
xhr.send();
}
function test2() {
am.addIdentity();
let xhr = new XMLHttpRequest({mozAnon: true, mozSystem: true});
is(xhr.mozAnon, true, "test2: .mozAnon == true" );
xhr.open("GET" , TEST_URL + "?expectAuth=true" , true,
"user2name" , "pass2word" );
xhr.onload = function onload() {
is(xhr.status, 200, "test2: " + xhr.responseText);
let response = JSON.parse(xhr.responseText);
is(response.authorization, "Basic dXNlcjJuYW1lOnBhc3Myd29yZA==" );
am.tearDown();
runTests();
};
xhr.onerror = function onerror() {
ok(false, "Got an error event!" );
am.tearDown();
runTests();
}
xhr.send();
}
function test2a() {
am.addIdentity();
let xhr = new XMLHttpRequest({mozAnon: true, mozSystem: true});
is(xhr.mozAnon, true, "test2: .mozAnon == true" );
xhr.open("GET" , TEST_URL + "?expectAuth=true" , true,
"user1" , "pass2word" );
xhr.onload = function onload() {
is(xhr.status, 200, "test2: " + xhr.responseText);
let response = JSON.parse(xhr.responseText);
is(response.authorization, "Basic dXNlcjE6cGFzczJ3b3Jk" );
am.tearDown();
runTests();
};
xhr.onerror = function onerror() {
ok(false, "Got an error event!" );
am.tearDown();
runTests();
}
xhr.send();
}
function test3() {
am.addIdentity();
let xhr = new XMLHttpRequest({mozAnon: true, mozSystem: true});
is(xhr.mozAnon, true, "test3: .mozAnon == true" );
xhr.open("GET" , TEST_URL + "?expectAuth=true" , true);
xhr.onload = function onload() {
is(xhr.status, 401, "test3: " + xhr.responseText);
am.tearDown();
runTests();
};
xhr.onerror = function onerror() {
ok(false, "Got an error event!" );
am.tearDown();
runTests();
}
xhr.send();
}
function test4() {
let xhr = new XMLHttpRequest({mozAnon: true, mozSystem: true});
is(xhr.mozAnon, true, "test4: .mozAnon == true" );
xhr.open("GET" , TEST_URL + "?expectAuth=true" , true);
xhr.onload = function onload() {
is(xhr.status, 401, "test4: " + xhr.responseText);
runTests();
};
xhr.onerror = function onerror() {
ok(false, "Got an error event!" );
runTests();
}
xhr.send();
}
function test5() {
let xhr = new XMLHttpRequest({mozAnon: true, mozSystem: true});
is(xhr.mozAnon, true, "test5: .mozAnon == true" );
xhr.open("GET" , TEST_URL + "?expectAuth=true" , true,
"user2name" , "pass2word" );
xhr.onload = function onload() {
is(xhr.status, 200, "test5: " + xhr.responseText);
let response = JSON.parse(xhr.responseText);
is(response.authorization, "Basic dXNlcjJuYW1lOnBhc3Myd29yZA==" );
runTests();
};
xhr.onerror = function onerror() {
ok(false, "Got an error event!" );
runTests();
}
xhr.send();
}
function setup() {
am.init();
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPermissions([{'type' : 'systemXHR' , 'allow' : true, 'context' : document}], runTests);
}
</script >
</pre >
</body >
</html >
Messung V0.5 C=97 H=90 G=93
¤ Dauer der Verarbeitung: 0.3 Sekunden
¤
*© Formatika GbR, Deutschland