| OLD | NEW |
| 1 <!doctype html> | 1 <!doctype html> |
| 2 <html> | 2 <html> |
| 3 <head> | 3 <head> |
| 4 <title>Test Constructor: DynamicsCompressor</title> | 4 <title>Test Constructor: DynamicsCompressor</title> |
| 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 <script src="audionodeoptions.js"></script> | 9 <script src="new-audionodeoptions.js"></script> |
| 10 </head> | 10 </head> |
| 11 | 11 |
| 12 <body> | 12 <body> |
| 13 <script> | 13 <script> |
| 14 var context; | 14 var context; |
| 15 | 15 |
| 16 var audit = Audit.createTaskRunner(); | 16 var audit = Audit.createTaskRunner(); |
| 17 | 17 |
| 18 audit.defineTask("initialize", function (taskDone) { | 18 audit.define('initialize', (task, should) => { |
| 19 Should("context = new OfflineAudioContext(...)", function () { | 19 context = initializeContext(should); |
| 20 context = new OfflineAudioContext(1, 1, 48000); | 20 task.done(); |
| 21 }).notThrow(); | |
| 22 taskDone(); | |
| 23 }); | 21 }); |
| 24 | 22 |
| 25 audit.defineTask("invalid constructor", function (taskDone) { | 23 audit.define('invalid constructor', (task, should) => { |
| 26 var node; | 24 testInvalidConstructor(should, 'DynamicsCompressorNode', context); |
| 27 var success = true; | 25 task.done(); |
| 28 | |
| 29 success = Should("new DynamicsCompressorNode()", function () { | |
| 30 node = new DynamicsCompressorNode(); | |
| 31 }).throw("TypeError"); | |
| 32 success = Should("new DynamicsCompressorNode(1)", function () { | |
| 33 node = new DynamicsCompressorNode(1); | |
| 34 }).throw("TypeError") && success; | |
| 35 success = Should("new DynamicsCompressorNode(context, 42)", function ()
{ | |
| 36 node = new DynamicsCompressorNode(context, 42); | |
| 37 }).throw("TypeError") && success; | |
| 38 | |
| 39 Should("Invalid constructors", success) | |
| 40 .summarize( | |
| 41 "correctly threw errors", | |
| 42 "did not throw errors in all cases"); | |
| 43 | |
| 44 taskDone(); | |
| 45 }); | 26 }); |
| 46 | 27 |
| 47 audit.defineTask("default constructor", function (taskDone) { | 28 audit.define('default constructor', (task, should) => { |
| 48 var node; | 29 let prefix = 'node0'; |
| 49 var success = true; | 30 let node = |
| 31 testDefaultConstructor(should, 'DynamicsCompressorNode', context, { |
| 32 prefix: prefix, |
| 33 numberOfInputs: 1, |
| 34 numberOfOutputs: 1, |
| 35 channelCount: 2, |
| 36 channelCountMode: 'max', |
| 37 channelInterpretation: 'speakers' |
| 38 }); |
| 50 | 39 |
| 51 success = Should("node0 = new DynamicsCompressorNode(context)", function
() { | 40 testDefaultAttributes(should, node, prefix, [ |
| 52 node = new DynamicsCompressorNode(context); | 41 {name: 'threshold', value: -24}, {name: 'knee', value: 30}, |
| 53 }).notThrow(); | 42 {name: 'ratio', value: 12}, {name: 'reduction', value: 0}, |
| 54 success = Should("node0 instanceof DynamicsCompressorNode", | 43 {name: 'attack', value: Math.fround(0.003)}, |
| 55 node instanceof DynamicsCompressorNode) | 44 {name: 'release', value: 0.25} |
| 56 .beEqualTo(true) && success; | 45 ]); |
| 57 | 46 |
| 58 success = Should("node0.threshold.value", node.threshold.value) | 47 task.done(); |
| 59 .beEqualTo(-24) && success; | |
| 60 success = Should("node0.knee.value", node.knee.value) | |
| 61 .beEqualTo(30) && success; | |
| 62 success = Should("node0.ratio.value", node.ratio.value) | |
| 63 .beEqualTo(12) && success; | |
| 64 success = Should("node0.reduction", node.reduction) | |
| 65 .beEqualTo(0) && success; | |
| 66 success = Should("node0.attack.value", node.attack.value) | |
| 67 .beEqualTo(Math.fround(0.003)) && success; | |
| 68 success = Should("node0.release.value", node.release.value) | |
| 69 .beEqualTo(0.25) && success; | |
| 70 | |
| 71 success = Should("node0.channelCount", node.channelCount) | |
| 72 .beEqualTo(2) && success; | |
| 73 success = Should("node0.channelCountMode", node.channelCountMode) | |
| 74 .beEqualTo("max") && success; | |
| 75 success = Should("node0.channelInterpretation", node.channelInterpretati
on) | |
| 76 .beEqualTo("speakers") && success; | |
| 77 | |
| 78 Should("new DynamicsCompressorNode(context)", success) | |
| 79 .summarize( | |
| 80 "constructed node with correct attributes", | |
| 81 "did not construct correct node correctly") | |
| 82 | |
| 83 taskDone(); | |
| 84 }); | 48 }); |
| 85 | 49 |
| 86 audit.defineTask("test AudioNodeOptions", function (taskDone) { | 50 audit.define('test AudioNodeOptions', (task, should) => { |
| 87 testAudioNodeOptions(context, "DynamicsCompressorNode"); | 51 testAudioNodeOptions(should, context, 'DynamicsCompressorNode'); |
| 88 taskDone(); | 52 task.done(); |
| 89 }); | 53 }); |
| 90 | 54 |
| 91 audit.defineTask("constructor with options", function (taskDone) { | 55 audit.define('constructor with options', (task, should) => { |
| 92 var node; | 56 var node; |
| 93 var success = true; | 57 var options = |
| 94 var options = { | 58 {threshold: -33, knee: 15, ratio: 7, attack: 0.625, release: 0.125}; |
| 95 threshold: -33, | |
| 96 knee: 15, | |
| 97 ratio: 7, | |
| 98 attack: 0.625, | |
| 99 release: 0.125 | |
| 100 }; | |
| 101 | 59 |
| 102 success = Should("node1 = new DynamicsCompressorNode(c, " + JSON.stringi
fy(options) + | 60 should( |
| 103 ")", | 61 () => { |
| 104 function () { | 62 node = new DynamicsCompressorNode(context, options); |
| 105 node = new DynamicsCompressorNode(context, options); | 63 }, |
| 106 }).notThrow(); | 64 'node1 = new DynamicsCompressorNode(c, ' + JSON.stringify(options) + |
| 107 success = Should("node1 instanceof DynamicsCompressorNode", | 65 ')') |
| 108 node instanceof DynamicsCompressorNode) | 66 .notThrow(); |
| 109 .beEqualTo(true) && success; | 67 should( |
| 68 node instanceof DynamicsCompressorNode, |
| 69 'node1 instanceof DynamicsCompressorNode') |
| 70 .beEqualTo(true); |
| 110 | 71 |
| 111 success = Should("node1.threshold.value", node.threshold.value) | 72 should(node.threshold.value, 'node1.threshold.value') |
| 112 .beEqualTo(options.threshold) && success; | 73 .beEqualTo(options.threshold); |
| 113 success = Should("node1.knee.value", node.knee.value) | 74 should(node.knee.value, 'node1.knee.value').beEqualTo(options.knee); |
| 114 .beEqualTo(options.knee) && success; | 75 should(node.ratio.value, 'node1.ratio.value').beEqualTo(options.ratio); |
| 115 success = Should("node1.ratio.value", node.ratio.value) | 76 should(node.attack.value, 'node1.attack.value') |
| 116 .beEqualTo(options.ratio) && success; | 77 .beEqualTo(options.attack); |
| 117 success = Should("node1.attack.value", node.attack.value) | 78 should(node.release.value, 'node1.release.value') |
| 118 .beEqualTo(options.attack) && success; | 79 .beEqualTo(options.release); |
| 119 success = Should("node1.release.value", node.release.value) | |
| 120 .beEqualTo(options.release) && success; | |
| 121 | 80 |
| 122 success = Should("node1.channelCount", node.channelCount) | 81 should(node.channelCount, 'node1.channelCount').beEqualTo(2); |
| 123 .beEqualTo(2) && success; | 82 should(node.channelCountMode, 'node1.channelCountMode') |
| 124 success = Should("node1.channelCountMode", node.channelCountMode) | 83 .beEqualTo('max'); |
| 125 .beEqualTo("max") && success; | 84 should(node.channelInterpretation, 'node1.channelInterpretation') |
| 126 success = Should("node1.channelInterpretation", node.channelInterpretati
on) | 85 .beEqualTo('speakers'); |
| 127 .beEqualTo("speakers") && success; | |
| 128 | 86 |
| 129 success = Should("DynamicsCompressorNode(context) constructed with corre
ct values", | 87 task.done(); |
| 130 success) | |
| 131 .beEqualTo(true); | |
| 132 | |
| 133 taskDone(); | |
| 134 }); | 88 }); |
| 135 | 89 |
| 136 | 90 audit.run(); |
| 137 audit.runTasks(); | |
| 138 </script> | 91 </script> |
| 139 </body> | 92 </body> |
| 140 </html> | 93 </html> |
| OLD | NEW |