Index: third_party/WebKit/LayoutTests/webaudio/OfflineAudioContext/onstatechange.html |
diff --git a/third_party/WebKit/LayoutTests/webaudio/OfflineAudioContext/onstatechange.html b/third_party/WebKit/LayoutTests/webaudio/OfflineAudioContext/onstatechange.html |
index 4e20b77ff3d7ca1470146d98d4606b16ad2cf85b..0f88289c59e37e0321558672259314eeba0bb041 100644 |
--- a/third_party/WebKit/LayoutTests/webaudio/OfflineAudioContext/onstatechange.html |
+++ b/third_party/WebKit/LayoutTests/webaudio/OfflineAudioContext/onstatechange.html |
@@ -2,17 +2,15 @@ |
<html> |
<head> |
<title>Test statechange event</title> |
- <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> |
<script> |
- description("Test statechange event is properly signaled") |
- |
- window.jsTestIsAsync = true; |
- |
+ var audit = Audit.createTaskRunner(); |
var secondsToRender = 2; |
var sampleRate = 48000; |
@@ -20,30 +18,35 @@ |
var context; |
var contextState; |
- function checkStateChange (e) { |
+ function checkStateChange (e, should) { |
contextState = e.currentTarget.state; |
switch (stateChangeCount) { |
case 0: |
- shouldBeEqualToString("contextState", "running"); |
+ should(contextState, "context.state") |
+ .beEqualTo("running"); |
break; |
case 1: |
- shouldBeEqualToString("contextState", "closed"); |
+ should(contextState, "context.state") |
+ .beEqualTo("closed"); |
break; |
default: |
- testFailed("Expected only two state changes but got " + stateChangeCount); |
+ should(stateChangeCount, "Number of state changes") |
+ .beLessThanOrEqualTo(2) |
} |
++stateChangeCount; |
} |
- function finalCheck() { |
+ function finalCheck(should) { |
// Final check that we got the right number of state changes and the correct final state. |
- shouldBeEqualToNumber("stateChangeCount", 2); |
- shouldBeEqualToString("context.state", "closed"); |
- finishJSTest(); |
+ should(stateChangeCount, "stateChangeCount") |
+ .beEqualTo(2); |
+ should(context.state, "context.state") |
+ .beEqualTo("closed"); |
} |
- function runTest() { |
+ audit.define('test', (task, should) => { |
+ task.describe('Signaling of statechange event'); |
// Create an offline context with a source passing through a convolver. The convolver is |
// just to waste some time. |
context = new OfflineAudioContext(1, secondsToRender * sampleRate, sampleRate); |
@@ -60,20 +63,22 @@ |
source.start(); |
- context.onstatechange = checkStateChange; |
+ context.onstatechange = (event) => checkStateChange(event, should); |
- context.startRendering().then(function () { |
- testPassed("context finished rendering") |
- }); |
+ should(context.startRendering(), "Context rendering") |
+ .beResolved(); |
// Don't want to set an oncomplete for the context and don't want to use the promise because |
// the order of the state change event and resolving the promise is not specified. Thus, |
// just wait for a bit and then finish the test. We assume the offline context runs faster |
// than realtime. |
- setTimeout(finalCheck, secondsToRender * 1000); |
- } |
+ setTimeout(() => { |
+ finalCheck(should); |
+ task.done(); |
+ }, secondsToRender * 1000); |
+ }); |
- runTest(); |
+ audit.run(); |
</script> |
</body> |
</html> |