Index: LayoutTests/webaudio/audioparam-exceptional-values.html |
diff --git a/LayoutTests/webaudio/audioparam-exceptional-values.html b/LayoutTests/webaudio/audioparam-exceptional-values.html |
index 9ab8dfc1a6f79d7386c0553b5e82182f725c33c1..535faf7df76b74a2ed4f43ac810151bb3bbb90e9 100644 |
--- a/LayoutTests/webaudio/audioparam-exceptional-values.html |
+++ b/LayoutTests/webaudio/audioparam-exceptional-values.html |
@@ -20,8 +20,12 @@ |
// invalid. Only finite non-negative values are allowed for any time or time-like parameter. |
var timeValues = [-1, Infinity, -Infinity, NaN]; |
+ // For these duration values, AudioParam methods should throw an error because they are |
+ // invalid. Only finite values are allowed for any duration parameter. |
+ var durationValues = [-1, Infinity, -Infinity, NaN, 0]; |
+ |
// Just an array for use by setValueCurveAtTime. The length and contents of the array are not |
- // important. |
+ // important. |
var curve = new Float32Array(10); |
function runTest() { |
@@ -35,33 +39,33 @@ |
gain = context.createGain(); |
// Test the value parameter |
- for (value in targetValues) { |
- shouldThrow("gain.gain.setValueAtTime(" + targetValues[value] + ", 1)"); |
- shouldThrow("gain.gain.linearRampToValueAtTime(" + targetValues[value] + ", 1)"); |
- shouldThrow("gain.gain.exponentialRampToValueAtTime(" + targetValues[value] + ", 1)"); |
- shouldThrow("gain.gain.setTargetAtTime(" + targetValues[value] + ", 1, 1)"); |
+ for (value of targetValues) { |
+ shouldThrow("gain.gain.setValueAtTime(" + value + ", 1)"); |
+ shouldThrow("gain.gain.linearRampToValueAtTime(" + value + ", 1)"); |
+ shouldThrow("gain.gain.exponentialRampToValueAtTime(" + value + ", 1)"); |
+ shouldThrow("gain.gain.setTargetAtTime(" + value + ", 1, 1)"); |
} |
// Test the time parameter |
- for (startTime in timeValues) { |
- shouldThrow("gain.gain.setValueAtTime(1, " + timeValues[startTime] + ")"); |
- shouldThrow("gain.gain.linearRampToValueAtTime(1, " + timeValues[startTime] + ")"); |
- shouldThrow("gain.gain.exponentialRampToValueAtTime(1, " + timeValues[startTime] + ")"); |
- shouldThrow("gain.gain.setTargetAtTime(1, " + timeValues[startTime] + ", 1)"); |
+ for (startTime of timeValues) { |
+ shouldThrow("gain.gain.setValueAtTime(1, " + startTime + ")"); |
+ shouldThrow("gain.gain.linearRampToValueAtTime(1, " + startTime + ")"); |
+ shouldThrow("gain.gain.exponentialRampToValueAtTime(1, " + startTime + ")"); |
+ shouldThrow("gain.gain.setTargetAtTime(1, " + startTime + ", 1)"); |
} |
// Test time constant |
- for (value in targetValues) { |
- shouldThrow("gain.gain.setTargetAtTime(1, 1, " + targetValues[value] + ")"); |
+ for (value of targetValues) { |
+ shouldThrow("gain.gain.setTargetAtTime(1, 1, " + value + ")"); |
} |
// Test startTime and duration for setValueCurveAtTime |
- for (startTime in timeValues) { |
- shouldThrow("gain.gain.setValueCurveAtTime(curve, " + timeValues[startTime] + ", 1)"); |
- shouldThrow("gain.gain.setValueCurveAtTime(curve, 1, " + timeValues[duration] + ")"); |
+ for (startTime of timeValues) { |
+ shouldThrow("gain.gain.setValueCurveAtTime(curve, " + startTime + ", 1)"); |
+ } |
+ for (duration of durationValues) { |
+ shouldThrow("gain.gain.setValueCurveAtTime(curve, 1, " + duration + ")"); |
} |
- |
- shouldThrow("gain.gain.setValueCurveAtTime(curve, 1, 0)"); |
finishJSTest(); |
} |