gecko-dev/dom/xhr/tests/test_worker_xhr_parameters.js

76 строки
1.7 KiB
JavaScript
Исходник Обычный вид История

function ok(what, msg) {
postMessage({ event: msg, test: 'ok', a: what });
}
function is(a, b, msg) {
postMessage({ event: msg, test: 'is', a: a, b: b });
}
Bug 1269162 - part 3 - Move XHR code into dom/xhr, r=smaug --HG-- rename : dom/workers/XMLHttpRequestUploadWorker.cpp => dom/xhr/XMLHttpRequestUploadWorker.cpp rename : dom/workers/XMLHttpRequestUploadWorker.h => dom/xhr/XMLHttpRequestUploadWorker.h rename : dom/workers/XMLHttpRequestWorker.cpp => dom/xhr/XMLHttpRequestWorker.cpp rename : dom/workers/XMLHttpRequestWorker.h => dom/xhr/XMLHttpRequestWorker.h rename : dom/base/nsIXMLHttpRequest.idl => dom/xhr/nsIXMLHttpRequest.idl rename : dom/base/nsXMLHttpRequest.cpp => dom/xhr/nsXMLHttpRequest.cpp rename : dom/base/nsXMLHttpRequest.h => dom/xhr/nsXMLHttpRequest.h rename : dom/base/test/echo.sjs => dom/xhr/tests/echo.sjs rename : dom/base/test/file_XHRDocURI.html => dom/xhr/tests/file_XHRDocURI.html rename : dom/base/test/file_XHRDocURI.html^headers^ => dom/xhr/tests/file_XHRDocURI.html^headers^ rename : dom/base/test/file_XHRDocURI.sjs => dom/xhr/tests/file_XHRDocURI.sjs rename : dom/base/test/file_XHRDocURI.text => dom/xhr/tests/file_XHRDocURI.text rename : dom/base/test/file_XHRDocURI.text^headers^ => dom/xhr/tests/file_XHRDocURI.text^headers^ rename : dom/base/test/file_XHRDocURI.xml => dom/xhr/tests/file_XHRDocURI.xml rename : dom/base/test/file_XHRDocURI.xml^headers^ => dom/xhr/tests/file_XHRDocURI.xml^headers^ rename : dom/base/test/file_XHRResponseURL.js => dom/xhr/tests/file_XHRResponseURL.js rename : dom/base/test/file_XHRResponseURL.sjs => dom/xhr/tests/file_XHRResponseURL.sjs rename : dom/base/test/file_XHRResponseURL.text => dom/xhr/tests/file_XHRResponseURL.text rename : dom/base/test/file_XHRResponseURL.text^headers^ => dom/xhr/tests/file_XHRResponseURL.text^headers^ rename : dom/base/test/file_XHRResponseURL_nocors.text => dom/xhr/tests/file_XHRResponseURL_nocors.text rename : dom/base/test/file_XHRSendData.sjs => dom/xhr/tests/file_XHRSendData.sjs rename : dom/base/test/file_XHRSendData_doc.xml => dom/xhr/tests/file_XHRSendData_doc.xml rename : dom/base/test/file_XHRSendData_doc.xml^headers^ => dom/xhr/tests/file_XHRSendData_doc.xml^headers^ rename : dom/base/test/file_XHR_anon.sjs => dom/xhr/tests/file_XHR_anon.sjs rename : dom/base/test/file_XHR_binary1.bin => dom/xhr/tests/file_XHR_binary1.bin rename : dom/base/test/file_XHR_binary1.bin^headers^ => dom/xhr/tests/file_XHR_binary1.bin^headers^ rename : dom/base/test/file_XHR_binary2.bin => dom/xhr/tests/file_XHR_binary2.bin rename : dom/base/test/file_XHR_fail1.txt => dom/xhr/tests/file_XHR_fail1.txt rename : dom/base/test/file_XHR_fail1.txt^headers^ => dom/xhr/tests/file_XHR_fail1.txt^headers^ rename : dom/base/test/file_XHR_fail1b.txt => dom/xhr/tests/file_XHR_fail1b.txt rename : dom/base/test/file_XHR_header.sjs => dom/xhr/tests/file_XHR_header.sjs rename : dom/base/test/file_XHR_pass1.xml => dom/xhr/tests/file_XHR_pass1.xml rename : dom/base/test/file_XHR_pass2.txt => dom/xhr/tests/file_XHR_pass2.txt rename : dom/base/test/file_XHR_pass3.txt => dom/xhr/tests/file_XHR_pass3.txt rename : dom/base/test/file_XHR_pass3.txt^headers^ => dom/xhr/tests/file_XHR_pass3.txt^headers^ rename : dom/base/test/file_XHR_system_redirect.html => dom/xhr/tests/file_XHR_system_redirect.html rename : dom/base/test/file_XHR_system_redirect.html^headers^ => dom/xhr/tests/file_XHR_system_redirect.html^headers^ rename : dom/base/test/file_XHR_timeout.sjs => dom/xhr/tests/file_XHR_timeout.sjs rename : dom/base/test/file_html_in_xhr.html => dom/xhr/tests/file_html_in_xhr.html rename : dom/base/test/file_html_in_xhr.sjs => dom/xhr/tests/file_html_in_xhr.sjs rename : dom/base/test/file_html_in_xhr2.html => dom/xhr/tests/file_html_in_xhr2.html rename : dom/base/test/file_html_in_xhr3.html => dom/xhr/tests/file_html_in_xhr3.html rename : dom/base/test/progressserver.sjs => dom/xhr/tests/progressserver.sjs rename : dom/workers/test/relativeLoad_import.js => dom/xhr/tests/relativeLoad_import.js rename : dom/workers/test/relativeLoad_worker.js => dom/xhr/tests/relativeLoad_worker.js rename : dom/workers/test/relativeLoad_worker2.js => dom/xhr/tests/relativeLoad_worker2.js rename : dom/base/test/responseIdentical.sjs => dom/xhr/tests/responseIdentical.sjs rename : dom/workers/test/subdir/relativeLoad_sub_import.js => dom/xhr/tests/subdir/relativeLoad_sub_import.js rename : dom/workers/test/subdir/relativeLoad_sub_worker.js => dom/xhr/tests/subdir/relativeLoad_sub_worker.js rename : dom/workers/test/subdir/relativeLoad_sub_worker2.js => dom/xhr/tests/subdir/relativeLoad_sub_worker2.js rename : dom/workers/test/terminateSyncXHR_worker.js => dom/xhr/tests/terminateSyncXHR_worker.js rename : dom/base/test/test_XHR.html => dom/xhr/tests/test_XHR.html rename : dom/base/test/test_XHRDocURI.html => dom/xhr/tests/test_XHRDocURI.html rename : dom/base/test/test_XHRResponseURL.html => dom/xhr/tests/test_XHRResponseURL.html rename : dom/base/test/test_XHRSendData.html => dom/xhr/tests/test_XHRSendData.html rename : dom/base/test/test_XHR_anon.html => dom/xhr/tests/test_XHR_anon.html rename : dom/base/test/test_XHR_header.html => dom/xhr/tests/test_XHR_header.html rename : dom/base/test/test_XHR_onuploadprogress.html => dom/xhr/tests/test_XHR_onuploadprogress.html rename : dom/base/test/test_XHR_parameters.html => dom/xhr/tests/test_XHR_parameters.html rename : dom/base/test/test_XHR_system.html => dom/xhr/tests/test_XHR_system.html rename : dom/base/test/test_XHR_timeout.html => dom/xhr/tests/test_XHR_timeout.html rename : dom/base/test/test_XHR_timeout.js => dom/xhr/tests/test_XHR_timeout.js rename : dom/base/test/test_html_in_xhr.html => dom/xhr/tests/test_html_in_xhr.html rename : dom/workers/test/test_relativeLoad.html => dom/xhr/tests/test_relativeLoad.html rename : dom/base/test/test_sync_xhr_timer.xhtml => dom/xhr/tests/test_sync_xhr_timer.xhtml rename : dom/workers/test/test_terminateSyncXHR.html => dom/xhr/tests/test_worker_terminateSyncXHR.html rename : dom/workers/test/test_xhr.html => dom/xhr/tests/test_worker_xhr.html rename : dom/workers/test/test_xhr2.html => dom/xhr/tests/test_worker_xhr2.html rename : dom/workers/test/test_xhrAbort.html => dom/xhr/tests/test_worker_xhrAbort.html rename : dom/workers/test/test_xhr_3rdparty.html => dom/xhr/tests/test_worker_xhr_3rdparty.html rename : dom/workers/test/test_xhr_cors_redirect.html => dom/xhr/tests/test_worker_xhr_cors_redirect.html rename : dom/workers/test/test_xhr_headers.html => dom/xhr/tests/test_worker_xhr_headers.html rename : dom/workers/test/test_xhr_implicit_cancel.html => dom/xhr/tests/test_worker_xhr_implicit_cancel.html rename : dom/workers/test/test_xhr_parameters.html => dom/xhr/tests/test_worker_xhr_parameters.html rename : dom/workers/test/test_xhr_parameters.js => dom/xhr/tests/test_worker_xhr_parameters.js rename : dom/workers/test/test_xhr_responseURL.html => dom/xhr/tests/test_worker_xhr_responseURL.html rename : dom/workers/test/test_xhr_system.html => dom/xhr/tests/test_worker_xhr_system.html rename : dom/workers/test/test_xhr_system.js => dom/xhr/tests/test_worker_xhr_system.js rename : dom/workers/test/test_xhr_timeout.html => dom/xhr/tests/test_worker_xhr_timeout.html rename : dom/base/test/test_xhr_abort_after_load.html => dom/xhr/tests/test_xhr_abort_after_load.html rename : dom/base/test/test_xhr_forbidden_headers.html => dom/xhr/tests/test_xhr_forbidden_headers.html rename : dom/base/test/test_xhr_overridemimetype_throws_on_invalid_state.html => dom/xhr/tests/test_xhr_overridemimetype_throws_on_invalid_state.html rename : dom/base/test/test_xhr_progressevents.html => dom/xhr/tests/test_xhr_progressevents.html rename : dom/base/test/test_xhr_send.html => dom/xhr/tests/test_xhr_send.html rename : dom/base/test/test_xhr_send_readystate.html => dom/xhr/tests/test_xhr_send_readystate.html rename : dom/base/test/test_xhr_withCredentials.html => dom/xhr/tests/test_xhr_withCredentials.html rename : dom/workers/test/file_getcookie.sjs => dom/xhr/tests/worker_file_getcookie.sjs rename : dom/workers/test/terminateSyncXHR_frame.html => dom/xhr/tests/worker_terminateSyncXHR_frame.html rename : dom/workers/test/testXHR.txt => dom/xhr/tests/worker_testXHR.txt rename : dom/workers/test/xhr_cors_redirect.js => dom/xhr/tests/worker_xhr_cors_redirect.js rename : dom/workers/test/xhr_cors_redirect.sjs => dom/xhr/tests/worker_xhr_cors_redirect.sjs rename : dom/workers/test/xhr_headers_server.sjs => dom/xhr/tests/worker_xhr_headers_server.sjs rename : dom/workers/test/xhr_headers_worker.js => dom/xhr/tests/worker_xhr_headers_worker.js rename : dom/workers/test/xhr2_worker.js => dom/xhr/tests/xhr2_worker.js rename : dom/workers/test/xhrAbort_worker.js => dom/xhr/tests/xhrAbort_worker.js rename : dom/workers/test/xhr_implicit_cancel_worker.js => dom/xhr/tests/xhr_implicit_cancel_worker.js rename : dom/workers/test/xhr_worker.js => dom/xhr/tests/xhr_worker.js
2016-06-27 20:13:40 +03:00
// This is a copy of dom/xhr/tests/test_XHR_parameters.js
var validParameters = [
undefined,
null,
{},
{mozSystem: ""},
{mozSystem: 0},
{mozAnon: 1},
{mozAnon: []},
{get mozAnon() { return true; }},
0,
7,
Math.PI,
"string",
true,
false,
];
var invalidParameters = [
{get mozSystem() { throw "Bla"; } },
];
function testParameters(havePrivileges) {
function testValidParameter(value) {
var xhr;
try {
xhr = new XMLHttpRequest(value);
} catch (ex) {
ok(false, "Got unexpected exception: " + ex);
return;
}
ok(!!xhr, "passed " + JSON.stringify(value));
// If the page doesnt have privileges to create a system or anon XHR,
// these flags will always be false no matter what is passed.
var expectedAnon = false;
var expectedSystem = false;
if (havePrivileges) {
expectedAnon = Boolean(value && value.mozAnon);
expectedSystem = Boolean(value && value.mozSystem);
}
is(xhr.mozAnon, expectedAnon, "testing mozAnon");
is(xhr.mozSystem, expectedSystem, "testing mozSystem");
}
function testInvalidParameter(value) {
try {
new XMLHttpRequest(value);
ok(false, "invalid parameter did not cause exception: " +
JSON.stringify(value));
} catch (ex) {
ok(true, "invalid parameter raised exception as expected: " +
JSON.stringify(ex));
}
}
validParameters.forEach(testValidParameter);
invalidParameters.forEach(testInvalidParameter);
}
self.onmessage = function onmessage(event) {
testParameters(event.data);
postMessage({test: "finish"});
};