| OLD | NEW |
| (Empty) |
| 1 CONSOLE WARNING: line 341: The provided value 'fancy' is not a valid enum value
of type ChannelCountMode. | |
| 2 CONSOLE WARNING: line 347: The provided value 'undefined' is not a valid enum va
lue of type ChannelInterpretation. | |
| 3 CONSOLE WARNING: line 502: The provided value '9x' is not a valid enum value of
type OverSampleType. | |
| 4 CONSOLE WARNING: line 717: The provided value 'junk' is not a valid enum value o
f type ChannelCountMode. | |
| 5 CONSOLE WARNING: line 746: The provided value 'junk' is not a valid enum value o
f type ChannelCountMode. | |
| 6 This is a testharness.js-based test. | |
| 7 PASS # AUDIT TASK RUNNER STARTED. | |
| 8 PASS > [initialize] Initialize contexts for testing | |
| 9 PASS context = new AudioContext() did not throw an exception. | |
| 10 PASS otherContext = new AudioContext() did not throw an exception. | |
| 11 PASS < [initialize] All assertions passed. (total 2 assertions) | |
| 12 PASS > [createBuffer] | |
| 13 PASS context.createBuffer(99, 1, context.sampleRate) threw NotSupportedError:
"Failed to execute 'createBuffer' on 'BaseAudioContext': The number of channels
provided (99) is outside the range [1, 32].". | |
| 14 PASS context.createBuffer(0, 1, context.sampleRate) threw NotSupportedError: "
Failed to execute 'createBuffer' on 'BaseAudioContext': The number of channels p
rovided (0) is outside the range [1, 32].". | |
| 15 PASS context.createBuffer(1, 1, 1) threw NotSupportedError: "Failed to execute
'createBuffer' on 'BaseAudioContext': The sample rate provided (1) is outside t
he range [3000, 384000].". | |
| 16 PASS context.createBuffer(1, 1, 2999) threw NotSupportedError: "Failed to exec
ute 'createBuffer' on 'BaseAudioContext': The sample rate provided (2999) is out
side the range [3000, 384000].". | |
| 17 PASS context.createBuffer(1, 1, 384001) threw NotSupportedError: "Failed to ex
ecute 'createBuffer' on 'BaseAudioContext': The sample rate provided (384001) is
outside the range [3000, 384000].". | |
| 18 PASS context.createBuffer(1, 1, 1e6) threw NotSupportedError: "Failed to execu
te 'createBuffer' on 'BaseAudioContext': The sample rate provided (1.00000e+6) i
s outside the range [3000, 384000].". | |
| 19 PASS context.createBuffer(1, 1, 3000) did not throw an exception. | |
| 20 PASS context.createBuffer(1, 1, 192000) did not throw an exception. | |
| 21 PASS context.createBuffer(1, 1, 384000) did not throw an exception. | |
| 22 PASS context.createBuffer(1, 0, context.sampleRate) threw NotSupportedError: "
Failed to execute 'createBuffer' on 'BaseAudioContext': The number of frames pro
vided (0) is less than or equal to the minimum bound (0).". | |
| 23 PASS context.createBuffer(new ArrayBuffer(100), true) threw TypeError: "Failed
to execute 'createBuffer' on 'BaseAudioContext': 3 arguments required, but only
2 present.". | |
| 24 PASS < [createBuffer] All assertions passed. (total 11 assertions) | |
| 25 PASS > [createMediaElementSource] | |
| 26 PASS context.createMediaElementSource(null) threw TypeError: "Failed to execut
e 'createMediaElementSource' on 'BaseAudioContext': parameter 1 is not of type '
HTMLMediaElement'.". | |
| 27 PASS < [createMediaElementSource] All assertions passed. (total 1 assertions) | |
| 28 PASS > [createMediaStreamSource] | |
| 29 PASS context.createMediaStreamSource(null) threw TypeError: "Failed to execute
'createMediaStreamSource' on 'BaseAudioContext': parameter 1 is not of type 'Me
diaStream'.". | |
| 30 PASS < [createMediaStreamSource] All assertions passed. (total 1 assertions) | |
| 31 PASS > [createScriptProcessor] | |
| 32 PASS context.createScriptProcessor(1, 1, 1) threw IndexSizeError: "Failed to e
xecute 'createScriptProcessor' on 'BaseAudioContext': buffer size (1) must be 0
or a power of two between 256 and 16384.". | |
| 33 PASS context.createScriptProcessor(4096, 100, 1) threw IndexSizeError: "Failed
to execute 'createScriptProcessor' on 'BaseAudioContext': number of input chann
els (100) exceeds maximum (32).". | |
| 34 PASS context.createScriptProcessor(4096, 1, 100) threw IndexSizeError: "Failed
to execute 'createScriptProcessor' on 'BaseAudioContext': number of output chan
nels (100) exceeds maximum (32).". | |
| 35 PASS context.createScriptProcessor() did not throw an exception. | |
| 36 PASS context.createScriptProcessor(0) did not throw an exception. | |
| 37 PASS < [createScriptProcessor] All assertions passed. (total 5 assertions) | |
| 38 PASS > [createChannelSplitter] | |
| 39 PASS context.createChannelSplitter(0) threw IndexSizeError: "Failed to execute
'createChannelSplitter' on 'BaseAudioContext': The number of outputs provided (
0) is outside the range [1, 32].". | |
| 40 PASS context.createChannelSplitter(99) threw IndexSizeError: "Failed to execut
e 'createChannelSplitter' on 'BaseAudioContext': The number of outputs provided
(99) is outside the range [1, 32].". | |
| 41 PASS context.createChannelMerger(0) threw IndexSizeError: "Failed to execute '
createChannelMerger' on 'BaseAudioContext': The number of inputs provided (0) is
outside the range [1, 32].". | |
| 42 PASS < [createChannelSplitter] All assertions passed. (total 3 assertions) | |
| 43 PASS > [createChannelMerger] | |
| 44 PASS context.createChannelMerger(99) threw IndexSizeError: "Failed to execute
'createChannelMerger' on 'BaseAudioContext': The number of inputs provided (99)
is outside the range [1, 32].". | |
| 45 PASS < [createChannelMerger] All assertions passed. (total 1 assertions) | |
| 46 PASS > [createPeriodicWave] | |
| 47 PASS context.createPeriodicWave(null, null) threw TypeError: "Failed to execut
e 'createPeriodicWave' on 'BaseAudioContext': parameter 1 is not of type 'Float3
2Array'.". | |
| 48 PASS context.createPeriodicWave(new Float32Array(10), null) threw TypeError: "
Failed to execute 'createPeriodicWave' on 'BaseAudioContext': parameter 2 is not
of type 'Float32Array'.". | |
| 49 PASS context.createPeriodicWave(new Float32Array(4100), new Float32Array(4100)
) did not throw an exception. | |
| 50 PASS context.createPeriodicWave(new Float32Array(8192), new Float32Array(8192)
) did not throw an exception. | |
| 51 PASS context.createPeriodicWave(new Float32Array(10000), new Float32Array(1000
0)) did not throw an exception. | |
| 52 PASS context.createPeriodicWave(new Float32Array(10), new Float32Array(7)) thr
ew IndexSizeError: "Failed to execute 'createPeriodicWave' on 'BaseAudioContext'
: length of real array (10) and length of imaginary array (7) must match.". | |
| 53 PASS context.createPeriodicWave(shared_view, nonshared_view) threw TypeError:
"Failed to execute 'createPeriodicWave' on 'BaseAudioContext': The provided Arra
yBufferView value must not be shared.". | |
| 54 PASS context.createPeriodicWave(nonshared_view, shared_view) threw TypeError:
"Failed to execute 'createPeriodicWave' on 'BaseAudioContext': The provided Arra
yBufferView value must not be shared.". | |
| 55 PASS < [createPeriodicWave] All assertions passed. (total 8 assertions) | |
| 56 PASS > [createAnalyser] | |
| 57 PASS AnalyserNode.fftSize = 42 threw IndexSizeError: "Failed to set the 'fftSi
ze' property on 'AnalyserNode': The value provided (42) is not a power of two.".
| |
| 58 PASS AnalyserNode.fftSize is not equal to 42. | |
| 59 PASS AnalyserNode.fftSize = 16 threw IndexSizeError: "Failed to set the 'fftSi
ze' property on 'AnalyserNode': The FFT size provided (16) is outside the range
[32, 32768].". | |
| 60 PASS AnalyserNode.fftSize is not equal to 16. | |
| 61 PASS AnalyserNode.fftSize = 32768 did not throw an exception. | |
| 62 PASS AnalyserNode.fftSize = 65536 threw IndexSizeError: "Failed to set the 'ff
tSize' property on 'AnalyserNode': The FFT size provided (65536) is outside the
range [32, 32768].". | |
| 63 PASS AnalyserNode.fftSize is not equal to 65536. | |
| 64 PASS AnalyserNode.minDecibels = -10 threw IndexSizeError: "Failed to set the '
minDecibels' property on 'AnalyserNode': The minDecibels provided (-10) is great
er than the maximum bound (-30).". | |
| 65 PASS AnalyserNode.minDecibels is not equal to -10. | |
| 66 PASS AnalyserNode.maxDecibels = -150 threw IndexSizeError: "Failed to set the
'maxDecibels' property on 'AnalyserNode': The maxDecibels provided (-150) is les
s than the minimum bound (-100).". | |
| 67 PASS AnalyserNode.maxDecibels is not equal to -150. | |
| 68 PASS AnalyserNode.minDecibels = -30 threw IndexSizeError: "Failed to set the '
minDecibels' property on 'AnalyserNode': The minDecibels provided (-30) is great
er than or equal to the maximum bound (-30).". | |
| 69 PASS AnalyserNode.minDecibels is not equal to -30. | |
| 70 PASS AnalyserNode.maxDecibels = -100 threw IndexSizeError: "Failed to set the
'maxDecibels' property on 'AnalyserNode': The maxDecibels provided (-100) is les
s than or equal to the minimum bound (-100).". | |
| 71 PASS AnalyserNode.maxDecibels is not equal to -100. | |
| 72 PASS AnalyserNode.smoothingTimeConstant = -0.1 threw IndexSizeError: "Failed t
o set the 'smoothingTimeConstant' property on 'AnalyserNode': The smoothing valu
e provided (-0.1) is outside the range [0, 1].". | |
| 73 PASS AnalyserNode.smoothingTimeConstant is not equal to -0.1. | |
| 74 PASS AnalyserNode.smoothingTimeConstant = 1.5 threw IndexSizeError: "Failed to
set the 'smoothingTimeConstant' property on 'AnalyserNode': The smoothing value
provided (1.5) is outside the range [0, 1].". | |
| 75 PASS AnalyserNode.smoothingTimeConstant is not equal to 1.5. | |
| 76 PASS AnalyserNode.getFloatFrequencyData(null) threw TypeError: "Failed to exec
ute 'getFloatFrequencyData' on 'AnalyserNode': parameter 1 is not of type 'Float
32Array'.". | |
| 77 PASS AnalyserNode.getByteFrequencyData(null) threw TypeError: "Failed to execu
te 'getByteFrequencyData' on 'AnalyserNode': parameter 1 is not of type 'Uint8Ar
ray'.". | |
| 78 PASS AnalyserNode.getFloatTimeDomainData(null) threw TypeError: "Failed to exe
cute 'getFloatTimeDomainData' on 'AnalyserNode': parameter 1 is not of type 'Flo
at32Array'.". | |
| 79 PASS AnalyserNode.getByteTimeDomainData(null) threw TypeError: "Failed to exec
ute 'getByteTimeDomainData' on 'AnalyserNode': parameter 1 is not of type 'Uint8
Array'.". | |
| 80 PASS AnalyserNode.getFloatFrequencyData(SharedArrayBuffer view) threw TypeErro
r: "Failed to execute 'getFloatFrequencyData' on 'AnalyserNode': The provided Ar
rayBufferView value must not be shared.". | |
| 81 PASS AnalyserNode.getByteFrequencyData(SharedArrayBuffer view) threw TypeError
: "Failed to execute 'getByteFrequencyData' on 'AnalyserNode': The provided Arra
yBufferView value must not be shared.". | |
| 82 PASS AnalyserNode.getFloatTimeDomainData(SharedArrayBuffer view) threw TypeErr
or: "Failed to execute 'getFloatTimeDomainData' on 'AnalyserNode': The provided
ArrayBufferView value must not be shared.". | |
| 83 PASS AnalyserNode.getByteTimeDomainData(SharedArrayBuffer view) threw TypeErro
r: "Failed to execute 'getByteTimeDomainData' on 'AnalyserNode': The provided Ar
rayBufferView value must not be shared.". | |
| 84 PASS AudioBuffer.getChannelData(2) threw IndexSizeError: "Failed to execute 'g
etChannelData' on 'AudioBuffer': channel index (2) exceeds number of channels (1
)". | |
| 85 PASS < [createAnalyser] All assertions passed. (total 28 assertions) | |
| 86 PASS > [Init test nodes] Create test nodes for the following tests | |
| 87 PASS node = context.createGain() did not throw an exception. | |
| 88 PASS node2 = context.createGain() did not throw an exception. | |
| 89 PASS < [Init test nodes] All assertions passed. (total 2 assertions) | |
| 90 PASS > [connections] AudioNode connections | |
| 91 PASS node.connect(null, 0, 0) threw TypeError: "Failed to execute 'connect' on
'AudioNode': parameter 1 is not of type 'AudioNode'.". | |
| 92 PASS node.connect(context.destination, 100, 0) threw IndexSizeError: "Failed t
o execute 'connect' on 'AudioNode': output index (100) exceeds number of outputs
(1).". | |
| 93 PASS node.connect(context.destination, 0, 100) threw IndexSizeError: "Failed t
o execute 'connect' on 'AudioNode': input index (100) exceeds number of inputs (
1).". | |
| 94 PASS node.connect(node2.gain, 100) threw IndexSizeError: "Failed to execute 'c
onnect' on 'AudioNode': output index (100) exceeds number of outputs (1).". | |
| 95 PASS node.disconnect(99) threw IndexSizeError: "Failed to execute 'disconnect'
on 'AudioNode': The output index provided (99) is outside the range [0, 0].". | |
| 96 PASS node.connect(otherContext.destination) threw InvalidAccessError: "Failed
to execute 'connect' on 'AudioNode': cannot connect to a destination belonging t
o a different audio context.". | |
| 97 PASS < [connections] All assertions passed. (total 6 assertions) | |
| 98 PASS > [channel-stuff] channelCount, channelCountMode, channelInterpretation | |
| 99 PASS GainNode.channelCount = 99 threw NotSupportedError: "Failed to set the 'c
hannelCount' property on 'AudioNode': The channel count provided (99) is outside
the range [1, 32].". | |
| 100 PASS GainNode.channelCount is not equal to 99. | |
| 101 PASS node.channelCountMode = "fancy" did not throw an exception. | |
| 102 PASS node.channelCountMode is equal to max. | |
| 103 PASS node.channelInterpretation = mode did not throw an exception. | |
| 104 PASS node.channelInterpretation is equal to speakers. | |
| 105 PASS context.destination.channelCount = 99 threw IndexSizeError: [error messag
e omitted]. | |
| 106 PASS < [channel-stuff] All assertions passed. (total 7 assertions) | |
| 107 PASS > [audioparam] | |
| 108 PASS param.setValueCurveAtTime(null, 0, 0) threw TypeError: "Failed to execute
'setValueCurveAtTime' on 'AudioParam': parameter 1 is not of type 'Float32Array
'.". | |
| 109 PASS param.setValueCurveAtTime(SharedArrayBuffer view, 0, 0) threw TypeError:
"Failed to execute 'setValueCurveAtTime' on 'AudioParam': The provided ArrayBuff
erView value must not be shared.". | |
| 110 PASS node.gain.exponentialRampToValueAtTime(-1, 0.1) did not throw an exceptio
n. | |
| 111 PASS node.gain.exponentialRampToValueAtTime(0, 0.1) threw InvalidAccessError:
"Failed to execute 'exponentialRampToValueAtTime' on 'AudioParam': The float tar
get value provided (0) should not be in the range (-1.40130e-45, 1.40130e-45).".
| |
| 112 PASS node.gain.exponentialRampToValueAtTime(1e-100, 0.1) threw InvalidAccessEr
ror: "Failed to execute 'exponentialRampToValueAtTime' on 'AudioParam': The floa
t target value provided (0) should not be in the range (-1.40130e-45, 1.40130e-4
5).". | |
| 113 PASS node.gain.exponentialRampToValueAtTime(Math.pow(2, -149), 0.1) did not th
row an exception. | |
| 114 PASS node.gain.exponentialRampToValueAtTime(Math.pow(2, -150), 0.1) threw Inva
lidAccessError: "Failed to execute 'exponentialRampToValueAtTime' on 'AudioParam
': The float target value provided (0) should not be in the range (-1.40130e-45,
1.40130e-45).". | |
| 115 PASS < [audioparam] All assertions passed. (total 7 assertions) | |
| 116 PASS > [biquad] | |
| 117 PASS node.getFrequencyResponse(new Float32Array(1), new Float32Array(1), new F
loat32Array(1)) did not throw an exception. | |
| 118 PASS node.getFrequencyResponse(null, new Float32Array(1), new Float32Array(1))
threw TypeError: "Failed to execute 'getFrequencyResponse' on 'BiquadFilterNode
': parameter 1 is not of type 'Float32Array'.". | |
| 119 PASS node.getFrequencyResponse(new Float32Array(1), null, new Float32Array(1))
threw TypeError: "Failed to execute 'getFrequencyResponse' on 'BiquadFilterNode
': parameter 2 is not of type 'Float32Array'.". | |
| 120 PASS node.getFrequencyResponse(new Float32Array(1), new Float32Array(1), null)
threw TypeError: "Failed to execute 'getFrequencyResponse' on 'BiquadFilterNode
': parameter 3 is not of type 'Float32Array'.". | |
| 121 PASS node.getFrequencyResponse(shared_view, nonshared_view, nonshared_view) th
rew TypeError: "Failed to execute 'getFrequencyResponse' on 'BiquadFilterNode':
The provided ArrayBufferView value must not be shared.". | |
| 122 PASS node.getFrequencyResponse(nonshared_view, shared_view, nonshared_view) th
rew TypeError: "Failed to execute 'getFrequencyResponse' on 'BiquadFilterNode':
The provided ArrayBufferView value must not be shared.". | |
| 123 PASS node.getFrequencyResponse(nonshared_view, nonshared_view, shared_view) th
rew TypeError: "Failed to execute 'getFrequencyResponse' on 'BiquadFilterNode':
The provided ArrayBufferView value must not be shared.". | |
| 124 PASS < [biquad] All assertions passed. (total 7 assertions) | |
| 125 PASS > [offline-audio-context] | |
| 126 PASS new OfflineAudioContext(32, 100, context.sampleRate) did not throw an exc
eption. | |
| 127 PASS new OfflineAudioContext(0, 100, context.sampleRate) threw NotSupportedErr
or: "Failed to construct 'OfflineAudioContext': The number of channels provided
(0) is outside the range [1, 32].". | |
| 128 PASS new OfflineAudioContext(99, 100, context.sampleRate) threw NotSupportedEr
ror: "Failed to construct 'OfflineAudioContext': The number of channels provided
(99) is outside the range [1, 32].". | |
| 129 PASS new OfflineAudioContext(1, 100, 1) threw NotSupportedError: "Failed to co
nstruct 'OfflineAudioContext': The sampleRate provided (1) is outside the range
[3000, 384000].". | |
| 130 PASS new OfflineAudioContext(1, 100, 1e6) threw NotSupportedError: "Failed to
construct 'OfflineAudioContext': The sampleRate provided (1.00000e+6) is outside
the range [3000, 384000].". | |
| 131 PASS new OfflineAudioContext(1, -88200000000000, 44100) threw NotSupportedErro
r: "Failed to construct 'OfflineAudioContext': OfflineAudioContext(1, 1448390656
, 44100)". | |
| 132 PASS new OfflineAudioContext(1, 0, 44100) threw NotSupportedError: "Failed to
construct 'OfflineAudioContext': The number of frames provided (0) is less than
the minimum bound (1).". | |
| 133 PASS < [offline-audio-context] All assertions passed. (total 7 assertions) | |
| 134 PASS > [waveshaper] | |
| 135 PASS node.oversample = "9x" did not throw an exception. | |
| 136 PASS node.oversample is equal to none. | |
| 137 PASS node.curve = {} threw TypeError: "Failed to set the 'curve' property on '
WaveShaperNode': The provided value is not of type 'Float32Array'.". | |
| 138 PASS node.curve = new Float32Array(1) threw InvalidAccessError: "Failed to set
the 'curve' property on 'WaveShaperNode': The curve length provided (1) is less
than the minimum bound (2).". | |
| 139 PASS node.curve is equal to ${expected}. | |
| 140 PASS node.curve = new Float32Array(2) did not throw an exception. | |
| 141 PASS node.curve = null did not throw an exception. | |
| 142 PASS < [waveshaper] All assertions passed. (total 7 assertions) | |
| 143 PASS > [audio-buffer-source] AudioBufferSource start/stop | |
| 144 PASS source = context.createBufferSource() did not throw an exception. | |
| 145 PASS source.buffer = buffer did not throw an exception. | |
| 146 PASS source.buffer = context.createBuffer(1, 10, context.sampleRate) threw Inv
alidStateError: "Failed to set the 'buffer' property on 'AudioBufferSourceNode':
Cannot set buffer after it has been already been set". | |
| 147 PASS source.start(-1) threw InvalidAccessError: "Failed to execute 'start' on
'AudioBufferSourceNode': The start time provided (-1) is less than the minimum b
ound (0).". | |
| 148 PASS source.start(Infinity) threw TypeError: "Failed to execute 'start' on 'Au
dioBufferSourceNode': The provided double value is non-finite.". | |
| 149 PASS source.start(-Infinity) threw TypeError: "Failed to execute 'start' on 'A
udioBufferSourceNode': The provided double value is non-finite.". | |
| 150 PASS source.start(NaN) threw TypeError: "Failed to execute 'start' on 'AudioBu
fferSourceNode': The provided double value is non-finite.". | |
| 151 PASS source.start(1, Infinity) threw TypeError: "Failed to execute 'start' on
'AudioBufferSourceNode': The provided double value is non-finite.". | |
| 152 PASS source.start(1, -Infinity) threw TypeError: "Failed to execute 'start' on
'AudioBufferSourceNode': The provided double value is non-finite.". | |
| 153 PASS source.start(1, NaN) threw TypeError: "Failed to execute 'start' on 'Audi
oBufferSourceNode': The provided double value is non-finite.". | |
| 154 PASS source.start(1, -1) threw InvalidStateError: "Failed to execute 'start' o
n 'AudioBufferSourceNode': The offset provided (-1) is less than the minimum bou
nd (0).". | |
| 155 PASS source.start(1, -Number.MIN_VALUE) threw InvalidStateError: "Failed to ex
ecute 'start' on 'AudioBufferSourceNode': The offset provided (-4.94066e-324) is
less than the minimum bound (0).". | |
| 156 PASS source.start(1, 1, Infinity) threw TypeError: "Failed to execute 'start'
on 'AudioBufferSourceNode': The provided double value is non-finite.". | |
| 157 PASS source.start(1, 1, -Infinity) threw TypeError: "Failed to execute 'start'
on 'AudioBufferSourceNode': The provided double value is non-finite.". | |
| 158 PASS source.start(1, 1, NaN) threw TypeError: "Failed to execute 'start' on 'A
udioBufferSourceNode': The provided double value is non-finite.". | |
| 159 PASS source.start(1, 1, -1) threw InvalidStateError: "Failed to execute 'start
' on 'AudioBufferSourceNode': The duration provided (-1) is less than the minimu
m bound (0).". | |
| 160 PASS source.start(1, 1, -Number.MIN_VALUE) threw InvalidStateError: "Failed to
execute 'start' on 'AudioBufferSourceNode': The duration provided (-4.94066e-32
4) is less than the minimum bound (0).". | |
| 161 PASS source.start() did not throw an exception. | |
| 162 PASS source.stop(-Number.MIN_VALUE) threw InvalidAccessError: "Failed to execu
te 'stop' on 'AudioScheduledSourceNode': The stop time provided (-4.94066e-324)
is less than the minimum bound (0).". | |
| 163 PASS source.stop(Infinity) threw TypeError: "Failed to execute 'stop' on 'Audi
oScheduledSourceNode': The provided double value is non-finite.". | |
| 164 PASS source.stop(-Infinity) threw TypeError: "Failed to execute 'stop' on 'Aud
ioScheduledSourceNode': The provided double value is non-finite.". | |
| 165 PASS source.stop(NaN) threw TypeError: "Failed to execute 'stop' on 'AudioSche
duledSourceNode': The provided double value is non-finite.". | |
| 166 PASS source.stop() did not throw an exception. | |
| 167 PASS source2 = context.createBufferSource() did not throw an exception. | |
| 168 PASS source2.buffer = buffer did not throw an exception. | |
| 169 PASS source2.start(0, 0) did not throw an exception. | |
| 170 PASS source3 = context.createBufferSource() did not throw an exception. | |
| 171 PASS source3.buffer = buffer did not throw an exception. | |
| 172 PASS source3.start(0, -1/Infinity) did not throw an exception. | |
| 173 PASS source4 = context.createBufferSource() did not throw an exception. | |
| 174 PASS source4.start() did not throw an exception. | |
| 175 PASS source5 = context.createBufferSource() did not throw an exception. | |
| 176 PASS source5.buffer = buffer did not throw an exception. | |
| 177 PASS source5.stop() threw InvalidStateError: "Failed to execute 'stop' on 'Aud
ioScheduledSourceNode': cannot call stop without calling start first.". | |
| 178 PASS source6 = context.createBufferSource() did not throw an exception. | |
| 179 PASS source6.buffer = buffer did not throw an exception. | |
| 180 PASS source6.start() did not throw an exception. | |
| 181 PASS source6.start() threw InvalidStateError: "Failed to execute 'start' on 'A
udioBufferSourceNode': cannot call start more than once.". | |
| 182 PASS source7 = context.createBufferSource() did not throw an exception. | |
| 183 PASS source7.buffer = buffer did not throw an exception. | |
| 184 PASS source7.start() did not throw an exception. | |
| 185 PASS source7.stop() did not throw an exception. | |
| 186 PASS < [audio-buffer-source] All assertions passed. (total 42 assertions) | |
| 187 PASS > [oscillator] start/stop | |
| 188 PASS source8 = context.createOscillator() did not throw an exception. | |
| 189 PASS source8.start(-Number.MIN_VALUE) threw InvalidAccessError: "Failed to exe
cute 'start' on 'AudioScheduledSourceNode': The start time provided (-4.94066e-3
24) is less than the minimum bound (0).". | |
| 190 PASS source8.start(Infinity) threw TypeError: "Failed to execute 'start' on 'A
udioScheduledSourceNode': The provided double value is non-finite.". | |
| 191 PASS source8.start(-Infinity) threw TypeError: "Failed to execute 'start' on '
AudioScheduledSourceNode': The provided double value is non-finite.". | |
| 192 PASS source8.start(NaN) threw TypeError: "Failed to execute 'start' on 'AudioS
cheduledSourceNode': The provided double value is non-finite.". | |
| 193 PASS source8.start() did not throw an exception. | |
| 194 PASS source8.stop(-Number.MIN_VALUE) threw InvalidAccessError: "Failed to exec
ute 'stop' on 'AudioScheduledSourceNode': The stop time provided (-4.94066e-324)
is less than the minimum bound (0).". | |
| 195 PASS source8.stop(Infinity) threw TypeError: "Failed to execute 'stop' on 'Aud
ioScheduledSourceNode': The provided double value is non-finite.". | |
| 196 PASS source8.stop(-Infinity) threw TypeError: "Failed to execute 'stop' on 'Au
dioScheduledSourceNode': The provided double value is non-finite.". | |
| 197 PASS source8.stop(NaN) threw TypeError: "Failed to execute 'stop' on 'AudioSch
eduledSourceNode': The provided double value is non-finite.". | |
| 198 PASS source8.stop() did not throw an exception. | |
| 199 PASS osc = context.createOscillator() did not throw an exception. | |
| 200 PASS osc.stop() threw InvalidStateError: "Failed to execute 'stop' on 'AudioSc
heduledSourceNode': cannot call stop without calling start first.". | |
| 201 PASS osc1 = context.createOscillator() did not throw an exception. | |
| 202 PASS osc1.start() did not throw an exception. | |
| 203 PASS osc1.stop() did not throw an exception. | |
| 204 PASS osc.setPeriodicWave(null) threw TypeError: "Failed to execute 'setPeriodi
cWave' on 'OscillatorNode': parameter 1 is not of type 'PeriodicWave'.". | |
| 205 PASS < [oscillator] All assertions passed. (total 17 assertions) | |
| 206 PASS > [convolver] | |
| 207 PASS oc = new OfflineAudioContext(1, 44100, 44100) did not throw an exception.
| |
| 208 PASS conv = oc.createConvolver() did not throw an exception. | |
| 209 PASS conv.buffer = {} threw TypeError: "Failed to set the 'buffer' property on
'ConvolverNode': The provided value is not of type 'AudioBuffer'.". | |
| 210 PASS conv.buffer = oc.createBuffer(1, 100, 22050) threw NotSupportedError: "Fa
iled to set the 'buffer' property on 'ConvolverNode': The buffer sample rate of
22050 does not match the context rate of 44100 Hz.". | |
| 211 PASS conv.buffer is equal to ${expected}. | |
| 212 PASS < [convolver] All assertions passed. (total 5 assertions) | |
| 213 PASS > [panner] | |
| 214 PASS panner.channelCount = 1 did not throw an exception. | |
| 215 PASS panner.channelCount = 2 did not throw an exception. | |
| 216 PASS PannerNode.channelCount = 0 threw NotSupportedError: "Failed to set the '
channelCount' property on 'AudioNode': The channelCount provided (0) is outside
the range [1, 2].". | |
| 217 PASS PannerNode.channelCount is not equal to 0. | |
| 218 PASS PannerNode.channelCount = 3 threw NotSupportedError: "Failed to set the '
channelCount' property on 'AudioNode': The channelCount provided (3) is outside
the range [1, 2].". | |
| 219 PASS PannerNode.channelCount is not equal to 3. | |
| 220 PASS PannerNode.channelCountMode = max threw NotSupportedError: "Failed to set
the 'channelCountMode' property on 'AudioNode': Panner: 'max' is not allowed". | |
| 221 PASS PannerNode.channelCountMode is not equal to max. | |
| 222 PASS panner.channelCountMode = "explicit" did not throw an exception. | |
| 223 PASS panner.channelCountMode = "clamped-max" did not throw an exception. | |
| 224 PASS panner.channelCountMode = "junk" did not throw an exception. | |
| 225 PASS < [panner] All assertions passed. (total 11 assertions) | |
| 226 PASS > [script-processor] | |
| 227 PASS script = context.createScriptProcessor(256, 3) did not throw an exception
. | |
| 228 PASS script.channelCount is equal to 3. | |
| 229 PASS script.channelCountMode is equal to explicit. | |
| 230 PASS script.channelCount = 3 did not throw an exception. | |
| 231 PASS ScriptProcessorNode.channelCount = 1 threw NotSupportedError: "Failed to
set the 'channelCount' property on 'AudioNode': channelCount cannot be changed f
rom 3 to 1". | |
| 232 PASS ScriptProcessorNode.channelCount is not equal to 1. | |
| 233 PASS ScriptProcessorNode.channelCount = 7 threw NotSupportedError: "Failed to
set the 'channelCount' property on 'AudioNode': channelCount cannot be changed f
rom 3 to 7". | |
| 234 PASS ScriptProcessorNode.channelCount is not equal to 7. | |
| 235 PASS script.channelCountMode = "explicit" did not throw an exception. | |
| 236 PASS ScriptProcessorNode.channelCountMode = max threw NotSupportedError: "Fail
ed to set the 'channelCountMode' property on 'AudioNode': channelCountMode canno
t be changed from 'explicit' to 'max'". | |
| 237 PASS ScriptProcessorNode.channelCountMode is not equal to max. | |
| 238 PASS ScriptProcessorNode.channelCountMode = clamped-max threw NotSupportedErro
r: "Failed to set the 'channelCountMode' property on 'AudioNode': channelCountMo
de cannot be changed from 'explicit' to 'clamped-max'". | |
| 239 PASS ScriptProcessorNode.channelCountMode is not equal to clamped-max. | |
| 240 PASS script.channelCountMode = "junk" did not throw an exception. | |
| 241 PASS < [script-processor] All assertions passed. (total 14 assertions) | |
| 242 PASS > [misc] Miscellaneous tests | |
| 243 PASS osc.noteOn is equal to undefined. | |
| 244 PASS osc.noteOff is equal to undefined. | |
| 245 PASS source.noteOn is equal to undefined. | |
| 246 PASS source.noteOff is equal to undefined. | |
| 247 PASS < [misc] All assertions passed. (total 4 assertions) | |
| 248 PASS # AUDIT TASK RUNNER FINISHED: 22 tasks ran successfully. | |
| 249 Harness: the test ran to completion. | |
| 250 | |
| OLD | NEW |