blob: ce44f6d3e0b2dfb55df06e29fb0ecb6a2da3973f [file] [log] [blame]
<!DOCTYPE html>
<meta charset="utf-8">
<title>idlharness test: Encoding Living Standard API</title>
<link rel="author" title="Joshua Bell" href="mailto:jsbell@google.com" />
<link rel="help" href="https://encoding.spec.whatwg.org/#api"/>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/WebIDLParser.js"></script>
<script src="/resources/idlharness.js"></script>
<h1>idlharness test</h1>
<p>This test validates the WebIDL included in the Encoding Living Standard.</p>
<script type="text/plain" class="untested-idl">
interface Window {};
</script>
<script type="text/plain" class="idl">
// 8.1 Interface TextDecoder
dictionary TextDecoderOptions {
boolean fatal = false;
boolean ignoreBOM = false;
};
dictionary TextDecodeOptions {
boolean stream = false;
};
[Constructor(optional DOMString label = "utf-8", optional TextDecoderOptions options),
Exposed=Window,Worker]
interface TextDecoder {
readonly attribute DOMString encoding;
readonly attribute boolean fatal;
readonly attribute boolean ignoreBOM;
USVString decode(optional BufferSource input, optional TextDecodeOptions options);
};
// 8.2 Interface TextDecoder
[Constructor(optional DOMString utfLabel = "utf-8"),
Exposed=Window,Worker]
interface TextEncoder {
readonly attribute DOMString encoding;
[NewObject] Uint8Array encode(optional USVString input = "");
};
</script>
<script>
function select(selector) {
return [].slice.call(document.querySelectorAll(selector))
.map(function(e) { return e.textContent; })
.join('\n\n');
}
var idl = select('.idl')
var untested = select('.untested-idl');
var idl_array = new IdlArray();
idl_array.add_untested_idls(untested);
idl_array.add_idls(idl);
idl_array.add_objects({
TextEncoder: ['new TextEncoder()'],
TextDecoder: ['new TextDecoder()']
});
idl_array.test();
</script>