ctor-waveshaper.html (2196B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title> 5 Test Constructor: WaveShaper 6 </title> 7 <script src="/resources/testharness.js"></script> 8 <script src="/resources/testharnessreport.js"></script> 9 <script src="/webaudio/resources/audit-util.js"></script> 10 <script src="/webaudio/resources/audit.js"></script> 11 <script src="/webaudio/resources/audionodeoptions.js"></script> 12 </head> 13 <body> 14 <script id="layout-test-code"> 15 let context; 16 17 let audit = Audit.createTaskRunner(); 18 19 audit.define('initialize', (task, should) => { 20 context = initializeContext(should); 21 task.done(); 22 }); 23 24 audit.define('incorrect construction', (task, should) => { 25 testInvalidConstructor(should, 'WaveShaperNode', context); 26 task.done(); 27 }); 28 29 audit.define('valid default construction', (task, should) => { 30 let prefix = 'node0'; 31 let node = testDefaultConstructor(should, 'WaveShaperNode', context, { 32 prefix: prefix, 33 numberOfInputs: 1, 34 numberOfOutputs: 1, 35 channelCount: 2, 36 channelCountMode: 'max', 37 channelInterpretation: 'speakers' 38 }); 39 40 testDefaultAttributes(should, node, prefix, [ 41 {name: 'curve', value: null}, {name: 'oversample', value: 'none'} 42 ]); 43 44 task.done(); 45 }); 46 47 audit.define('test AudioNodeOptions', (task, should) => { 48 testAudioNodeOptions(should, context, 'WaveShaperNode'); 49 task.done(); 50 }); 51 52 audit.define('valid non-default', (task, should) => { 53 // Construct an WaveShaperNode with options 54 let options = {curve: Float32Array.from([1, 2, 3]), oversample: '4x'}; 55 let node; 56 57 let message = 58 'node1 = new WaveShaperNode(, ' + JSON.stringify(options) + ')'; 59 should(() => { 60 node = new WaveShaperNode(context, options); 61 }, message).notThrow(); 62 should(node.curve, 'node1.curve').beEqualToArray(options.curve); 63 should(node.oversample, 'node1.oversample') 64 .beEqualTo(options.oversample); 65 66 task.done(); 67 }); 68 69 audit.run(); 70 </script> 71 </body> 72 </html>