tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit f537ac2906c76c8827d81ec188b4054a883da996
parent e5e47f377c5c00c017263c325cec5117c007dfa2
Author: punithbnayak <punithbnayak@chromium.org>
Date:   Mon, 10 Nov 2025 22:19:56 +0000

Bug 1999001 [wpt PR 55945] - [webaudio-testharness] Migrate maxdelay-rounding.html, a=testonly

Automatic update from web-platform-tests
[webaudio-testharness] Migrate maxdelay-rounding.html

Convert maxdelay-rounding.html from the legacy
audit.js runner to pure testharness.js

Change-Id: Ib85b754c53d72503debfbff94a28914f8328f26a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7104378
Reviewed-by: Dibyajyoti Pal <dibyapal@chromium.org>
Reviewed-by: Hongchan Choi <hongchan@chromium.org>
Commit-Queue: Punith Nayak <punithbnayak@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1541913}

--

wpt-commits: 01db1f533aeef40222d91d815d5ae2a9a0e389bf
wpt-pr: 55945

Diffstat:
Mtesting/web-platform/tests/webaudio/the-audio-api/the-delaynode-interface/maxdelay-rounding.html | 91++++++++++++++++++++++++++++++++++---------------------------------------------
1 file changed, 39 insertions(+), 52 deletions(-)

diff --git a/testing/web-platform/tests/webaudio/the-audio-api/the-delaynode-interface/maxdelay-rounding.html b/testing/web-platform/tests/webaudio/the-audio-api/the-delaynode-interface/maxdelay-rounding.html @@ -7,72 +7,59 @@ <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/webaudio/resources/audit-util.js"></script> - <script src="/webaudio/resources/audit.js"></script> </head> <body> - <script id="layout-test-code"> - let sampleRate = 44100; - let inputLengthSeconds = 1; - let renderLengthSeconds = 2; + <script> + const sampleRate = 44100; + const inputLengthSeconds = 1; + const renderLengthSeconds = 2; // Delay for one second plus 0.4 of a sample frame, to test that // DelayNode is properly rounding up when calculating its buffer // size (crbug.com/1065110). - let delayTimeSeconds = 1 + 0.4 / sampleRate; + const delayTimeSeconds = 1 + 0.4 / sampleRate; - let audit = Audit.createTaskRunner(); + promise_test(async () => { + const context = new OfflineAudioContext({ + numberOfChannels: 1, + length: sampleRate * renderLengthSeconds, + sampleRate: sampleRate, + }); - audit.define( - { - label: 'maxdelay-rounding', - description: 'Test DelayNode when maxDelayTime requires rounding', - }, - (task, should) => { - let context = new OfflineAudioContext({ - numberOfChannels: 1, - length: sampleRate * renderLengthSeconds, - sampleRate: sampleRate, - }); + // Create a constant source to use as input. + const src = new ConstantSourceNode(context); - // Create a constant source to use as input. - let src = new ConstantSourceNode(context); + // Create a DelayNode to delay for delayTimeSeconds. + const delay = new DelayNode(context, { + maxDelayTime: delayTimeSeconds, + delayTime: delayTimeSeconds, + }); - // Create a DelayNode to delay for delayTimeSeconds. - let delay = new DelayNode(context, { - maxDelayTime: delayTimeSeconds, - delayTime: delayTimeSeconds, - }); + src.connect(delay).connect(context.destination); - src.connect(delay).connect(context.destination); + src.start(); + const renderedBuffer = await context.startRendering(); + const renderedData = renderedBuffer.getChannelData(0); - src.start(); - context.startRendering() - .then(renderedBuffer => { - let renderedData = renderedBuffer.getChannelData(0); + // The first delayTimeSeconds of output should be silent. + const expectedSilentFrames = Math.floor( + delayTimeSeconds * sampleRate); - // The first delayTimeSeconds of output should be silent. - let expectedSilentFrames = Math.floor( - delayTimeSeconds * sampleRate); + assert_constant_value( + renderedData.slice(0, expectedSilentFrames), + 0, + `output[0:${expectedSilentFrames - 1}]`); - should( - renderedData.slice(0, expectedSilentFrames), - `output[0:${expectedSilentFrames - 1}]`) - .beConstantValueOf(0); - - // The rest should be non-silent: that is, there should - // be at least one non-zero sample. (Any reasonable - // interpolation algorithm will make all these samples - // non-zero, but I don't think that's guaranteed by the - // spec, so we use a conservative test for now.) - should( - renderedData.slice(expectedSilentFrames), - `output[${expectedSilentFrames}:]`) - .notBeConstantValueOf(0); - }) - .then(() => task.done()); - }); - - audit.run(); + // The rest should be non-silent: that is, there should + // be at least one non-zero sample. (Any reasonable + // interpolation algorithm will make all these samples + // non-zero, but I don't think that's guaranteed by the + // spec, so we use a conservative test for now.) + assert_not_constant_value_of( + renderedData.slice(expectedSilentFrames), + 0, + `output[${expectedSilentFrames}:]`); + }, 'Test DelayNode when maxDelayTime requires rounding'); </script> </body> </html>