Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Unified Diff: third_party/WebKit/LayoutTests/webaudio/audionode-connect-method-chaining.html

Issue 2581463002: Refactor WebAudio test directory (Closed)
Patch Set: Use correct path for wav result files Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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>

Powered by Google App Engine
This is Rietveld 408576698