Bug 1452822 [wpt PR 10386] - Cleanup several idlharness tests, a=testonly
authorLuke Bjerring <lukebjerring@chromium.org>
Fri, 27 Apr 2018 20:49:05 +0000
changeset 416219 bc1c6ee4999ec8ca000482e67eba2fd028ea0b6a
parent 416218 87664c18684377d75118ba5eee951447ed60178c
child 416220 f45bb10a4bea5f9237f279d91271df9b6d7c6f08
push id33919
push usernerli@mozilla.com
push dateSun, 29 Apr 2018 09:48:23 +0000
treeherdermozilla-central@c552490c8659 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstestonly
bugs1452822, 10386, 992880, 551840
milestone61.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1452822 [wpt PR 10386] - Cleanup several idlharness tests, a=testonly Automatic update from web-platform-testsCleanup several idlharness tests Change-Id: I388e2a9605096886291fafdae428b78bfe21dea9 Reviewed-on: https://chromium-review.googlesource.com/992880 Reviewed-by: Philip J├Ągenstedt <foolip@chromium.org> Reviewed-by: Joshua Bell <jsbell@chromium.org> Commit-Queue: Luke Bj <lukebjerring@chromium.org> Cr-Commit-Position: refs/heads/master@{#551840} -- wpt-commits: f78410bdbc77fdb1ab793c4582b9f16928796d50 wpt-pr: 10386
testing/web-platform/meta/MANIFEST.json
testing/web-platform/tests/content-security-policy/securitypolicyviolation/idl.html
testing/web-platform/tests/css/cssom-view/interfaces.html
testing/web-platform/tests/css/cssom/interfaces.html
testing/web-platform/tests/pointerevents/extension/idlharness.html
testing/web-platform/tests/pointerevents/idlharness.html
testing/web-platform/tests/webaudio/the-audio-api/the-delaynode-interface/idl-test.html
testing/web-platform/tests/webaudio/the-audio-api/the-gainnode-interface/idl-test.html
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -368393,22 +368393,16 @@
     ]
    ],
    "webaudio/the-audio-api/the-delaynode-interface/delaynode.html": [
     [
      "/webaudio/the-audio-api/the-delaynode-interface/delaynode.html",
      {}
     ]
    ],
-   "webaudio/the-audio-api/the-delaynode-interface/idl-test.html": [
-    [
-     "/webaudio/the-audio-api/the-delaynode-interface/idl-test.html",
-     {}
-    ]
-   ],
    "webaudio/the-audio-api/the-delaynode-interface/no-dezippering.html": [
     [
      "/webaudio/the-audio-api/the-delaynode-interface/no-dezippering.html",
      {}
     ]
    ],
    "webaudio/the-audio-api/the-dynamicscompressornode-interface/dynamicscompressor-basic.html": [
     [
@@ -368423,22 +368417,16 @@
     ]
    ],
    "webaudio/the-audio-api/the-gainnode-interface/gain.html": [
     [
      "/webaudio/the-audio-api/the-gainnode-interface/gain.html",
      {}
     ]
    ],
-   "webaudio/the-audio-api/the-gainnode-interface/idl-test.html": [
-    [
-     "/webaudio/the-audio-api/the-gainnode-interface/idl-test.html",
-     {}
-    ]
-   ],
    "webaudio/the-audio-api/the-gainnode-interface/no-dezippering.html": [
     [
      "/webaudio/the-audio-api/the-gainnode-interface/no-dezippering.html",
      {}
     ]
    ],
    "webaudio/the-audio-api/the-gainnode-interface/test-gainnode.html": [
     [
@@ -425303,17 +425291,17 @@
    "01d4ce834d175d13eb0d9c80bbe4a7be614d687f",
    "testharness"
   ],
   "content-security-policy/securitypolicyviolation/blockeduri-inline.html": [
    "8e7326101e28ec65c6c834f7711b261917f93218",
    "testharness"
   ],
   "content-security-policy/securitypolicyviolation/idl.html": [
-   "29c68c73b221ec65466645dfa5e9ecc1f2a0f007",
+   "266180135d8167bc47d6c7a73798e87aa1082bee",
    "testharness"
   ],
   "content-security-policy/securitypolicyviolation/img-src-redirect-upgrade-reporting.https.html": [
    "e338e94ea726419db64ed5b98c95b862c394409e",
    "testharness"
   ],
   "content-security-policy/securitypolicyviolation/img-src-redirect-upgrade-reporting.https.html.headers": [
    "960ee8a9f7ccf33ea435890e2eae0e68399f32ed",
@@ -537383,17 +537371,17 @@
    "071bcc0320577077bc6768921f28e33e892ccd9a",
    "testharness"
   ],
   "css/cssom-view/iframe.html": [
    "81c8e70138fc30d0954d9de692ee396310586c7f",
    "support"
   ],
   "css/cssom-view/interfaces.html": [
-   "0cecd644b3363618acd1496865578a15306e18fe",
+   "84067e6095d184488dc1c44a7ba17792d946976b",
    "testharness"
   ],
   "css/cssom-view/matchMedia.xht": [
    "3330cf1603555d50d097cdc584cf1c193c8b32d3",
    "testharness"
   ],
   "css/cssom-view/matchMediaAddListener.html": [
    "ec5b756e980676c8707bcb2d7d91b7c977158e0d",
@@ -537899,17 +537887,17 @@
    "812f2b02d7694dd270b7a3e1ef205b99890ab216",
    "testharness"
   ],
   "css/cssom/insertRule-syntax-error-01.html": [
    "36f824b24dd56e20b7c524111512d8743745daaa",
    "testharness"
   ],
   "css/cssom/interfaces.html": [
-   "de0fd22930a606a17da15291ca14321463316f11",
+   "42e325d3d7f6be7f557915072f61900ff611cef8",
    "testharness"
   ],
   "css/cssom/medialist-dynamic-001-ref.html": [
    "bdf98c994adcebff3a3434260dfe71e99c8441e1",
    "support"
   ],
   "css/cssom/medialist-dynamic-001.html": [
    "8c62d1e6b5791b68240551c0c9cd115f4d16a892",
@@ -587619,17 +587607,17 @@
    "91a8bd86357b0d96ba3ab8f08f88c28436de484c",
    "support"
   ],
   "pointerevents/compat/pointerevent_touch-action_two-finger_interaction-manual.html": [
    "cba44e2dd2a3c54106bfecc6cdd407643e2ba995",
    "manual"
   ],
   "pointerevents/extension/idlharness.html": [
-   "c1ee780b59d596535e697db237a3af3aa019b2f7",
+   "1337bbb65f4748a7d5a076cbe73e4aa48a2a1eb8",
    "testharness"
   ],
   "pointerevents/extension/pointerevent_coalesced_events_attributes-manual.html": [
    "f0393e603c25eb52d5144c95e808f2ab96cbe1f7",
    "manual"
   ],
   "pointerevents/extension/pointerevent_constructor.html": [
    "11d5baa9206313270be6289205b002b623af85db",
@@ -587655,17 +587643,17 @@
    "f3188cc408b651f05ad946768c8233d0f7586b38",
    "testharness"
   ],
   "pointerevents/html/pointerevent_drag_interaction-manual.html": [
    "1eb570dbed48373f9e840b7694b774448b689879",
    "manual"
   ],
   "pointerevents/idlharness.html": [
-   "ee6982f1735711a9ac3c8c3a1447eb96f8e8d61c",
+   "5d54a0bb419e989db76a2d4333e73d9ccbce511b",
    "testharness"
   ],
   "pointerevents/pointerevent_attributes_hoverable_pointers-manual.html": [
    "9a71336042a931e45c7aef0e031669c26ac5c36c",
    "manual"
   ],
   "pointerevents/pointerevent_attributes_nohover_pointers-manual.html": [
    "b010a8ff22c0522c8bbd5332e5d4ff8f1032a766",
@@ -607222,20 +607210,16 @@
   "webaudio/the-audio-api/the-delaynode-interface/delaynode-scheduling.html": [
    "6f7c363e610fe141458b77d3ca7ec69bca8012a6",
    "testharness"
   ],
   "webaudio/the-audio-api/the-delaynode-interface/delaynode.html": [
    "622ca5f882644f183674cc07e55a69e63e5c85d9",
    "testharness"
   ],
-  "webaudio/the-audio-api/the-delaynode-interface/idl-test.html": [
-   "4f75f58d7286231e48236d1736e5739b8007502e",
-   "testharness"
-  ],
   "webaudio/the-audio-api/the-delaynode-interface/no-dezippering.html": [
    "96b405fd00ee657194de348ea46b263ba43f98a4",
    "testharness"
   ],
   "webaudio/the-audio-api/the-dynamicscompressornode-interface/.gitkeep": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
@@ -607254,20 +607238,16 @@
   "webaudio/the-audio-api/the-gainnode-interface/gain-expected.wav": [
    "823f7ae1a5f5eb0c630e7d1881c50a1f710f9350",
    "support"
   ],
   "webaudio/the-audio-api/the-gainnode-interface/gain.html": [
    "5f50c22eaa77f09d0fa8c6f6f5249fdbf7db4b24",
    "testharness"
   ],
-  "webaudio/the-audio-api/the-gainnode-interface/idl-test.html": [
-   "a2abc80981a4f6ec810850150cdcd149854daf4b",
-   "testharness"
-  ],
   "webaudio/the-audio-api/the-gainnode-interface/no-dezippering.html": [
    "2205ec8f56472bd45e102cf57f10b4532b18a554",
    "testharness"
   ],
   "webaudio/the-audio-api/the-gainnode-interface/test-gainnode.html": [
    "bf2de43e568c79b96fd5b0602e26346c483162a5",
    "testharness"
   ],
--- a/testing/web-platform/tests/content-security-policy/securitypolicyviolation/idl.html
+++ b/testing/web-platform/tests/content-security-policy/securitypolicyviolation/idl.html
@@ -35,19 +35,19 @@
       readonly    attribute SecurityPolicyViolationEventDisposition      disposition;
       readonly    attribute unsigned short statusCode;
       readonly    attribute long           lineNumber;
       readonly    attribute long           columnNumber;
   };
 </script>
 <script>
   promise_test(async function() {
-    let dom = await fetch('/interfaces/dom.idl').then(r => r.text());
+    const dom = await fetch('/interfaces/dom.idl').then(r => r.text());
 
-    var idl_array = new IdlArray();
+    const idl_array = new IdlArray();
     idl_array.add_untested_idls(document.querySelector('#untested').textContent);
     idl_array.add_untested_idls(dom, { only: ['Event', 'EventInit'] });
     idl_array.add_idls(document.querySelector('#tested').textContent);
     idl_array.add_objects({
       SecurityPolicyViolationEvent: ['new SecurityPolicyViolationEvent({})']
     });
     idl_array.test();
   })
--- a/testing/web-platform/tests/css/cssom-view/interfaces.html
+++ b/testing/web-platform/tests/css/cssom-view/interfaces.html
@@ -17,17 +17,23 @@
 <script>
 "use strict";
 
 function doTest([html, dom, uievents, cssom, geometry, cssom_view]) {
 
   var idlArray = new IdlArray();
   var svg = "interface SVGElement : Element {};";
   idlArray.add_untested_idls(html + dom + svg + cssom + geometry);
-  idlArray.add_untested_idls(uievents, { only: ['UIEvent', 'UIEventInit', 'MouseEvent', 'MouseEventInit', 'EventModifierInit'] });
+  idlArray.add_untested_idls(uievents, { only: [
+    'UIEvent',
+    'UIEventInit',
+    'MouseEvent',
+    'MouseEventInit',
+    'EventModifierInit']
+  });
   idlArray.add_idls(cssom_view);
 
   idlArray.add_objects({
     "Window": ["window"],
     "MediaQueryList": ["matchMedia('all')"],
     "MediaQueryListEvent": ["new MediaQueryListEvent('change')"],
     "Screen": ["screen"],
     "Document": ["document"],
--- a/testing/web-platform/tests/css/cssom/interfaces.html
+++ b/testing/web-platform/tests/css/cssom/interfaces.html
@@ -34,17 +34,23 @@ var style_element, svg_element, xmlss_pi
 function doTest([html, dom, uievents, cssom]) {
   style_element = document.getElementById('styleElement');
   svg_element = document.getElementById('svgElement');
   xmlss_pi = document.getElementById('xmlssPiIframe').contentDocument.firstChild;
 
   var idlArray = new IdlArray();
   var svg = "interface SVGElement : Element {};";
   idlArray.add_untested_idls(html + dom + svg);
-  idlArray.add_untested_idls(uievents, { only: ['UIEvent', 'UIEventInit', 'MouseEvent', 'MouseEventInit', 'EventModifierInit']});
+  idlArray.add_untested_idls(uievents, { only: [
+    'UIEvent',
+    'UIEventInit',
+    'MouseEvent',
+    'MouseEventInit',
+    'EventModifierInit'
+  ]});
   idlArray.add_idls(cssom);
 
   idlArray.add_objects({
     "Document": ["document", "new Document()"],
     "StyleSheetList": ["document.styleSheets"],
     "CSSStyleSheet": ["style_element.sheet"],
     "MediaList": ["style_element.sheet.media"],
     "CSSRuleList": ["style_element.sheet.cssRules"],
--- a/testing/web-platform/tests/pointerevents/extension/idlharness.html
+++ b/testing/web-platform/tests/pointerevents/extension/idlharness.html
@@ -47,16 +47,21 @@ interface PointerEvent : MouseEvent {
 };
 
 </pre>
 <script>
 promise_test(async function () {
   const dom = await fetch('/interfaces/dom.idl').then(r => r.text());
   const uievents = await fetch('/interfaces/uievents.idl').then(r => r.text());
 
-  var idl_array = new IdlArray();
+  const idl_array = new IdlArray();
   idl_array.add_untested_idls(dom, { only: ['EventInit'] });
-  idl_array.add_untested_idls(uievents, { only: ['UIEventInit', 'MouseEventInit', 'EventModifierInit'] });
-  idl_array.add_untested_idls(document.getElementById("untested_idl").textContent);
+  idl_array.add_untested_idls(uievents, { only: [
+    'UIEventInit',
+    'MouseEventInit',
+    'EventModifierInit']
+  });
+  idl_array.add_untested_idls(
+      document.getElementById("untested_idl").textContent);
   idl_array.add_idls(document.getElementById("idl").textContent);
   idl_array.test();
 }, 'pointerevents extension interfaces');
 </script>
--- a/testing/web-platform/tests/pointerevents/idlharness.html
+++ b/testing/web-platform/tests/pointerevents/idlharness.html
@@ -90,20 +90,25 @@ partial interface Navigator {
     readonly attribute long maxTouchPoints;
 };
 </pre>
 <script>
   promise_test(async function() {
     const dom = await fetch('/interfaces/dom.idl').then(r => r.text());
     const uievents = await fetch('/interfaces/uievents.idl').then(r => r.text());
 
-    var idl_array = new IdlArray();
+    const idl_array = new IdlArray();
     idl_array.add_untested_idls(dom, { only: ['EventInit'] });
-    idl_array.add_untested_idls(uievents, { only: ['UIEventInit', 'MouseEventInit', 'EventModifierInit'] });
-    idl_array.add_untested_idls(document.getElementById("untested_idl").textContent);
+    idl_array.add_untested_idls(uievents, { only: [
+      'UIEventInit',
+      'MouseEventInit',
+      'EventModifierInit']
+    });
+    idl_array.add_untested_idls(
+        document.getElementById("untested_idl").textContent);
     idl_array.add_idls(document.getElementById("idl").textContent);
 
     // Note that I don't bother including Document here because there are still
     // a bunch of differences between browsers around Document vs HTMLDocument.
     idl_array.add_objects({
     Window: ["window"],
     Navigator: ["navigator"]});
     idl_array.test();
deleted file mode 100644
--- a/testing/web-platform/tests/webaudio/the-audio-api/the-delaynode-interface/idl-test.html
+++ /dev/null
@@ -1,159 +0,0 @@
-<!DOCTYPE html>
-<html class="a">
-<head>
-<title>DelayNode IDL Test</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="/resources/idlharness.js"></script>
-<script src="/resources/WebIDLParser.js"></script>
-<script src="/webaudio/js/helpers.js"></script>
-<style type="text/css">
-    #event-target-idl,
-    #base-audio-context-idl,
-    #audio-node-idl,
-    #audio-param-idl
-    { visibility:hidden; height: 0px;}
-  </style>
-</head>
-<body class="a">
-
-   <pre id="event-target-idl">interface EventTarget {
-  void addEventListener(DOMString type, EventListener? callback, optional boolean capture = false);
-  void removeEventListener(DOMString type, EventListener? callback, optional boolean capture = false);
-  boolean dispatchEvent(Event event);
-};
-
-/*
-callback interface EventListener {
-  void handleEvent(Event event);
-};
-*/
-// Callback interfaces are not supported yet, but that's ok
-interface EventListener {};
-</pre>
-
-   <pre id="base-audio-context-idl">callback DecodeErrorCallback = void (DOMException error);
-
-callback DecodeSuccessCallback = void (AudioBuffer decodedData);
-
-interface BaseAudioContext : EventTarget {
-    readonly        attribute AudioDestinationNode destination;
-    readonly        attribute float                sampleRate;
-    readonly        attribute double               currentTime;
-    readonly        attribute AudioListener        listener;
-    readonly        attribute AudioContextState    state;
-    readonly        attribute double               baseLatency;
-    Promise<void>          resume ();
-                    attribute EventHandler         onstatechange;
-    AudioBuffer            createBuffer (unsigned long numberOfChannels, unsigned long length, float sampleRate);
-    Promise<AudioBuffer>   decodeAudioData (ArrayBuffer audioData, optional DecodeSuccessCallback successCallback, optional DecodeErrorCallback errorCallback);
-    AudioBufferSourceNode  createBufferSource ();
-    ConstantSourceNode     createConstantSource ();
-    ScriptProcessorNode    createScriptProcessor (optional unsigned long bufferSize = 0
-              , optional unsigned long numberOfInputChannels = 2
-              , optional unsigned long numberOfOutputChannels = 2
-              );
-    AnalyserNode           createAnalyser ();
-    GainNode               createGain ();
-    DelayNode              createDelay (optional double maxDelayTime);
-    BiquadFilterNode       createBiquadFilter ();
-    IIRFilterNode          createIIRFilter (sequence<double> feedforward, sequence<double> feedback);
-    WaveShaperNode         createWaveShaper ();
-    PannerNode             createPanner ();
-    StereoPannerNode       createStereoPanner ();
-    ConvolverNode          createConvolver ();
-    ChannelSplitterNode    createChannelSplitter (optional unsigned long numberOfOutputs = 6
-              );
-    ChannelMergerNode      createChannelMerger (optional unsigned long numberOfInputs = 6
-              );
-    DynamicsCompressorNode createDynamicsCompressor ();
-    OscillatorNode         createOscillator ();
-    PeriodicWave           createPeriodicWave (Float32Array real, Float32Array imag, optional PeriodicWaveConstraints constraints);
-};</pre>
-
-   <pre id="audio-node-idl">enum ChannelCountMode {
-    "max",
-    "clamped-max",
-    "explicit"
-};
-
-enum ChannelInterpretation {
-    "speakers",
-    "discrete"
-};
-
-interface AudioNode : EventTarget {
-
-    void connect(AudioNode destination, optional unsigned long output = 0, optional unsigned long input = 0);
-    void connect(AudioParam destination, optional unsigned long output = 0);
-    void disconnect(optional unsigned long output = 0);
-
-    readonly attribute BaseAudioContext context;
-    readonly attribute unsigned long numberOfInputs;
-    readonly attribute unsigned long numberOfOutputs;
-
-    // Channel up-mixing and down-mixing rules for all inputs.
-    attribute unsigned long channelCount;
-    attribute ChannelCountMode channelCountMode;
-    attribute ChannelInterpretation channelInterpretation;
-
-};</pre>
-
-   <pre id="audio-param-idl">interface AudioParam {
-
-                    attribute float value;
-    readonly        attribute float defaultValue;
-    readonly        attribute float minValue;
-    readonly        attribute float maxValue;
-
-    // Parameter automation.
-    void setValueAtTime(float value, double startTime);
-    void linearRampToValueAtTime(float value, double endTime);
-    void exponentialRampToValueAtTime(float value, double endTime);
-
-    // Exponentially approach the target value with a rate having the given time constant.
-    void setTargetAtTime(float target, double startTime, double timeConstant);
-
-    // Sets an array of arbitrary parameter values starting at time for the given duration.
-    // The number of values will be scaled to fit into the desired duration.
-    void setValueCurveAtTime(Float32Array values, double startTime, double duration);
-
-    // Cancels all scheduled parameter changes with times greater than or equal to startTime.
-    void cancelScheduledValues(double startTime);
-
-};</pre>
-
-<pre id="delay-node-idl">dictionary DelayOptions : AudioNodeOptions {
-             double maxDelayTime = 1;
-             double delayTime = 0;
-};
-
-[Constructor(BaseAudioContext context, optional DelayOptions options)]
-interface DelayNode : AudioNode {
-
-    readonly attribute AudioParam delayTime;
-
-};</pre>
-
-  <div id="log"></div>
-
-  <script>
-promise_test(async function() {
-  const webAudioApi = await fetch('/interfaces/web-audio-api.idl').then(r => r.text());
-
-  var idl_array = new IdlArray();
-  idl_array.add_untested_idls(webAudioApi, { only: ['AudioNodeOptions']});
-  idl_array.add_untested_idls(document.getElementById("event-target-idl").textContent);
-  idl_array.add_untested_idls(document.getElementById("base-audio-context-idl").textContent);
-  idl_array.add_untested_idls(document.getElementById("audio-node-idl").textContent);
-  idl_array.add_untested_idls(document.getElementById("audio-param-idl").textContent);
-  idl_array.add_idls(document.getElementById("delay-node-idl").textContent);
-
-  delay_node = (new AudioContext).createDelay();
-
-  idl_array.add_objects({DelayNode: ["delay_node"]});
-  idl_array.test();
-}, 'webaudio Delay interfaces');
-  </script>
-</body>
-</html>
deleted file mode 100644
--- a/testing/web-platform/tests/webaudio/the-audio-api/the-gainnode-interface/idl-test.html
+++ /dev/null
@@ -1,157 +0,0 @@
-<!DOCTYPE html>
-<html class="a">
-<head>
-<title>GainNode IDL Test</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<script src="/resources/idlharness.js"></script>
-<script src="/resources/WebIDLParser.js"></script>
-<script src="/webaudio/js/helpers.js"></script>
-<style type="text/css">
-    #event-target-idl,
-    #base-audio-context-idl,
-    #audio-node-idl,
-    #audio-param-idl
-    { visibility:hidden; height: 0px;}
-  </style>
-</head>
-<body class="a">
-
-   <pre id="event-target-idl">interface EventTarget {
-  void addEventListener(DOMString type, EventListener? callback, optional boolean capture = false);
-  void removeEventListener(DOMString type, EventListener? callback, optional boolean capture = false);
-  boolean dispatchEvent(Event event);
-};
-
-/*
-callback interface EventListener {
-  void handleEvent(Event event);
-};
-*/
-// Callback interfaces are not supported yet, but that's ok
-interface EventListener {};
-</pre>
-
-   <pre id="base-audio-context-idl">callback DecodeErrorCallback = void (DOMException error);
-callback DecodeSuccessCallback = void (AudioBuffer decodedData);
-
-interface BaseAudioContext : EventTarget {
-    readonly        attribute AudioDestinationNode destination;
-    readonly        attribute float                sampleRate;
-    readonly        attribute double               currentTime;
-    readonly        attribute AudioListener        listener;
-    readonly        attribute AudioContextState    state;
-    readonly        attribute double               baseLatency;
-    Promise<void>          resume ();
-                    attribute EventHandler         onstatechange;
-    AudioBuffer            createBuffer (unsigned long numberOfChannels, unsigned long length, float sampleRate);
-    Promise<AudioBuffer>   decodeAudioData (ArrayBuffer audioData, optional DecodeSuccessCallback successCallback, optional DecodeErrorCallback errorCallback);
-    AudioBufferSourceNode  createBufferSource ();
-    ConstantSourceNode     createConstantSource ();
-    ScriptProcessorNode    createScriptProcessor (optional unsigned long bufferSize = 0
-              , optional unsigned long numberOfInputChannels = 2
-              , optional unsigned long numberOfOutputChannels = 2
-              );
-    AnalyserNode           createAnalyser ();
-    GainNode               createGain ();
-    DelayNode              createDelay (optional double maxDelayTime);
-    BiquadFilterNode       createBiquadFilter ();
-    IIRFilterNode          createIIRFilter (sequence<double> feedforward, sequence<double> feedback);
-    WaveShaperNode         createWaveShaper ();
-    PannerNode             createPanner ();
-    StereoPannerNode       createStereoPanner ();
-    ConvolverNode          createConvolver ();
-    ChannelSplitterNode    createChannelSplitter (optional unsigned long numberOfOutputs = 6
-              );
-    ChannelMergerNode      createChannelMerger (optional unsigned long numberOfInputs = 6
-              );
-    DynamicsCompressorNode createDynamicsCompressor ();
-    OscillatorNode         createOscillator ();
-    PeriodicWave           createPeriodicWave (Float32Array real, Float32Array imag, optional PeriodicWaveConstraints constraints);
-};</pre>
-
-   <pre id="audio-node-idl">enum ChannelCountMode {
-    "max",
-    "clamped-max",
-    "explicit"
-};
-
-enum ChannelInterpretation {
-    "speakers",
-    "discrete"
-};
-
-interface AudioNode : EventTarget {
-
-    void connect(AudioNode destination, optional unsigned long output = 0, optional unsigned long input = 0);
-    void connect(AudioParam destination, optional unsigned long output = 0);
-    void disconnect(optional unsigned long output = 0);
-
-    readonly attribute BaseAudioContext context;
-    readonly attribute unsigned long numberOfInputs;
-    readonly attribute unsigned long numberOfOutputs;
-
-    // Channel up-mixing and down-mixing rules for all inputs.
-    attribute unsigned long channelCount;
-    attribute ChannelCountMode channelCountMode;
-    attribute ChannelInterpretation channelInterpretation;
-
-};</pre>
-
-   <pre id="audio-param-idl">interface AudioParam {
-
-                    attribute float value;
-    readonly        attribute float defaultValue;
-    readonly        attribute float minValue;
-    readonly        attribute float maxValue;
-
-    // Parameter automation.
-    void setValueAtTime(float value, double startTime);
-    void linearRampToValueAtTime(float value, double endTime);
-    void exponentialRampToValueAtTime(float value, double endTime);
-
-    // Exponentially approach the target value with a rate having the given time constant.
-    void setTargetAtTime(float target, double startTime, double timeConstant);
-
-    // Sets an array of arbitrary parameter values starting at time for the given duration.
-    // The number of values will be scaled to fit into the desired duration.
-    void setValueCurveAtTime(Float32Array values, double startTime, double duration);
-
-    // Cancels all scheduled parameter changes with times greater than or equal to startTime.
-    void cancelScheduledValues(double startTime);
-
-};</pre>
-
-<pre id="gain-node-idl">dictionary GainOptions : AudioNodeOptions {
-             float gain = 1.0;
-};
-
-[Constructor(BaseAudioContext context, optional GainOptions options)]
-interface GainNode : AudioNode {
-
-    readonly attribute AudioParam gain;
-
-};</pre>
-
-  <div id="log"></div>
-
-  <script>
-promise_test(async function () {
-  const webAudioApi = await fetch('/interfaces/web-audio-api.idl').then(r => r.text());
-
-  var idl_array = new IdlArray();
-  idl_array.add_untested_idls(webAudioApi, { only: ['AudioNodeOptions'] });
-  idl_array.add_untested_idls(document.getElementById("event-target-idl").textContent);
-  idl_array.add_untested_idls(document.getElementById("base-audio-context-idl").textContent);
-  idl_array.add_untested_idls(document.getElementById("audio-node-idl").textContent);
-  idl_array.add_untested_idls(document.getElementById("audio-param-idl").textContent);
-  idl_array.add_idls(document.getElementById("gain-node-idl").textContent);
-
-  gain_node = (new AudioContext).createGain();
-
-  idl_array.add_objects({GainNode: ["gain_node"]});
-  idl_array.test();
-}, 'webaudio Gain interfaces');
-  </script>
-</body>
-</html>