Skip to content

Commit

Permalink
Test PannerNode.setPosition() throws with parameter out of range of f…
Browse files Browse the repository at this point in the history
…loat

Depends on D113943

Differential Revision: https://phabricator.services.mozilla.com/D113944

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1708179
gecko-commit: 79b910105bf022de748b88dfa5371fc93cf703d7
gecko-reviewers: padenot
  • Loading branch information
karlt authored and moz-wptsync-bot committed May 5, 2021
1 parent 939be35 commit 2058465
Showing 1 changed file with 37 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<!doctype html>
<meta charset=utf-8>
<title>Test PannerNode.setPosition() throws with parameter out of range of float</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script>
// https://webaudio.github.io/web-audio-api/#dom-pannernode-setposition
// setPosition(x, y, z) "is equivalent to setting positionX.value,
// positionY.value, and positionZ.value directly with the given x, y, and z
// values, respectively." setPosition() parameters are double, but the
// AudioParam value setter has a float parameter, so out of range values
// throw.
const FLT_MAX = 3.40282e+38;
let panner;
setup(() => {
const ctx = new OfflineAudioContext({length: 1, sampleRate: 24000});
panner = ctx.createPanner();
});
test(() => {
assert_throws_js(TypeError, () => panner.setPosition(2 * FLT_MAX, 0, 0));
}, "setPosition x");
test(() => {
assert_throws_js(TypeError, () => panner.setPosition(0, -2 * FLT_MAX, 0));
}, "setPosition y");
test(() => {
assert_throws_js(TypeError, () => panner.setPosition(0, 0, 2 * FLT_MAX));
}, "setPosition z");
test(() => {
assert_throws_js(TypeError, () => panner.setOrientation(-2 * FLT_MAX, 0, 0));
}, "setOrientation x");
test(() => {
assert_throws_js(TypeError, () => panner.setOrientation(0, 2 * FLT_MAX, 0));
}, "setOrientation y");
test(() => {
assert_throws_js(TypeError, () => panner.setOrientation(0, 0, -2 * FLT_MAX));
}, "setOrientation z");
</script>

0 comments on commit 2058465

Please sign in to comment.