blob: c010df3fafa3feae6b3a4fda9ab18e9fab376e5c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
<!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,
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>
|