haikuwebkit/LayoutTests/webaudio/audiobuffersource-ended.html

35 lines
1.0 KiB
HTML
Raw Permalink Normal View History

<!DOCTYPE html>
<head>
Many WebAudio js-tests use waitUntilDone https://bugs.webkit.org/show_bug.cgi?id=172398 Reviewed by Sam Weinig. Corrected the use of js-test harness, updated the tests to use js-test.js instead of js-test-pre.js where possible. * resources/js-test.js: (shouldReject): Copied some funcitonality form js-test-pre.js that wasn't present here. * webaudio/analyser-exception.html: * webaudio/audiobuffer-neuter-expected.txt: * webaudio/audiobuffer-neuter.html: * webaudio/audiobuffersource-channels.html: * webaudio/audiobuffersource-ended-expected.txt: * webaudio/audiobuffersource-ended.html: * webaudio/audiobuffersource-exception.html: * webaudio/audiobuffersource-loop-comprehensive-expected.txt: * webaudio/audiobuffersource-loop-comprehensive.html: * webaudio/audiobuffersource-negative-playbackrate-expected.txt: * webaudio/audiobuffersource-negative-playbackrate-interpolated-expected.txt: * webaudio/audiobuffersource-negative-playbackrate-interpolated-loop-expected.txt: * webaudio/audiobuffersource-negative-playbackrate-interpolated-loop.html: * webaudio/audiobuffersource-negative-playbackrate-interpolated.html: * webaudio/audiobuffersource-negative-playbackrate-loop-expected.txt: * webaudio/audiobuffersource-negative-playbackrate-loop.html: * webaudio/audiobuffersource-negative-playbackrate.html: * webaudio/audiobuffersource-playbackState.html: * webaudio/audiobuffersource-start-expected.txt: * webaudio/audiobuffersource-start.html: * webaudio/audiochannelmerger-basic.html: * webaudio/audiochannelmerger-stereo.html: * webaudio/audiochannelsplitter.html: * webaudio/audiocontext-promise-throwing.html: * webaudio/audiocontext-promise.html: * webaudio/audiocontext-restriction-audiobuffersourcenode-start.html: * webaudio/audiocontext-restriction.html: * webaudio/audiocontext-state-interrupted.html: * webaudio/audiocontext-state.html: * webaudio/audionode-channel-rules.html: * webaudio/audionode-connect-order.html: * webaudio/audionode.html: * webaudio/audioparam-connect-audioratesignal.html: * webaudio/audioparam-summingjunction.html: * webaudio/audioprocessingevent.html: * webaudio/automatic-pull-node.html: * webaudio/biquad-allpass.html: * webaudio/biquad-bandpass.html: * webaudio/biquad-getFrequencyResponse.html: * webaudio/biquad-highpass.html: * webaudio/biquad-highshelf.html: * webaudio/biquad-lowpass.html: * webaudio/biquad-lowshelf.html: * webaudio/biquad-notch.html: * webaudio/biquad-peaking.html: * webaudio/biquadfilternode-basic.html: * webaudio/convolution-mono-mono.html: * webaudio/decode-audio-data-basic.html: * webaudio/decode-audio-data-too-short.html: * webaudio/delaynode-max-default-delay.html: * webaudio/delaynode-max-nondefault-delay.html: * webaudio/delaynode-maxdelay.html: * webaudio/delaynode-maxdelaylimit.html: * webaudio/delaynode-scheduling.html: * webaudio/delaynode.html: * webaudio/distance-exponential.html: * webaudio/distance-inverse.html: * webaudio/distance-linear.html: * webaudio/dynamicscompressor-basic.html: * webaudio/javascriptaudionode-downmix8-2channel-input.html: * webaudio/javascriptaudionode-upmix2-8channel-input.html: * webaudio/javascriptaudionode-zero-input-channels.html: * webaudio/javascriptaudionode.html: * webaudio/mediaelementaudiosourcenode.html: * webaudio/oscillator-basic.html: * webaudio/oscillator-ended-expected.txt: * webaudio/oscillator-ended.html: * webaudio/page-canstartmedia.html: * webaudio/panner-equalpower-stereo.html: * webaudio/panner-equalpower.html: * webaudio/panner-loop.html: * webaudio/pannernode-basic.html: * webaudio/realtimeanalyser-fft-scaling.html: * webaudio/realtimeanalyser-fft-sizing.html: * webaudio/resources/audiobuffersource-testing.js: (checkAllTests): * webaudio/sample-accurate-scheduling.html: * webaudio/stereo2mono-down-mixing.html: * webaudio/test-basic.html: * webaudio/waveshaper.html: Canonical link: https://commits.webkit.org/189368@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217243 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-22 20:49:12 +00:00
<script src="../resources/js-test.js"></script>
<script src="resources/audio-testing.js"></script>
<script src="resources/audiobuffersource-testing.js"></script>
<script>
var context;
var source;
function runTest()
{
Many WebAudio js-tests use waitUntilDone https://bugs.webkit.org/show_bug.cgi?id=172398 Reviewed by Sam Weinig. Corrected the use of js-test harness, updated the tests to use js-test.js instead of js-test-pre.js where possible. * resources/js-test.js: (shouldReject): Copied some funcitonality form js-test-pre.js that wasn't present here. * webaudio/analyser-exception.html: * webaudio/audiobuffer-neuter-expected.txt: * webaudio/audiobuffer-neuter.html: * webaudio/audiobuffersource-channels.html: * webaudio/audiobuffersource-ended-expected.txt: * webaudio/audiobuffersource-ended.html: * webaudio/audiobuffersource-exception.html: * webaudio/audiobuffersource-loop-comprehensive-expected.txt: * webaudio/audiobuffersource-loop-comprehensive.html: * webaudio/audiobuffersource-negative-playbackrate-expected.txt: * webaudio/audiobuffersource-negative-playbackrate-interpolated-expected.txt: * webaudio/audiobuffersource-negative-playbackrate-interpolated-loop-expected.txt: * webaudio/audiobuffersource-negative-playbackrate-interpolated-loop.html: * webaudio/audiobuffersource-negative-playbackrate-interpolated.html: * webaudio/audiobuffersource-negative-playbackrate-loop-expected.txt: * webaudio/audiobuffersource-negative-playbackrate-loop.html: * webaudio/audiobuffersource-negative-playbackrate.html: * webaudio/audiobuffersource-playbackState.html: * webaudio/audiobuffersource-start-expected.txt: * webaudio/audiobuffersource-start.html: * webaudio/audiochannelmerger-basic.html: * webaudio/audiochannelmerger-stereo.html: * webaudio/audiochannelsplitter.html: * webaudio/audiocontext-promise-throwing.html: * webaudio/audiocontext-promise.html: * webaudio/audiocontext-restriction-audiobuffersourcenode-start.html: * webaudio/audiocontext-restriction.html: * webaudio/audiocontext-state-interrupted.html: * webaudio/audiocontext-state.html: * webaudio/audionode-channel-rules.html: * webaudio/audionode-connect-order.html: * webaudio/audionode.html: * webaudio/audioparam-connect-audioratesignal.html: * webaudio/audioparam-summingjunction.html: * webaudio/audioprocessingevent.html: * webaudio/automatic-pull-node.html: * webaudio/biquad-allpass.html: * webaudio/biquad-bandpass.html: * webaudio/biquad-getFrequencyResponse.html: * webaudio/biquad-highpass.html: * webaudio/biquad-highshelf.html: * webaudio/biquad-lowpass.html: * webaudio/biquad-lowshelf.html: * webaudio/biquad-notch.html: * webaudio/biquad-peaking.html: * webaudio/biquadfilternode-basic.html: * webaudio/convolution-mono-mono.html: * webaudio/decode-audio-data-basic.html: * webaudio/decode-audio-data-too-short.html: * webaudio/delaynode-max-default-delay.html: * webaudio/delaynode-max-nondefault-delay.html: * webaudio/delaynode-maxdelay.html: * webaudio/delaynode-maxdelaylimit.html: * webaudio/delaynode-scheduling.html: * webaudio/delaynode.html: * webaudio/distance-exponential.html: * webaudio/distance-inverse.html: * webaudio/distance-linear.html: * webaudio/dynamicscompressor-basic.html: * webaudio/javascriptaudionode-downmix8-2channel-input.html: * webaudio/javascriptaudionode-upmix2-8channel-input.html: * webaudio/javascriptaudionode-zero-input-channels.html: * webaudio/javascriptaudionode.html: * webaudio/mediaelementaudiosourcenode.html: * webaudio/oscillator-basic.html: * webaudio/oscillator-ended-expected.txt: * webaudio/oscillator-ended.html: * webaudio/page-canstartmedia.html: * webaudio/panner-equalpower-stereo.html: * webaudio/panner-equalpower.html: * webaudio/panner-loop.html: * webaudio/pannernode-basic.html: * webaudio/realtimeanalyser-fft-scaling.html: * webaudio/realtimeanalyser-fft-sizing.html: * webaudio/resources/audiobuffersource-testing.js: (checkAllTests): * webaudio/sample-accurate-scheduling.html: * webaudio/stereo2mono-down-mixing.html: * webaudio/test-basic.html: * webaudio/waveshaper.html: Canonical link: https://commits.webkit.org/189368@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217243 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-22 20:49:12 +00:00
jsTestIsAsync = true;
var sampleRate = 44100.0;
var numberOfFrames = 32;
Turn off the legacy prefixed WebAudio API https://bugs.webkit.org/show_bug.cgi?id=216886 Reviewed by Sam Weinig. LayoutTests/imported/w3c: * web-platform-tests/webaudio/historical-expected.txt: Rebaseline test that is now passing. Source/WebCore: Turn off the legacy prefixed WebAudio API, now that the modern unprefixed API has been enabled in r267488. No new tests, rebaselined existing tests. * Modules/webaudio/AudioBufferSourceNode.idl: Make sure legacy constants get unexposed if the PrefixedWebAudio setting is disabled. * bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): (GetRuntimeEnabledStaticProperties): * bindings/scripts/test/JS/JSTestConditionalIncludes.cpp: (WebCore::JSTestConditionalIncludesConstructor::initializeProperties): (WebCore::JSTestConditionalIncludesPrototype::finishCreation): * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingConstructor::prototypeForStructure): (WebCore::JSTestEnabledBySettingConstructor::initializeProperties): (WebCore::JSTestEnabledBySettingPrototype::finishCreation): * bindings/scripts/test/TestEnabledBySetting.idl: Add support for using [EnabledBySetting=X] on constants. Source/WebKit: Turn off the legacy prefixed WebAudio API, now that the modern unprefixed API has been enabled in r267488. * Shared/WebPreferencesInternal.yaml: Source/WebKitLegacy/mac: Turn off the legacy prefixed WebAudio API, now that the modern unprefixed API has been enabled in r267488. * WebView/WebView.mm: (-[WebView _preferencesChanged:]): LayoutTests: Port existing layout tests from the prefixed WebAudio API to the new unprefixed version. * fast/history/page-cache-closed-audiocontext.html: * fast/history/page-cache-running-audiocontext.html: * fast/history/page-cache-suspended-audiocontext.html: * fast/mediastream/getUserMedia-webaudio.html: * fast/mediastream/media-devices-enumerate-devices.html: * fast/mediastream/mediastreamtrack-audio-clone.html: * fast/mediastream/mock-media-source-webaudio.html: * http/tests/security/webaudio-render-remote-audio-allowed-crossorigin.html: * http/tests/security/webaudio-render-remote-audio-blocked-no-crossorigin.html: * http/wpt/mediarecorder/MediaRecorder-onremovetrack.html: * http/wpt/webaudio/resources/audiocontext-stopped-iframe.html: * platform/ios/webaudio/realtimeanalyser-fft-sizing-expected.txt: * resources/testharnessreport.js: * webaudio/analyser-exception.html: * webaudio/audiobuffer-crash-expected.txt: * webaudio/audiobuffer-crash.html: * webaudio/audiobuffer-expected.txt: * webaudio/audiobuffer-neuter.html: * webaudio/audiobuffer.html: * webaudio/audiobuffersource-channels-expected.txt: * webaudio/audiobuffersource-channels.html: * webaudio/audiobuffersource-ended.html: * webaudio/audiobuffersource-multi-channels.html: * webaudio/audiobuffersource-negative-playbackrate-interpolated-loop.html: * webaudio/audiobuffersource-negative-playbackrate-interpolated.html: * webaudio/audiobuffersource-negative-playbackrate-loop.html: * webaudio/audiobuffersource-negative-playbackrate.html: * webaudio/audiobuffersource-not-gced-until-ended.html: * webaudio/audiobuffersource-playbackState-expected.txt: Removed. * webaudio/audiobuffersource-playbackState.html: Removed. * webaudio/audiobuffersource-playbackrate.html: * webaudio/audiobuffersource-start.html: * webaudio/audiobuffersource.html: * webaudio/audiobuffersourcenode-legacy-api-expected.txt: * webaudio/audiobuffersourcenode-legacy-api.html: * webaudio/audiochannelmerger-basic.html: * webaudio/audiochannelmerger-stereo.html: * webaudio/audiochannelsplitter.html: * webaudio/audiocontext-promise-throwing-expected.txt: * webaudio/audiocontext-promise-throwing.html: * webaudio/audiocontext-promise.html: * webaudio/audiocontext-restriction-audiobuffersourcenode-start.html: * webaudio/audiocontext-restriction.html: * webaudio/audiocontext-state-interrupted.html: * webaudio/audiocontext-state.html: * webaudio/audionode-connect-order.html: * webaudio/audionode.html: * webaudio/audioparam-connect-audioratesignal.html: * webaudio/audioparam-summingjunction.html: * webaudio/audioprocessingevent.html: * webaudio/automatic-pull-node.html: * webaudio/convolution-mono-mono.html: * webaudio/convolver-channels.html: * webaudio/convolver-setBuffer-different-samplerate.html: * webaudio/convolver-setBuffer-null.html: * webaudio/createMediaStreamSource-null-expected.txt: * webaudio/createMediaStreamSource-null.html: * webaudio/decode-audio-data-basic-expected.txt: * webaudio/decode-audio-data-basic.html: * webaudio/decode-audio-data-too-short.html: * webaudio/delaynode-max-default-delay.html: * webaudio/delaynode-max-nondefault-delay.html: * webaudio/delaynode-maxdelay.html: * webaudio/delaynode-maxdelaylimit.html: * webaudio/delaynode-scheduling.html: * webaudio/delaynode.html: * webaudio/distance-exponential.html: * webaudio/distance-inverse.html: * webaudio/distance-linear.html: * webaudio/dynamicscompressor-basic.html: * webaudio/finished-audio-buffer-source-nodes-should-be-collectable.html: * webaudio/gain-basic.html: * webaudio/gain.html: * webaudio/mediaelementaudiosourcenode-expected.txt: * webaudio/mediaelementaudiosourcenode-gc.html: * webaudio/mediaelementaudiosourcenode.html: * webaudio/mixing.html: * webaudio/offlineaudiocontext-gc.html: * webaudio/offlineaudiocontext-restriction.html: * webaudio/oscillatornode-legacy-api-expected.txt: * webaudio/oscillatornode-legacy-api.html: * webaudio/page-canstartmedia.html: * webaudio/panner-equalpower-stereo.html: * webaudio/panner-equalpower.html: * webaudio/prefixed-pannernode-basic-expected.txt: Removed. * webaudio/prefixed-pannernode-basic.html: Removed. * webaudio/realtimeanalyser-fft-sizing-expected.txt: * webaudio/realtimeanalyser-fft-sizing.html: * webaudio/resources/audio-codec-test.js: (runDecodingTest): * webaudio/resources/audiobuffersource-ended-detached-frame-iframe.html: * webaudio/resources/audioparam-testing-legacy.js: (createAudioGraphAndTest): * webaudio/resources/compatibility.js: Removed. * webaudio/resources/javascriptaudionode-testing.js: (runJSNodeTest): * webaudio/resources/oscillator-testing-legacy.js: (generateExponentialOscillatorSweep): * webaudio/sample-accurate-scheduling.html: * webaudio/silence-after-playback.html: * webaudio/silent-audio-interrupted-in-background.html: * webaudio/stereo2mono-down-mixing.html: * webaudio/test-basic.html: * webaudio/up-mixing-mono-51.html: * webaudio/up-mixing-mono-stereo.html: * webaudio/up-mixing-stereo-51.html: * webaudio/waveshaper.html: * webaudio/web-audio-is-playing.html: * webaudio/webaudio-gc.html: * webaudio/webkitofflineaudiocontext-startRendering-crash-expected.txt: * webaudio/webkitofflineaudiocontext-startRendering-crash.html: * webrtc/audio-peer-connection-g722.html: * webrtc/audio-peer-connection-webaudio.html: * webrtc/clone-audio-track.html: * webrtc/getUserMedia-webaudio-autoplay.html: * webrtc/peer-connection-audio-mute.html: * webrtc/peer-connection-audio-mute2.html: * webrtc/peer-connection-createMediaStreamDestination.html: * webrtc/peer-connection-remote-audio-mute.html: * webrtc/peer-connection-remote-audio-mute2.html: * webrtc/routines.js: Canonical link: https://commits.webkit.org/229688@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-09-23 22:48:05 +00:00
context = new OfflineAudioContext(1, numberOfFrames, sampleRate);
source = context.createBufferSource();
source.buffer = createTestBuffer(context, numberOfFrames);
source.connect(context.destination);
source.onended = function()
{
testPassed("source.onended called.");
Many WebAudio js-tests use waitUntilDone https://bugs.webkit.org/show_bug.cgi?id=172398 Reviewed by Sam Weinig. Corrected the use of js-test harness, updated the tests to use js-test.js instead of js-test-pre.js where possible. * resources/js-test.js: (shouldReject): Copied some funcitonality form js-test-pre.js that wasn't present here. * webaudio/analyser-exception.html: * webaudio/audiobuffer-neuter-expected.txt: * webaudio/audiobuffer-neuter.html: * webaudio/audiobuffersource-channels.html: * webaudio/audiobuffersource-ended-expected.txt: * webaudio/audiobuffersource-ended.html: * webaudio/audiobuffersource-exception.html: * webaudio/audiobuffersource-loop-comprehensive-expected.txt: * webaudio/audiobuffersource-loop-comprehensive.html: * webaudio/audiobuffersource-negative-playbackrate-expected.txt: * webaudio/audiobuffersource-negative-playbackrate-interpolated-expected.txt: * webaudio/audiobuffersource-negative-playbackrate-interpolated-loop-expected.txt: * webaudio/audiobuffersource-negative-playbackrate-interpolated-loop.html: * webaudio/audiobuffersource-negative-playbackrate-interpolated.html: * webaudio/audiobuffersource-negative-playbackrate-loop-expected.txt: * webaudio/audiobuffersource-negative-playbackrate-loop.html: * webaudio/audiobuffersource-negative-playbackrate.html: * webaudio/audiobuffersource-playbackState.html: * webaudio/audiobuffersource-start-expected.txt: * webaudio/audiobuffersource-start.html: * webaudio/audiochannelmerger-basic.html: * webaudio/audiochannelmerger-stereo.html: * webaudio/audiochannelsplitter.html: * webaudio/audiocontext-promise-throwing.html: * webaudio/audiocontext-promise.html: * webaudio/audiocontext-restriction-audiobuffersourcenode-start.html: * webaudio/audiocontext-restriction.html: * webaudio/audiocontext-state-interrupted.html: * webaudio/audiocontext-state.html: * webaudio/audionode-channel-rules.html: * webaudio/audionode-connect-order.html: * webaudio/audionode.html: * webaudio/audioparam-connect-audioratesignal.html: * webaudio/audioparam-summingjunction.html: * webaudio/audioprocessingevent.html: * webaudio/automatic-pull-node.html: * webaudio/biquad-allpass.html: * webaudio/biquad-bandpass.html: * webaudio/biquad-getFrequencyResponse.html: * webaudio/biquad-highpass.html: * webaudio/biquad-highshelf.html: * webaudio/biquad-lowpass.html: * webaudio/biquad-lowshelf.html: * webaudio/biquad-notch.html: * webaudio/biquad-peaking.html: * webaudio/biquadfilternode-basic.html: * webaudio/convolution-mono-mono.html: * webaudio/decode-audio-data-basic.html: * webaudio/decode-audio-data-too-short.html: * webaudio/delaynode-max-default-delay.html: * webaudio/delaynode-max-nondefault-delay.html: * webaudio/delaynode-maxdelay.html: * webaudio/delaynode-maxdelaylimit.html: * webaudio/delaynode-scheduling.html: * webaudio/delaynode.html: * webaudio/distance-exponential.html: * webaudio/distance-inverse.html: * webaudio/distance-linear.html: * webaudio/dynamicscompressor-basic.html: * webaudio/javascriptaudionode-downmix8-2channel-input.html: * webaudio/javascriptaudionode-upmix2-8channel-input.html: * webaudio/javascriptaudionode-zero-input-channels.html: * webaudio/javascriptaudionode.html: * webaudio/mediaelementaudiosourcenode.html: * webaudio/oscillator-basic.html: * webaudio/oscillator-ended-expected.txt: * webaudio/oscillator-ended.html: * webaudio/page-canstartmedia.html: * webaudio/panner-equalpower-stereo.html: * webaudio/panner-equalpower.html: * webaudio/panner-loop.html: * webaudio/pannernode-basic.html: * webaudio/realtimeanalyser-fft-scaling.html: * webaudio/realtimeanalyser-fft-sizing.html: * webaudio/resources/audiobuffersource-testing.js: (checkAllTests): * webaudio/sample-accurate-scheduling.html: * webaudio/stereo2mono-down-mixing.html: * webaudio/test-basic.html: * webaudio/waveshaper.html: Canonical link: https://commits.webkit.org/189368@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217243 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-22 20:49:12 +00:00
finishJSTest();
}
source.start(0);
context.startRendering();
}
</script>
</head>
<body onload="runTest()">
<div>Tests that AudioBufferSourceNode calls its onended EventListener.</div>
<div id="console"></div>
</body>