Index: third_party/WebKit/LayoutTests/webaudio/audionode-connect-method-chaining.html |
diff --git a/third_party/WebKit/LayoutTests/webaudio/audionode-connect-method-chaining.html b/third_party/WebKit/LayoutTests/webaudio/audionode-connect-method-chaining.html |
deleted file mode 100644 |
index 6a3ddb00fee489cf5972ee3acc7c850f805decf8..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/LayoutTests/webaudio/audionode-connect-method-chaining.html |
+++ /dev/null |
@@ -1,176 +0,0 @@ |
-<!DOCTYPE html> |
-<html> |
- |
-<head> |
- <script src="../resources/js-test.js"></script> |
- <script src="resources/compatibility.js"></script> |
- <script src="resources/audit-util.js"></script> |
- <script src="resources/audio-testing.js"></script> |
-</head> |
- |
-<body> |
- <script> |
- description('Test method chaining feature of AudioNode.connect() method.'); |
- window.jsTestIsAsync = true; |
- |
- // AudioNode dictionary with associated arguments. |
- var nodeDictionary = [ |
- { name: 'Analyser' }, |
- { name: 'BiquadFilter' }, |
- { name: 'BufferSource' }, |
- { name: 'ChannelMerger', args: [6] }, |
- { name: 'ChannelSplitter', args: [6] }, |
- { name: 'Convolver' }, |
- { name: 'Delay', args: [] }, |
- { name: 'DynamicsCompressor' }, |
- { name: 'Gain' }, |
- { name: 'Oscillator' }, |
- { name: 'Panner' }, |
- { name: 'ScriptProcessor', args: [512, 1, 1] }, |
- { name: 'StereoPanner' }, |
- { name: 'WaveShaper' } |
- ]; |
- |
- |
- function verifyReturnedNode(config) { |
- if (config.destination === config.returned) { |
- testPassed('The return value of ' + config.desc + ' matches the destination ' + |
- config.returned.constructor.name + '.'); |
- } else { |
- testFailed('The return value of ' + config.desc + ' does NOT match the destination ' + |
- config.destination.constructor.name + '.'); |
- } |
- } |
- |
- // Test utility for batch method checking: in order to test 3 method |
- // signatures, so we create 3 dummy destinations. |
- // 1) .connect(GainNode) |
- // 2) .connect(BiquadFilterNode, output) |
- // 3) .connect(ChannelMergerNode, output, input) |
- function testConnectMethod(context, options) { |
- var source = context['create' + options.name].apply(context, options.args); |
- var sourceName = source.constructor.name; |
- |
- var destination1 = context.createGain(); |
- verifyReturnedNode({ |
- source: source, |
- destination: destination1, |
- returned: source.connect(destination1), |
- desc: sourceName + '.connect(' + destination1.constructor.name + ')' |
- }); |
- |
- var destination2 = context.createBiquadFilter(); |
- verifyReturnedNode({ |
- source: source, |
- destination: destination2, |
- returned: source.connect(destination2, 0), |
- desc: sourceName + '.connect(' + destination2.constructor.name + ', 0)' |
- }); |
- |
- var destination3 = context.createChannelMerger(); |
- verifyReturnedNode({ |
- source: source, |
- destination: destination3, |
- returned: source.connect(destination3, 0, 1), |
- desc: sourceName + '.connect(' + destination3.constructor.name + ', 0, 1)' |
- }); |
- } |
- |
- |
- var audit = Audit.createTaskRunner(); |
- |
- // Task: testing entries from the dictionary. |
- audit.defineTask('from-dictionary', function (done) { |
- var context = new AudioContext(); |
- |
- for (var i = 0; i < nodeDictionary.length; i++) |
- testConnectMethod(context, nodeDictionary[i]); |
- |
- done(); |
- }); |
- |
- // Task: testing Media* nodes. |
- audit.defineTask('media-group', function (done) { |
- var context = new AudioContext(); |
- |
- // Test MediaElementSourceNode needs an <audio> element. |
- var mediaElement = document.createElement('audio'); |
- testConnectMethod(context, { name: 'MediaElementSource', args: [mediaElement] }); |
- |
- testConnectMethod(context, { name: 'MediaStreamDestination' }); |
- |
- // MediaStreamSourceNode requires 'stream' object to be constructed, which |
- // is a part of MediaStreamDestinationNode. |
- var streamDestination = context.createMediaStreamDestination(); |
- var stream = streamDestination.stream; |
- testConnectMethod(context, { name: 'MediaStreamSource', args: [stream] }); |
- |
- done(); |
- }); |
- |
- // Task: test the exception thrown by invalid operation. |
- audit.defineTask('invalid-operation', function (done) { |
- var contextA = new AudioContext(); |
- var contextB = new AudioContext(); |
- var gain1 = contextA.createGain(); |
- var gain2 = contextA.createGain(); |
- |
- // Test if the first connection throws correctly. The first gain node does |
- // not have the second output, so it should throw. |
- Should('Connecting with an invalid output', function () { |
- gain1.connect(gain2, 1).connect(contextA.destination); |
- }).throw('IndexSizeError'); |
- |
- // Test if the second connection throws correctly. The contextB's |
- // destination is not compatible with the nodes from contextA, thus the |
- // first connection succeeds but the second one should throw. |
- Should('Connecting to a node from the different context', function () { |
- gain1.connect(gain2).connect(contextB.destination); |
- }).throw('SyntaxError'); |
- |
- done(); |
- }); |
- |
- // Task: verify if the method chaining actually works. |
- audit.defineTask('verification', function (done) { |
- // We pick the lowest sample rate allowed to run the test efficiently. |
- var context = new OfflineAudioContext(1, 128, 3000); |
- |
- var constantBuffer = createConstantBuffer(context, 1, 1.0); |
- |
- var source = context.createBufferSource(); |
- source.buffer = constantBuffer; |
- source.loop = true; |
- |
- var gain1 = context.createGain(); |
- gain1.gain.value = 0.5; |
- var gain2 = context.createGain(); |
- gain2.gain.value = 0.25; |
- |
- source.connect(gain1).connect(gain2).connect(context.destination); |
- source.start(); |
- |
- context.startRendering().then(function (buffer) { |
- Should('The output of chained connection of gain nodes', buffer.getChannelData(0)) |
- .beConstantValueOf(0.125); |
- }).then(done); |
- }); |
- |
- audit.defineTask('finish', function (done) { |
- finishJSTest(); |
- done(); |
- }); |
- |
- audit.runTasks( |
- 'from-dictionary', |
- 'media-group', |
- 'invalid-operation', |
- 'verification', |
- 'finish' |
- ); |
- |
- successfullyParsed = true; |
- </script> |
-</body> |
- |
-</html> |