| <!DOCTYPE html> |
| <html> |
| <head> |
| <title> |
| Basic ConstantSourceNode Tests |
| </title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="../../resources/audit-util.js"></script> |
| <script src="../../resources/audit.js"></script> |
| <script src="../../resources/start-stop-exceptions.js"></script> |
| </head> |
| <body> |
| <script id="layout-test-code"> |
| let context = new AudioContext(); |
| |
| let audit = Audit.createTaskRunner(); |
| |
| audit.define('createConstantSource()', (task, should) => { |
| let node; |
| let prefix = 'Factory method: '; |
| |
| should(() => { |
| node = context.createConstantSource(); |
| }, prefix + 'node = context.createConstantSource()').notThrow(); |
| should( |
| node instanceof ConstantSourceNode, |
| prefix + 'node instance of ConstantSourceNode') |
| .beEqualTo(true); |
| |
| verifyNodeDefaults(should, node, prefix); |
| |
| task.done(); |
| }); |
| |
| audit.define('new ConstantSourceNode()', (task, should) => { |
| let node; |
| let prefix = 'Constructor: '; |
| |
| should(() => { |
| node = new ConstantSourceNode(context); |
| }, prefix + 'node = new ConstantSourceNode()').notThrow(); |
| should( |
| node instanceof ConstantSourceNode, |
| prefix + 'node instance of ConstantSourceNode') |
| .beEqualTo(true); |
| |
| |
| verifyNodeDefaults(should, node, prefix); |
| |
| task.done(); |
| }); |
| |
| audit.define('start/stop exceptions', (task, should) => { |
| let node = new ConstantSourceNode(context); |
| |
| testStartStop(should, node); |
| task.done(); |
| }); |
| |
| function verifyNodeDefaults(should, node, prefix) { |
| should(node.numberOfInputs, prefix + 'node.numberOfInputs') |
| .beEqualTo(0); |
| should(node.numberOfOutputs, prefix + 'node.numberOfOutputs') |
| .beEqualTo(1); |
| should(node.channelCount, prefix + 'node.channelCount').beEqualTo(2); |
| should(node.channelCountMode, prefix + 'node.channelCountMode') |
| .beEqualTo('max'); |
| should( |
| node.channelInterpretation, prefix + 'node.channelInterpretation') |
| .beEqualTo('speakers'); |
| |
| should(node.offset.value, prefix + 'node.offset.value').beEqualTo(1); |
| should(node.offset.defaultValue, prefix + 'node.offset.defaultValue') |
| .beEqualTo(1); |
| should(node.offset.minValue, prefix + 'node.offset.minValue') |
| .beEqualTo(Math.fround(-3.4028235e38)); |
| should(node.offset.maxValue, prefix + 'node.offset.maxValue') |
| .beEqualTo(Math.fround(3.4028235e38)); |
| } |
| |
| audit.run(); |
| </script> |
| </body> |
| </html> |