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

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

Issue 2581463002: Refactor WebAudio test directory (Closed)
Patch Set: Use correct path for wav result files Created 3 years, 12 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
(Empty)
1 <!DOCTYPE html>
2 <html>
3
4 <head>
5 <script src="../resources/js-test.js"></script>
6 <script src="resources/compatibility.js"></script>
7 <script src="resources/audit-util.js"></script>
8 <script src="resources/audio-testing.js"></script>
9 </head>
10
11 <body>
12 <script>
13 description("Basic tests for PannerNode.");
14 window.jsTestIsAsync = true;
15
16 var context;
17 var panner;
18 var audit = Audit.createTaskRunner();
19
20 audit.defineTask("initialize", function (done) {
21 context = new AudioContext();
22 panner = context.createPanner();
23 done();
24 });
25
26 audit.defineTask("basic", function (done) {
27 var success = true;
28
29 success = Should("panner.numberOfInputs", panner.numberOfInputs)
30 .beEqualTo(1) && success;
31 success = Should("panner.numberOfOutputs", panner.numberOfOutputs)
32 .beEqualTo(1) && success;
33 success = Should("panner.refDistance", panner.refDistance)
34 .beEqualTo(1) && success;
35 panner.refDistance = 270.5;
36 success = Should("panner.refDistance = 270.5", panner.refDistance)
37 .beEqualTo(270.5) && success;
38 success = Should("panner.maxDistance", panner.maxDistance)
39 .beEqualTo(10000) && success;
40 panner.maxDistance = 100.5;
41 success = Should("panner.maxDistance = 100.5", panner.maxDistance)
42 .beEqualTo(100.5) && success;
43 success = Should("panner.rolloffFactor", panner.rolloffFactor)
44 .beEqualTo(1) && success;
45 panner.rolloffFactor = 0.75;
46 success = Should("panner.rolloffFactor = 0.75", panner.rolloffFactor)
47 .beEqualTo(0.75) && success;
48 success = Should("panner.coneInnerAngle", panner.coneInnerAngle)
49 .beEqualTo(360) && success;
50 panner.coneInnerAngle = 240.5;
51 success = Should("panner.coneInnerAngle = 240.5", panner.coneInnerAngle)
52 .beEqualTo(240.5) && success;
53 success = Should("panner.coneOuterAngle", panner.coneOuterAngle)
54 .beEqualTo(360) && success;
55 panner.coneOuterAngle = 166.5;
56 success = Should("panner.coneOuterAngle = 166.5", panner.coneOuterAngle)
57 .beEqualTo(166.5) && success;
58 success = Should("panner.coneOuterGain", panner.coneOuterGain)
59 .beEqualTo(0) && success;
60 panner.coneOuterGain = 0.25;
61 success = Should("panner.coneOuterGain = 0.25", panner.coneOuterGain)
62 .beEqualTo(0.25) && success;
63 success = Should("panner.panningModel", panner.panningModel)
64 .beEqualTo("equalpower") && success;
65 success = Should("panner.distanceModel", panner.distanceModel)
66 .beEqualTo("inverse") && success;
67
68 success = Should("panner.positionX", panner.positionX.value)
69 .beEqualTo(0) && success;
70 success = Should("panner.positionY", panner.positionY.value)
71 .beEqualTo(0) && success;
72 success = Should("panner.positionZ", panner.positionZ.value)
73 .beEqualTo(0) && success;
74 success = Should("panner.orientationX", panner.orientationX.value)
75 .beEqualTo(1) && success;
76 success = Should("panner.orientationY", panner.orientationY.value)
77 .beEqualTo(0) && success;
78 success = Should("panner.orientationZ", panner.orientationZ.value)
79 .beEqualTo(0) && success;
80
81 if (success)
82 testPassed("Basic Panner attribute tests.\n");
83 else
84 testFailed("Basic Panner attribute tests.\n");
85
86 done();
87 });
88
89 audit.defineTask("listener", function (done) {
90 var success = true;
91
92 success = Should("listener.positionX", context.listener.positionX.value)
93 .beEqualTo(0) && success;
94 success = Should("listener.positionY", context.listener.positionY.value)
95 .beEqualTo(0) && success;
96 success = Should("listener.positionZ", context.listener.positionZ.value)
97 .beEqualTo(0) && success;
98 success = Should("listener.forwardX", context.listener.forwardX.value)
99 .beEqualTo(0) && success;
100 success = Should("listener.forwardY", context.listener.forwardY.value)
101 .beEqualTo(0) && success;
102 success = Should("listener.forwardZ", context.listener.forwardZ.value)
103 .beEqualTo(-1) && success;
104 success = Should("listener.upX", context.listener.upX.value)
105 .beEqualTo(0) && success;
106 success = Should("listener.upY", context.listener.upY.value)
107 .beEqualTo(1) && success;
108 success = Should("listener.upZ", context.listener.upZ.value)
109 .beEqualTo(0) && success;
110
111 if (success)
112 testPassed("Basic AudioListener attribute tests.\n");
113 else
114 testFailed("Basic AudioListener attribute tests.\n");
115 done();
116 });
117
118 audit.defineTask("panning models", function (done) {
119 // Check that the .panningModel attribute can be set to all legal values .
120 var panningModels = ["equalpower", "HRTF"];
121
122 var success = true;
123 for (var i = 0; i < panningModels.length; ++i) {
124 success = Should('panner.panningModel = "' + panningModels[i] + '"', f unction () {
125 panner.panningModel = panningModels[i];
126 }).notThrow() && success;
127
128 success = Should('panner.panningModel = "' + panningModels[i] + '"', p anner.panningModel)
129 .beEqualTo(panningModels[i]) && success;
130 }
131
132 success = Should('panner.panningModel = "invalid"', function () {
133 panner.panningModel = "invalid";
134 }).notThrow() && success;
135
136 success = Should("panner.panningModel", panner.panningModel)
137 .beEqualTo("HRTF") && success;
138
139 // Check that numerical values are no longer supported. We shouldn't th row and the value
140 // shouldn't be changed.
141 panner.panningModel = "HRTF";
142 success = Should('panner.panningModel = 1', function () {
143 panner.panningModel = 1;
144 }).notThrow() && success;
145
146 success = Should('panner.panningModel', panner.panningModel)
147 .beEqualTo("HRTF") && success;
148
149 if (success)
150 testPassed("Basic Panner panning models tests.\n");
151 else
152 testFailed("Basic Panner panning models tests.\n");
153 done();
154 });
155
156 audit.defineTask("distance models", function (done) {
157 // Check that the .panningModel attribute can be set to all legal values .
158 var distanceModels = ["linear", "inverse", "exponential"];
159
160 var success = true;
161 for (var i = 0; i < distanceModels.length; ++i) {
162 success = Should('panner.distanceModel = "' + distanceModels[i] + '"',
163 function () {
164 panner.distanceModel = distanceModels[i];
165 }).notThrow() && success;
166
167 success = Should('panner.distanceModel = "' + distanceModels[i] + '"', panner
168 .distanceModel)
169 .beEqualTo(distanceModels[i]) && success;
170 }
171
172 success = Should('panner.distanceModel = "invalid"', function () {
173 panner.distanceModel = "invalid";
174 }).notThrow() && success;
175
176 success = Should("panner.distanceModel", panner.distanceModel)
177 .beEqualTo("exponential") && success;
178
179 if (success)
180 testPassed("Basic Panner distance models tests.\n");
181 else
182 testFailed("Basic Panner distance models tests.\n");
183 done();
184 });
185
186 audit.defineTask("finish", function (done) {
187 finishJSTest();
188 done();
189 });
190
191
192 audit.runTasks();
193 </script>
194
195 </body>
196
197 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698