Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / webaudio / resources / merger-testing.js
blobb4cbc1512267a503bfa6841d3df701369e6f7b6f
1 // This file is for the audiochannelmerger-* layout tests.
2 // Requires |audio-testing.js| to work properly.
4 function testMergerInput(config, done) {
5 var context = new OfflineAudioContext(config.numberOfChannels, 128, 44100);
6 var merger = context.createChannelMerger(config.numberOfChannels);
7 var source = context.createBufferSource();
9 // Create a test source buffer.
10 source.buffer = createTestingAudioBuffer(
11 context, config.testBufferChannelCount, 128
14 // Connect the output of source into the specified input of merger.
15 if (config.mergerInputIndex)
16 source.connect(merger, 0, config.mergerInputIndex);
17 else
18 source.connect(merger);
19 merger.connect(context.destination);
20 source.start();
22 context.startRendering().then(function (buffer) {
23 for (var i = 0; i < config.numberOfChannels; i++)
24 Should('Channel #' + i, buffer.getChannelData(i))
25 .beConstantValueOf(config.expected[i]);
26 done();
27 });