Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!doctype html>
<meta charset="windows-1253">
<title>meta charset in XHR</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script>
setup({explicit_done:true});
window.onload = function() {
runNextTest();
};
let files = [
"after-1kb.html",
"after-bogus-after-1kb.html",
"after-bogus.html",
"after-head-after-1kb-crlf.html",
"after-head-after-1kb.html",
"after-head-in-1kb-crlf.html",
"after-head-in-1kb.html",
"baseline.html",
"document-write.html",
"in-comment.html",
"in-noscript-after-template-after-1kb.html",
"in-object.html",
"in-script.html",
"in-style.html",
"in-svg.html",
"in-svg-in-cdata.html",
"in-template-after-1kb.html",
"in-template.html",
"in-title.html",
"ncr.html",
"non-ascii-in-comment-before.html",
"non-ascii-in-title-before.html",
];
function handler() {
const prefix = "Test: ";
let doc = this.response;
test(function() {
let link = doc.getElementsByTagName("link")[0];
let match = (link.rel == "match");
let content = doc.documentElement.textContent;
let index = content.indexOf(prefix);
let c = content.substring(index + prefix.length, index + prefix.length + 1);
if (match) {
assert_equals(doc.characterSet, "windows-1251", 'Check characterSet');
assert_equals(c, "\u0436", 'Check character');
} else {
assert_equals(doc.characterSet, "UTF-8", 'Check characterSet');
assert_equals(c, "\uFFFD", 'Check character');
}
}, "Check " + this.thesrc);
runNextTest();
}
function runNextTest() {
let file = files.shift();
if (!file) {
done();
return;
}
let xhr = new XMLHttpRequest();
xhr.responseType = "document";
xhr.onload = handler;
xhr.thesrc = file; // expando
xhr.open("GET", file);
xhr.send();
}
</script>