| <!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> |
| |