blob: 8e4147fd0ed8f00234d1319d0870d095bd18946b [file] [log] [blame]
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