5 <script src="../fast/js/resources/js-test-pre.js"></script>
6 <script type="text/javascript" src="resources/audio-testing.js"></script>
10 <div id="description"></div>
11 <div id="console"></div>
14 description("Tests that AudioBufferSourceNode validates AudioBuffer in .buffer attribute setter.");
20 if (window.testRunner) {
21 testRunner.dumpAsText();
22 testRunner.waitUntilDone();
25 window.jsTestIsAsync = true;
27 context = new webkitAudioContext();
28 source = context.createBufferSource();
30 // Make sure we can't set to something which isn't an AudioBuffer.
31 shouldThrow("source.buffer = 57");
33 // Check that mono buffer can be set.
35 var monoBuffer = context.createBuffer(1, 1024, context.sampleRate);
36 source.buffer = monoBuffer;
37 testPassed("Mono buffer can be set.");
39 testFailed("Mono buffer can not be set.");
42 // Check that stereo buffer can be set.
44 var stereoBuffer = context.createBuffer(2, 1024, context.sampleRate);
45 source.buffer = stereoBuffer;
46 testPassed("Stereo buffer can be set.");
48 testFailed("Stereo buffer can not be set.");
51 // Check buffers with more than two channels.
52 for (var i = 3; i < 10; ++i) {
54 var buffer = context.createBuffer(i, 1024, context.sampleRate);
55 source.buffer = buffer;
56 var message = i + " channels buffer can be set.";
59 var message = i + " channels buffer can not be set.";
71 <script src="../fast/js/resources/js-test-post.js"></script>