<!DOCTYPE html> <head> <meta charset="utf-8"> <title>Script @type: unknown parameters</title> <link rel="author" title="askalski" href="github.com/askalski"> <link rel="help" href="https://html.spec.whatwg.org/multipage/#scriptingLanguages"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <div id="log"></div> <!-- "Step1" tests --> <!-- charset is set incorrectly via Content Type "text/javascript;charset=utf-8" in response which has priority before a correct setting in "charset" attribute of script tag. --> <script type="text/javascript" src="serve-with-content-type.py?fn=external-script-windows1250.js&ct=text/javascript%3Bcharset=utf-8" charset="windows-1250"> </script> <script> test(function() { //these strings should not match, since the file charset is set incorrectly assert_not_equals(window.getSomeString(), "śćążź"); }); </script> <!-- charset is set correctly via Content Type "text/javascript;charset=utf-8" in response which has priority before a incorrect setting in "charset" attribute of script tag. --> <script type="text/javascript" src="serve-with-content-type.py?fn=external-script-windows1250.js&ct=text/javascript%3Bcharset=windows-1250" charset="utf-8"> </script> <script> //the charset is set correctly via Content Type "text/javascript;charset=windows-1250" in respones test(function() { assert_equals(window.getSomeString(), "śćążź"); }); </script> <!-- end of step1 tests, now step2 tests --> <!-- in this case, the response's Content Type does not bring charset information. Second step takes block character encoding if available.--> <script type="text/javascript" src="serve-with-content-type.py?fn=external-script-windows1250.js&ct=text/javascript" charset="utf-8"> </script> <script> test(function() { //these strings should not match, since the file charset is set incorrectly in "charset" tag of <script> above assert_not_equals(window.getSomeString(), "śćążź"); }); </script> <!-- charset is set correctly via Content Type "text/javascript;charset=utf-8" in response which has priority before a incorrect setting in "charset" attribute of script tag. --> <script type="text/javascript" src="serve-with-content-type.py?fn=external-script-windows1250.js&ct=text/javascript" charset="windows-1250"> </script> <script> //the charset is set correctly via content attribute in <script> above test(function() { assert_equals(window.getSomeString(), "śćążź"); }); </script> <!-- end of step2 tests, now step3 tests --> <!-- in this case, neither response's Content Type nor charset attribute bring correct charset information. Third step takes this document's character encoding (declared correctly as UTF-8).--> <script type="text/javascript" src="serve-with-content-type.py?fn=external-script-windows1250.js&ct=text/javascript"> </script> <script> test(function() { //these strings should not match, since the tested file is in windows-1250, and document is utf-8 assert_not_equals(window.getSomeString(), "śćążź"); }); </script> <script type="text/javascript" src="serve-with-content-type.py?fn=external-script-utf8.js&ct=text/javascript"> </script> <script> //these strings should match, both document and tested file are utf-8 test(function() { assert_equals(window.getSomeString(), "śćążź"); }); </script> <!-- the last portion of tests (step4) are in file script-charset-02.html </head>