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

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

Issue 2651623004: Convert more AudioNode tests to use testharness (Closed)
Patch Set: Rebase 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
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/webaudio/AudioNode/audionode-channel-rules.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/LayoutTests/webaudio/AudioNode/audionode.html
diff --git a/third_party/WebKit/LayoutTests/webaudio/AudioNode/audionode.html b/third_party/WebKit/LayoutTests/webaudio/AudioNode/audionode.html
index ff458518bbb72ea4739135db2d55b425707f3292..93000fd7f6494d66ab54db1dfc0ae1ab4abbe653 100644
--- a/third_party/WebKit/LayoutTests/webaudio/AudioNode/audionode.html
+++ b/third_party/WebKit/LayoutTests/webaudio/AudioNode/audionode.html
@@ -2,9 +2,10 @@
<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>
@@ -12,83 +13,75 @@
<div id="console"></div>
<script>
-description("Basic tests for AudioNode API.");
+let audit = Audit.createTaskRunner();
-var context = 0;
-var context2 = 0;
-var context3 = 0;
+let context = 0;
+let context2 = 0;
+let context3 = 0;
-function runTest() {
- if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
- }
-
- window.jsTestIsAsync = true;
+audit.define("test", function (task, should) {
+ task.describe("Basic tests for AudioNode API.");
context = new AudioContext();
window.audioNode = context.createBufferSource();
// Check input and output numbers of AudioSourceNode.
- if (audioNode.numberOfInputs === 0)
- testPassed("Source AudioNode has no inputs.");
- else
- testFailed("Source AudioNode should not have inputs.");
-
- if (audioNode.numberOfOutputs === 1)
- testPassed("Source AudioNode has one output.");
- else
- testFailed("Source AudioNode should have one output.");
+ should(audioNode.numberOfInputs,
+ "AudioBufferSource.numberOfInputs")
hongchan 2017/01/23 21:50:56 Sorry to be picky, but the indentation is not alig
Raymond Toy 2017/01/23 22:14:42 You are supposed to be picky. This is what js-bea
+ .beEqualTo(0);
+ should(audioNode.numberOfOutputs,
+ "AudioBufferSource.numberOfOutputs")
+ .beEqualTo(1);
// Check input and output numbers of AudioDestinationNode
- if (context.destination.numberOfInputs === 1)
- testPassed("Destination AudioNode has one input.");
- else
- testFailed("Destination AudioNode should have one input.");
-
- if (context.destination.numberOfOutputs === 0)
- testPassed("Destination AudioNode has no outputs.");
- else
- testFailed("Destination AudioNode should have no outputs.");
+ should(context.destination.numberOfInputs,
+ "AudioContext.destination.numberOfInputs")
+ .beEqualTo(1);
+ should(context.destination.numberOfOutputs,
+ "AudioContext.destination.numberOfOutputs")
+ .beEqualTo(0);
// Try calling connect() method with illegal values.
- shouldThrow('audioNode.connect(0, 0, 0)');
- shouldThrow('audioNode.connect(null, 0, 0)');
- shouldThrow('audioNode.connect(context.destination, 5, 0)');
- shouldThrow('audioNode.connect(context.destination, 0, 5)');
-
- shouldNotThrow('audioNode.connect(context.destination, 0, 0)');
-
+ should(() => audioNode.connect(0, 0, 0),
+ "audioNode.connect(0, 0, 0)")
+ .throw("TypeError");
+ should(() => audioNode.connect(null, 0, 0),
+ "audioNode.connect(null, 0, 0)")
+ .throw("TypeError");
+ should(() => audioNode.connect(context.destination, 5, 0),
+ "audioNode.connect(context.destination, 5, 0)")
+ .throw("IndexSizeError");
+ should(() => audioNode.connect(context.destination, 0, 5),
+ "audioNode.connect(context.destination, 0, 5)")
+ .throw("IndexSizeError");
+
+ should(() => audioNode.connect(context.destination, 0, 0),
+ "audioNode.connect(context.destination, 0, 0)")
+ .notThrow();
+
// Create a new context and try to connect the other context's node to this one.
- try {
- context2 = new AudioContext();
- window.audioNode.connect(context2.destination);
- testFailed("exception should be thrown when connecting to other context's node.");
- } catch(e) {
- testPassed("exception thrown when connecting to other context's node.");
- }
-
- // 3-arg AudioContext doesn't create an offline context anymore.
- shouldNotThrow("context3 = new AudioContext(1, 44100, 44100)");
- if (context3 instanceof OfflineAudioContext)
- testFailed("context3 should not be an OfflineAudioContext");
- else
- testPassed("context3 is not an OfflineAudioContext");
+ context2 = new AudioContext();
+ should(() => window.audioNode.connect(context2.destination),
+ "Connecting a node to a different context")
+ .throw("InvalidAccessError");
+
+ should(() =>
+ context3 = new AudioContext(1, 44100, 44100),
hongchan 2017/01/23 21:50:56 This line needs to go up.
Raymond Toy 2017/01/23 22:14:42 Another js-beautify issue, so same comment as abov
+ "context3 = new AudioContext(1, 44100, 44100)")
+ .notThrow();
+ should(context3 instanceof OfflineAudioContext,
+ "context3 instanceof OfflineAudioContext")
+ .beFalse();
// Ensure it is an EventTarget
- try {
- audioNode.addEventListener('testEvent', function(){
- testPassed("AudioNode is an EventTarget");
- });
- audioNode.dispatchEvent(new Event('testEvent'));
- } catch(e) {
- testFailed("exception shouldn't be thrown when testing whether audio node is an event target");
- }
-
- finishJSTest();
-}
-
-runTest();
+ should(audioNode instanceof EventTarget,
+ "AudioNode is an EventTarget")
+ .beTrue();
+
+ task.done();
+});
+
+audit.run();
</script>
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/webaudio/AudioNode/audionode-channel-rules.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698