
PASS # AUDIT TASK RUNNER STARTED.
PASS Executing "test-suspend"
PASS Executing "test-resume"
PASS Executing "test-after-close"
PASS Executing "resume-running-context"
PASS Audit report
PASS > [test-suspend] Test suspend() for offline context
PASS   offlineContext = new OfflineAudioContext(1, 44100, 44100) did not throw an exception.
PASS   offlineContext.state is equal to suspended.
PASS   p1 = offlineContext.suspend() did not throw an exception.
PASS   p1 instanceof Promise is true.
PASS   p1 rejected correctly with TypeError: Not enough arguments.
PASS < [test-suspend] All assertions passed. (total 5 assertions)
PASS > [test-resume] Test resume() for offline context
PASS   p2 = offlineContext.resume() did not throw an exception.
PASS   p2 instanceof Promise is true.
PASS   After resume, offlineContext.state is equal to suspended.
PASS   p2 rejected correctly with InvalidStateError: Cannot resume an offline audio context that has not started.
PASS < [test-resume] All assertions passed. (total 4 assertions)
PASS > [test-after-close] Test state after context closed
PASS   p3 = offlineContext.startRendering() did not throw an exception.
PASS   After close, offlineContext.state is equal to closed.
PASS   offlineContext.suspend() rejected correctly with TypeError: Not enough arguments.
PASS   offlineContext.resume() rejected correctly with InvalidStateError: Cannot resume an offline audio context that is closed.
PASS < [test-after-close] All assertions passed. (total 4 assertions)
PASS > [resume-running-context] Test resuming a running context
PASS   Create online context did not throw an exception.
PASS   context.state is equal to suspended.
PASS   context.resume resolved correctly.
PASS   context.state after resume is equal to running.
PASS < [resume-running-context] All assertions passed. (total 4 assertions)
PASS # AUDIT TASK RUNNER FINISHED: 4 tasks ran successfully.

