DOMParser-parseFromString-encoding.html (1335B)
1 <!doctype html> 2 <title>DOMParser encoding test</title> 3 <meta charset="windows-1252"> <!-- intentional to make sure the results are UTF-8 anyway --> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 7 <script> 8 "use strict"; 9 10 function assertEncoding(doc) { 11 assert_equals(doc.charset, "UTF-8", "document.charset"); 12 assert_equals(doc.characterSet, "UTF-8", "document.characterSet"); 13 assert_equals(doc.inputEncoding, "UTF-8", "document.characterSet"); 14 } 15 16 setup(() => { 17 assert_equals(document.characterSet, "windows-1252", "the meta charset must be in effect, making the main document windows-1252"); 18 }); 19 20 test(() => { 21 const parser = new DOMParser(); 22 const doc = parser.parseFromString("", "text/html"); 23 24 assertEncoding(doc); 25 }, "HTML: empty"); 26 27 test(() => { 28 const parser = new DOMParser(); 29 const doc = parser.parseFromString("", "text/xml"); 30 31 assertEncoding(doc); 32 }, "XML: empty"); 33 34 test(() => { 35 const parser = new DOMParser(); 36 const doc = parser.parseFromString(`<meta charset="latin2">`, "text/html"); 37 38 assertEncoding(doc); 39 }, "HTML: meta charset"); 40 41 test(() => { 42 const parser = new DOMParser(); 43 const doc = parser.parseFromString(`<?xml version="1.0" encoding="latin2"?><x/>`, "text/xml"); 44 45 assertEncoding(doc); 46 }, "XML: XML declaration"); 47 </script>