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

Side by Side Diff: third_party/WebKit/LayoutTests/webaudio/Oscillator/oscillator-basic.html

Issue 2804633004: Convert Oscillator tests to new Audit (Closed)
Patch Set: Address review comments Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 2
3 <!-- 3 <!--
4 Create an oscillator of each type and verify that the type is set correctly. 4 Create an oscillator of each type and verify that the type is set correctly.
5 --> 5 -->
6 <html> 6 <html>
7 <head> 7 <head>
8 <script src="../../resources/testharness.js"></script> 8 <script src="../../resources/testharness.js"></script>
9 <script src="../../resources/testharnessreport.js"></script> 9 <script src="../../resources/testharnessreport.js"></script>
10 <script src="../resources/audit-util.js"></script> 10 <script src="../resources/audit-util.js"></script>
11 <script src="../resources/audio-testing.js"></script> 11 <script src="../resources/audit.js"></script>
12 </head> 12 </head>
13 13
14 <body> 14 <body>
15 <script> 15 <script>
16 var sampleRate = 44100; 16 var sampleRate = 44100;
17 var renderLengthSeconds = 0.25; 17 var renderLengthSeconds = 0.25;
18 18
19 var oscTypes = ["sine", "square", "sawtooth", "triangle", "custom"]; 19 var oscTypes = ["sine", "square", "sawtooth", "triangle", "custom"];
20 20
21 function runTest() 21 let audit = Audit.createTaskRunner();
22 { 22
23 audit.define("basic osc tests", (task, should) => {
23 // Create offline audio context. 24 // Create offline audio context.
24 var context = new OfflineAudioContext(2, sampleRate * renderLengthSeconds, s ampleRate); 25 var context = new OfflineAudioContext(2, sampleRate *
26 renderLengthSeconds, sampleRate);
25 var osc = context.createOscillator(); 27 var osc = context.createOscillator();
26 28
27 // Set each possible oscillator type (except CUSTOM) and verify that the typ e is correct. 29 // Set each possible oscillator type (except CUSTOM) and verify that the
28 // Here we're setting the type using WebIDL enum values which are strings. 30 // type is correct. Here we're setting the type using WebIDL enum values
31 // which are strings.
29 for (var k = 0; k < oscTypes.length - 1; ++k) { 32 for (var k = 0; k < oscTypes.length - 1; ++k) {
30 osc.type = oscTypes[k]; 33 osc.type = oscTypes[k];
31 Should("osc.type = '" + oscTypes[k] + "'", osc.type).beEqualTo(oscTypes[ k]); 34 should(osc.type, "osc.type = '" + oscTypes[k] + "'")
35 .beEqualTo(oscTypes[k]);
32 } 36 }
33 37
34 // Verify that setting a custom type directly does not set the custom type. This test has to be 38 // Verify that setting a custom type directly does not set the custom
35 // done before using setPeriodicWave. 39 // type. This test has to be done before using setPeriodicWave.
36 40
37 Should("osc.type = 'custom'", function () { 41 should(function () {
38 osc.type = "custom"; 42 osc.type = "custom";
39 }).throw('InvalidStateError'); 43 }, "osc.type = 'custom'")
44 .throw('InvalidStateError');
40 45
41 // Now set a custom oscillator 46 // Now set a custom oscillator
42 var coeffA = new Float32Array([0, 1, 0.5]); 47 var coeffA = new Float32Array([0, 1, 0.5]);
43 var coeffB = new Float32Array([0, 0, 0]); 48 var coeffB = new Float32Array([0, 0, 0]);
44 var wave = context.createPeriodicWave(coeffA, coeffB); 49 var wave = context.createPeriodicWave(coeffA, coeffB);
45 50
46 Should("osc.setPeriodicWave(wave)", function () { 51 should(function () {
47 osc.setPeriodicWave(wave); 52 osc.setPeriodicWave(wave);
48 }).notThrow(); 53 }, "osc.setPeriodicWave(wave)").notThrow();
49 Should("After setting periodicWave, osc.type", osc.type).beEqualTo("custom") ; 54 should(osc.type, "After setting periodicWave, osc.type")
50 55 .beEqualTo("custom");
56
51 // Check that numerical values are no longer supported 57 // Check that numerical values are no longer supported
52 var oldType = osc.type; 58 var oldType = osc.type;
53 osc.type = 0; 59 osc.type = 0;
54 Should("osc.type = 0", osc.type).notBeEqualTo(0); 60 should(osc.type, "osc.type = 0").notBeEqualTo(0);
55 Should("osc.type", osc.type).beEqualTo(oldType); 61 should(osc.type, "osc.type").beEqualTo(oldType);
56 }
57 62
58 runTest(); 63 task.done();
64 });
65
66 audit.run();
59 </script> 67 </script>
60 68
61 69
62 </body> 70 </body>
63 </html> 71 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698