<!DOCTYPE html>
<meta charset="utf-8">
<title>Root module scripts should always use UTF-8</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script type="module" src="../serve-with-content-type.py?fn=external-script-utf8.js&ct=text/javascript&dummy=1"></script>
<script type="module">
test(function() {
  assert_equals(window.getSomeString(), "śćążź",
                'Should be decoded as UTF-8');
}, 'UTF-8 module script');
</script>

<script type="module" src="../serve-with-content-type.py?fn=external-script-utf8.js&ct=text/javascript&dummy=2" charset="windows-1250"></script>
<script type="module">
test(function() {
  assert_equals(window.getSomeString(), "śćążź",
                'Should be decoded as UTF-8');
}, 'UTF-8 module script with wrong charset in attribute');
</script>

<script type="module" src="../serve-with-content-type.py?fn=external-script-utf8.js&ct=text/javascript%3Bcharset=windows-1250&dummy=3"></script>
<script type="module">
test(function() {
  assert_equals(window.getSomeString(), "śćążź",
                'Should be decoded as UTF-8');
}, 'UTF-8 module script with wrong charset in Content-Type');
</script>

<script type="module" src="../serve-with-content-type.py?fn=external-script-windows1250.js&ct=text/javascript&dummy=1"></script>
<script type="module">
test(function() {
  assert_not_equals(window.getSomeString(), "śćążź",
                    'Should be decoded as UTF-8');
}, 'Non-UTF-8 module script');
</script>

<script type="module" src="../serve-with-content-type.py?fn=external-script-windows1250.js&ct=text/javascript&dummy=2" charset="windows-1250"></script>
<script type="module">
test(function() {
  assert_not_equals(window.getSomeString(), "śćążź",
                    'Should be decoded as UTF-8');
}, 'Non-UTF-8 module script with charset in attribute');
</script>

<script type="module" src="../serve-with-content-type.py?fn=external-script-windows1250.js&ct=text/javascript%3Bcharset=windows-1250"></script>
<script type="module">
test(function() {
  assert_not_equals(window.getSomeString(), "śćążź",
                    'Should be decoded as UTF-8');
}, 'Non-UTF-8 module script with charset in Content-Type');
</script>
