Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Unified Diff: third_party/WebKit/LayoutTests/webaudio/AudioNode/audionode-connect-order.html

Issue 2651623004: Convert more AudioNode tests to use testharness (Closed)
Patch Set: Fix bad indentation. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/webaudio/AudioNode/audionode-connect-order.html
diff --git a/third_party/WebKit/LayoutTests/webaudio/AudioNode/audionode-connect-order.html b/third_party/WebKit/LayoutTests/webaudio/AudioNode/audionode-connect-order.html
index 80329fef9f19bc5b2bb8cad578ade2c082e232f7..f7fa9c4115c9fcd3f274b5de53a8582ec46164bb 100644
--- a/third_party/WebKit/LayoutTests/webaudio/AudioNode/audionode-connect-order.html
+++ b/third_party/WebKit/LayoutTests/webaudio/AudioNode/audionode-connect-order.html
@@ -2,70 +2,69 @@
<html>
<head>
-<script src="../../resources/js-test.js"></script>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
<script src="../resources/audit-util.js"></script>
-<script src="../resources/audio-testing.js"></script>
+<script src="../resources/audit.js"></script>
</head>
<body>
-
-<div id="description"></div>
-<div id="console"></div>
-
<script>
-description("This tests that we don't trigger an assertion failure due to AudioNode connection order.");
-
-var sampleRate = 44100.0;
-var renderLengthSeconds = 0.125;
-var delayTimeSeconds = 0.1;
+let audit = Audit.createTaskRunner();
+let sampleRate = 44100.0;
+let renderLengthSeconds = 0.125;
+let delayTimeSeconds = 0.1;
function createSinWaveBuffer(context, lengthInSeconds, frequency) {
- var audioBuffer = context.createBuffer(1, lengthInSeconds * sampleRate, sampleRate);
+ let audioBuffer =
+ context.createBuffer(1, lengthInSeconds * sampleRate, sampleRate);
- var n = audioBuffer.length;
- var data = audioBuffer.getChannelData(0);
+ let n = audioBuffer.length;
+ let data = audioBuffer.getChannelData(0);
- for (var i = 0; i < n; ++i) {
- data[i] = Math.sin(frequency * 2 * Math.PI * i / sampleRate);
- }
+ for (let i = 0; i < n; ++i) {
+ data[i] = Math.sin(frequency * 2 * Math.PI * i / sampleRate);
+ }
- return audioBuffer;
+ return audioBuffer;
}
-function runTest() {
- if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
- }
-
- window.jsTestIsAsync = true;
-
- // Create offline audio context.
- var context = new OfflineAudioContext(1, sampleRate * renderLengthSeconds, sampleRate);
- var toneBuffer = createSinWaveBuffer(context, renderLengthSeconds, 880);
-
- var bufferSource = context.createBufferSource();
- bufferSource.buffer = toneBuffer;
- bufferSource.connect(context.destination);
-
- var delay = context.createDelay();
- delay.delayTime.value = delayTimeSeconds;
-
- // We connect delay node to gain node before anything is connected to delay node itself.
- // We do this because we try to trigger the ASSERT which might be fired due to AudioNode connection order,
- // especially when gain node and delay node is involved e.g. https://bugs.webkit.org/show_bug.cgi?id=76685.
-
- var gain = context.createGain();
+audit.define('Test connections', function(task, should) {
+ task.describe('AudioNode connection order doesn\'t trigger assertion errors');
+ // Create offline audio context.
+ let context =
+ new OfflineAudioContext(1, sampleRate * renderLengthSeconds, sampleRate);
+ let toneBuffer = createSinWaveBuffer(context, renderLengthSeconds, 880);
+
+ let bufferSource = context.createBufferSource();
+ bufferSource.buffer = toneBuffer;
+ bufferSource.connect(context.destination);
+
+ let delay = context.createDelay();
+ delay.delayTime.value = delayTimeSeconds;
+
+ // We connect delay node to gain node before anything is connected to delay
+ // node itself. We do this because we try to trigger the ASSERT which might
+ // be fired due to AudioNode connection order, especially when gain node and
+ // delay node is involved
+ // e.g. https://bugs.webkit.org/show_bug.cgi?id=76685.
+
+ should(() => {
+ let gain = context.createGain();
gain.connect(context.destination);
delay.connect(gain);
+ }, 'Connecting nodes').notThrow();
- bufferSource.start(0);
+ bufferSource.start(0);
- context.oncomplete = finishJSTest;
- context.startRendering();
-}
+ let promise = context.startRendering();
+
+ should(promise, 'OfflineContext startRendering()')
+ .beResolved()
+ .then(task.done.bind(task));
+});
-runTest();
+audit.run();
</script>

Powered by Google App Engine
This is Rietveld 408576698