diff options
Diffstat (limited to '')
-rw-r--r-- | dom/media/webaudio/test/test_waveShaperInvalidLengthCurve.html | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/dom/media/webaudio/test/test_waveShaperInvalidLengthCurve.html b/dom/media/webaudio/test/test_waveShaperInvalidLengthCurve.html new file mode 100644 index 0000000000..0901521a7b --- /dev/null +++ b/dom/media/webaudio/test/test_waveShaperInvalidLengthCurve.html @@ -0,0 +1,66 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Test WaveShaperNode with an invalid curve</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <script type="text/javascript" src="webaudio.js"></script> + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> +</head> +<body> +<pre id="test"> +<script class="testbody" type="text/javascript"> + +var gTest = { + length: 2048, + numberOfChannels: 1, + createGraph(context) { + var source = context.createBufferSource(); + source.buffer = this.buffer; + + var shaper = context.createWaveShaper(); + + expectException(() => { + shaper.curve = new Float32Array(0); + }, DOMException.INVALID_STATE_ERR); + + is(shaper.curve, null, "The curve mustn't have been set"); + + expectException(() => { + shaper.curve = new Float32Array(1); + }, DOMException.INVALID_STATE_ERR); + + is(shaper.curve, null, "The curve mustn't have been set"); + + expectNoException(() => { + shaper.curve = new Float32Array(2); + }); + + isnot(shaper.curve, null, "The curve must have been set"); + + expectNoException(() => { + shaper.curve = null; + }); + + is(shaper.curve, null, "The curve must be null by default"); + + source.connect(shaper); + + source.start(0); + return shaper; + }, + createExpectedBuffers(context) { + var expectedBuffer = context.createBuffer(1, 2048, context.sampleRate); + for (var i = 0; i < 2048; ++i) { + expectedBuffer.getChannelData(0)[i] = Math.sin(440 * 2 * Math.PI * i / context.sampleRate); + } + this.buffer = expectedBuffer; + return expectedBuffer; + }, +}; + +runTest(); + +</script> +</pre> +</body> +</html> |