52 lines
1.7 KiB
Plaintext
52 lines
1.7 KiB
Plaintext
Basic tests for AudioNode API.
|
|
|
|
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
|
|
|
|
PASS context.state is "suspended"
|
|
node.connect(context.destination)
|
|
EVENT statechange
|
|
PASS context.state is "running"
|
|
|
|
Test 1: resume() while interrupted is resolved after the interruption ends.
|
|
internals.beginMediaSessionInterruption("System")
|
|
EVENT statechange
|
|
PASS context.state is "interrupted"
|
|
internals.setMediaSessionRestrictions("WebAudio", "InterruptedPlaybackNotPermitted")
|
|
Calling context.resume()
|
|
Delaying 100ms
|
|
PASS context.state is "interrupted"
|
|
internals.endMediaSessionInterruption("MayResumePlaying")
|
|
PASS context.resume() promise resolved
|
|
PASS context.state is "running"
|
|
|
|
Test 2: resume() while interrupted will cause interruption to end.
|
|
internals.beginMediaSessionInterruption("System")
|
|
EVENT statechange
|
|
PASS context.state is "interrupted"
|
|
internals.setMediaSessionRestrictions("WebAudio", "")
|
|
Calling context.resume()
|
|
PASS context.resume() promise resolved
|
|
PASS context.state is "running"
|
|
|
|
Test 3: running AudioContexts will not resume after an interruption ends.
|
|
internals.beginMediaSessionInterruption("System")
|
|
EVENT statechange
|
|
PASS context.state is "interrupted"
|
|
internals.endMediaSessionInterruption("")
|
|
EVENT statechange
|
|
PASS context.state is "suspended"
|
|
|
|
Test 4: resume() while interrupted will not resume playback after an interruption.
|
|
internals.setMediaSessionRestrictions("WebAudio", "InterruptedPlaybackNotPermitted")
|
|
internals.beginMediaSessionInterruption("System")
|
|
EVENT statechange
|
|
PASS context.state is "interrupted"
|
|
Calling context.resume()
|
|
internals.endMediaSessionInterruption("")
|
|
EVENT statechange
|
|
PASS context.state is "suspended"
|
|
PASS successfullyParsed is true
|
|
|
|
TEST COMPLETE
|
|
|