OLD | NEW |
---|---|
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 | 3 |
4 <head> | 4 <head> |
5 <script src="../../resources/testharness.js"></script> | 5 <script src="../../resources/testharness.js"></script> |
6 <script src="../../resources/testharnessreport.js"></script> | 6 <script src="../../resources/testharnessreport.js"></script> |
7 <script src="../resources/audit-util.js"></script> | 7 <script src="../resources/audit-util.js"></script> |
8 <script src="../resources/audio-testing.js"></script> | 8 <script src="../resources/audit.js"></script> |
9 </head> | 9 </head> |
10 | 10 |
11 <body> | 11 <body> |
12 <script> | 12 <script> |
13 var context; | 13 var context; |
14 var panner; | 14 var panner; |
15 var audit = Audit.createTaskRunner(); | 15 var audit = Audit.createTaskRunner(); |
16 | 16 |
17 audit.defineTask("initialize", function (done) { | 17 audit.define("initialize", (task, should) => { |
18 context = new AudioContext(); | 18 should(() => { |
19 panner = context.createPanner(); | 19 context = new AudioContext(); |
20 done(); | 20 panner = context.createPanner(); |
21 }, "Initialize context and panner") | |
22 .notThrow(); | |
23 task.done(); | |
21 }); | 24 }); |
22 | 25 |
23 audit.defineTask("basic", function (done) { | 26 audit.define("basic", (task, should) => { |
24 var success = true; | 27 var success = true; |
hongchan
2017/05/02 16:46:31
We don't need this 'success' variable any more. Ri
Raymond Toy
2017/05/02 19:04:29
Done.
| |
25 | 28 |
26 success = Should("panner.numberOfInputs", panner.numberOfInputs) | 29 should(panner.numberOfInputs, "panner.numberOfInputs") |
27 .beEqualTo(1) && success; | 30 .beEqualTo(1); |
28 success = Should("panner.numberOfOutputs", panner.numberOfOutputs) | 31 should(panner.numberOfOutputs, "panner.numberOfOutputs") |
29 .beEqualTo(1) && success; | 32 .beEqualTo(1); |
30 success = Should("panner.refDistance", panner.refDistance) | 33 should(panner.refDistance, "panner.refDistance") |
31 .beEqualTo(1) && success; | 34 .beEqualTo(1); |
32 panner.refDistance = 270.5; | 35 panner.refDistance = 270.5; |
33 success = Should("panner.refDistance = 270.5", panner.refDistance) | 36 should(panner.refDistance, "panner.refDistance = 270.5") |
34 .beEqualTo(270.5) && success; | 37 .beEqualTo(270.5); |
35 success = Should("panner.maxDistance", panner.maxDistance) | 38 should(panner.maxDistance, "panner.maxDistance") |
36 .beEqualTo(10000) && success; | 39 .beEqualTo(10000); |
37 panner.maxDistance = 100.5; | 40 panner.maxDistance = 100.5; |
38 success = Should("panner.maxDistance = 100.5", panner.maxDistance) | 41 should(panner.maxDistance, "panner.maxDistance = 100.5") |
39 .beEqualTo(100.5) && success; | 42 .beEqualTo(100.5); |
40 success = Should("panner.rolloffFactor", panner.rolloffFactor) | 43 should(panner.rolloffFactor, "panner.rolloffFactor") |
41 .beEqualTo(1) && success; | 44 .beEqualTo(1); |
42 panner.rolloffFactor = 0.75; | 45 panner.rolloffFactor = 0.75; |
43 success = Should("panner.rolloffFactor = 0.75", panner.rolloffFactor) | 46 should(panner.rolloffFactor, "panner.rolloffFactor = 0.75") |
44 .beEqualTo(0.75) && success; | 47 .beEqualTo(0.75); |
45 success = Should("panner.coneInnerAngle", panner.coneInnerAngle) | 48 should(panner.coneInnerAngle, "panner.coneInnerAngle") |
46 .beEqualTo(360) && success; | 49 .beEqualTo(360); |
47 panner.coneInnerAngle = 240.5; | 50 panner.coneInnerAngle = 240.5; |
48 success = Should("panner.coneInnerAngle = 240.5", panner.coneInnerAngle) | 51 should(panner.coneInnerAngle, "panner.coneInnerAngle = 240.5") |
49 .beEqualTo(240.5) && success; | 52 .beEqualTo(240.5); |
50 success = Should("panner.coneOuterAngle", panner.coneOuterAngle) | 53 should(panner.coneOuterAngle, "panner.coneOuterAngle") |
51 .beEqualTo(360) && success; | 54 .beEqualTo(360); |
52 panner.coneOuterAngle = 166.5; | 55 panner.coneOuterAngle = 166.5; |
53 success = Should("panner.coneOuterAngle = 166.5", panner.coneOuterAngle) | 56 should(panner.coneOuterAngle, "panner.coneOuterAngle = 166.5") |
54 .beEqualTo(166.5) && success; | 57 .beEqualTo(166.5); |
55 success = Should("panner.coneOuterGain", panner.coneOuterGain) | 58 should(panner.coneOuterGain, "panner.coneOuterGain") |
56 .beEqualTo(0) && success; | 59 .beEqualTo(0); |
57 panner.coneOuterGain = 0.25; | 60 panner.coneOuterGain = 0.25; |
58 success = Should("panner.coneOuterGain = 0.25", panner.coneOuterGain) | 61 should(panner.coneOuterGain, "panner.coneOuterGain = 0.25") |
59 .beEqualTo(0.25) && success; | 62 .beEqualTo(0.25); |
60 success = Should("panner.panningModel", panner.panningModel) | 63 should(panner.panningModel, "panner.panningModel") |
61 .beEqualTo("equalpower") && success; | 64 .beEqualTo("equalpower"); |
62 success = Should("panner.distanceModel", panner.distanceModel) | 65 should(panner.distanceModel) |
63 .beEqualTo("inverse") && success; | 66 .beEqualTo("inverse", "panner.distanceModel"); |
64 | 67 |
65 success = Should("panner.positionX", panner.positionX.value) | 68 should(panner.positionX.value, "panner.positionX") |
66 .beEqualTo(0) && success; | 69 .beEqualTo(0); |
67 success = Should("panner.positionY", panner.positionY.value) | 70 should(panner.positionY.value, "panner.positionY") |
68 .beEqualTo(0) && success; | 71 .beEqualTo(0); |
69 success = Should("panner.positionZ", panner.positionZ.value) | 72 should(panner.positionZ.value, "panner.positionZ") |
70 .beEqualTo(0) && success; | 73 .beEqualTo(0); |
71 success = Should("panner.orientationX", panner.orientationX.value) | 74 should(panner.orientationX.value, "panner.orientationX") |
72 .beEqualTo(1) && success; | 75 .beEqualTo(1); |
73 success = Should("panner.orientationY", panner.orientationY.value) | 76 should(panner.orientationY.value, "panner.orientationY") |
74 .beEqualTo(0) && success; | 77 .beEqualTo(0); |
75 success = Should("panner.orientationZ", panner.orientationZ.value) | 78 should(panner.orientationZ.value, "panner.orientationZ") |
76 .beEqualTo(0) && success; | 79 .beEqualTo(0); |
77 | 80 |
78 Should("Basic Panner attribute tests", success) | 81 task.done(); |
79 .summarize("passed", "failed"); | |
80 | |
81 done(); | |
82 }); | 82 }); |
83 | 83 |
84 audit.defineTask("listener", function (done) { | 84 audit.define("listener", (task, should) => { |
85 var success = true; | 85 var success = true; |
hongchan
2017/05/02 16:46:31
No 'success' is needed.
Raymond Toy
2017/05/02 19:04:29
Done.
| |
86 | 86 |
87 success = Should("listener.positionX", context.listener.positionX.value) | 87 should(context.listener.positionX.value, "listener.positionX") |
88 .beEqualTo(0) && success; | 88 .beEqualTo(0); |
89 success = Should("listener.positionY", context.listener.positionY.value) | 89 should(context.listener.positionY.value, "listener.positionY") |
90 .beEqualTo(0) && success; | 90 .beEqualTo(0); |
91 success = Should("listener.positionZ", context.listener.positionZ.value) | 91 should(context.listener.positionZ.value, "listener.positionZ") |
92 .beEqualTo(0) && success; | 92 .beEqualTo(0); |
93 success = Should("listener.forwardX", context.listener.forwardX.value) | 93 should(context.listener.forwardX.value, "listener.forwardX") |
94 .beEqualTo(0) && success; | 94 .beEqualTo(0); |
95 success = Should("listener.forwardY", context.listener.forwardY.value) | 95 should(context.listener.forwardY.value, "listener.forwardY") |
96 .beEqualTo(0) && success; | 96 .beEqualTo(0); |
97 success = Should("listener.forwardZ", context.listener.forwardZ.value) | 97 should(context.listener.forwardZ.value, "listener.forwardZ") |
98 .beEqualTo(-1) && success; | 98 .beEqualTo(-1); |
99 success = Should("listener.upX", context.listener.upX.value) | 99 should(context.listener.upX.value, "listener.upX") |
100 .beEqualTo(0) && success; | 100 .beEqualTo(0); |
101 success = Should("listener.upY", context.listener.upY.value) | 101 should(context.listener.upY.value, "listener.upY") |
102 .beEqualTo(1) && success; | 102 .beEqualTo(1); |
103 success = Should("listener.upZ", context.listener.upZ.value) | 103 should(context.listener.upZ.value, "listener.upZ") |
104 .beEqualTo(0) && success; | 104 .beEqualTo(0); |
105 | 105 |
106 Should("Basic AudioListener attribute tests", success) | 106 task.done(); |
107 .summarize("passed", "failed"); | |
108 done(); | |
109 }); | 107 }); |
110 | 108 |
111 audit.defineTask("panning models", function (done) { | 109 audit.define("panning models", (task, should) => { |
112 // Check that the .panningModel attribute can be set to all legal values . | 110 // Check that the .panningModel attribute can be set to all legal values . |
113 var panningModels = ["equalpower", "HRTF"]; | 111 var panningModels = ["equalpower", "HRTF"]; |
114 | 112 |
115 var success = true; | 113 var success = true; |
116 for (var i = 0; i < panningModels.length; ++i) { | 114 for (var i = 0; i < panningModels.length; ++i) { |
117 success = Should('Set panner.panningModel = "' + panningModels[i] + '" ', function () { | 115 should(function () { |
118 panner.panningModel = panningModels[i]; | 116 panner.panningModel = panningModels[i]; |
119 }).notThrow() && success; | 117 }, |
118 'Set panner.panningModel = "' + panningModels[i] + '"') | |
119 .notThrow(); | |
120 | 120 |
121 success = Should('panner.panningModel = "' + panningModels[i] + '"', p anner.panningModel) | 121 should(panner.panningModel, |
122 .beEqualTo(panningModels[i]) && success; | 122 'panner.panningModel = "' + panningModels[i] + '"') |
123 .beEqualTo(panningModels[i]); | |
123 } | 124 } |
124 | 125 |
125 success = Should('panner.panningModel = "invalid"', function () { | 126 should(function () { |
126 panner.panningModel = "invalid"; | 127 panner.panningModel = "invalid"; |
127 }).notThrow() && success; | 128 }, |
129 'panner.panningModel = "invalid"') | |
130 .notThrow(); | |
128 | 131 |
129 success = Should("panner.panningModel after invalid setter", panner.pann ingModel) | 132 should(panner.panningModel, |
130 .beEqualTo("HRTF") && success; | 133 "panner.panningModel after invalid setter") |
134 .beEqualTo("HRTF"); | |
131 | 135 |
132 // Check that numerical values are no longer supported. We shouldn't th row and the value | 136 // Check that numerical values are no longer supported. We shouldn't th row and the value |
133 // shouldn't be changed. | 137 // shouldn't be changed. |
134 panner.panningModel = "HRTF"; | 138 panner.panningModel = "HRTF"; |
135 success = Should('panner.panningModel = 1', function () { | 139 should(function () { |
136 panner.panningModel = 1; | 140 panner.panningModel = 1; |
137 }).notThrow() && success; | 141 }, 'panner.panningModel = 1').notThrow(); |
138 | 142 |
139 success = Should('panner.panningModel', panner.panningModel) | 143 should(panner.panningModel, 'panner.panningModel') |
140 .beEqualTo("HRTF") && success; | 144 .beEqualTo("HRTF"); |
141 | 145 |
142 Should("Basic Panner panning models tests", success) | 146 task.done(); |
143 .summarize("passed", "failed"); | |
144 done(); | |
145 }); | 147 }); |
146 | 148 |
147 audit.defineTask("distance models", function (done) { | 149 audit.define("distance models", (task, should) => { |
148 // Check that the .panningModel attribute can be set to all legal values . | 150 // Check that the .panningModel attribute can be set to all legal values . |
149 var distanceModels = ["linear", "inverse", "exponential"]; | 151 var distanceModels = ["linear", "inverse", "exponential"]; |
150 | 152 |
151 var success = true; | 153 var success = true; |
152 for (var i = 0; i < distanceModels.length; ++i) { | 154 for (var i = 0; i < distanceModels.length; ++i) { |
153 success = Should('panner.distanceModel = "' + distanceModels[i] + '"', | 155 should( |
154 function () { | 156 function () { |
155 panner.distanceModel = distanceModels[i]; | 157 panner.distanceModel = distanceModels[i]; |
156 }).notThrow() && success; | 158 }, |
159 'panner.distanceModel = "' + distanceModels[i] + '"') | |
160 .notThrow(); | |
157 | 161 |
158 success = Should('panner.distanceModel = "' + distanceModels[i] + '"', panner | 162 should(panner.distanceModel, |
159 .distanceModel) | 163 'panner.distanceModel = "' + distanceModels[i] + '"') |
160 .beEqualTo(distanceModels[i]) && success; | 164 .beEqualTo(distanceModels[i]); |
161 } | 165 } |
162 | 166 |
163 success = Should('panner.distanceModel = "invalid"', function () { | 167 should(function () { |
164 panner.distanceModel = "invalid"; | 168 panner.distanceModel = "invalid"; |
165 }).notThrow() && success; | 169 }, |
170 'panner.distanceModel = "invalid"') | |
171 .notThrow(); | |
166 | 172 |
167 success = Should("panner.distanceModel", panner.distanceModel) | 173 should(panner.distanceModel, "panner.distanceModel") |
168 .beEqualTo("exponential") && success; | 174 .beEqualTo("exponential"); |
169 | 175 |
170 Should("Basic Panner distance models tests", success) | 176 task.done(); |
171 .summarize("passed", "failed"); | |
172 done(); | |
173 }); | 177 }); |
174 | 178 |
175 audit.runTasks(); | 179 audit.run(); |
176 </script> | 180 </script> |
177 | 181 |
178 </body> | 182 </body> |
179 | 183 |
180 </html> | 184 </html> |
OLD | NEW |