<!DOCTYPE html>
<title>Character Decoding: UTF-32 (not supported)</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<script>

// Since UTF-32 is not supported, such content will be interpreted
// as the default HTML encoding (windows-1252) unless it has a
// leading little endian BOM (FF FE 00 00), in which case it will
// be interpreted as UTF-16LE.

const samples = [
  {file: 'resources/utf-32-big-endian-bom.html', expected: 'windows-1252'},
  {file: 'resources/utf-32-big-endian-bom.xml', expected: 'windows-1252'},
  {file: 'resources/utf-32-big-endian-nobom.html', expected: 'windows-1252'},
  {file: 'resources/utf-32-big-endian-nobom.xml', expected: 'windows-1252'},

  {file: 'resources/utf-32-little-endian-bom.html', expected: 'UTF-16LE'},
  {file: 'resources/utf-32-little-endian-bom.xml', expected: 'UTF-16LE'},
  {file: 'resources/utf-32-little-endian-nobom.html', expected: 'windows-1252'},
  {file: 'resources/utf-32-little-endian-nobom.xml', expected: 'windows-1252'}
];

samples.forEach(sample => async_test(t => {
  const iframe = document.createElement('iframe');
  iframe.src = sample.file;
  iframe.onload = t.step_func(() => {
    assert_equals(iframe.contentDocument.characterSet, sample.expected);
    t.done();
  });
  document.body.appendChild(iframe);
  t.add_cleanup(() => iframe.remove());
}, `Expect ${sample.file} to parse as ${sample.expected}`));

</script>
</body>
