LibWeb: Add StereoPannerNode interface

This commit is contained in:
Tim Ledbetter 2025-01-17 14:56:20 +00:00 committed by Andreas Kling
commit 56907e2de6
Notes: github-actions[bot] 2025-01-18 09:21:44 +00:00
8 changed files with 339 additions and 0 deletions

View file

@ -0,0 +1,56 @@
Harness status: OK
Found 51 tests
51 Pass
Pass # AUDIT TASK RUNNER STARTED.
Pass Executing "initialize"
Pass Executing "invalid constructor"
Pass Executing "default constructor"
Pass Executing "test AudioNodeOptions"
Pass Executing "constructor with options"
Pass Audit report
Pass > [initialize]
Pass context = new OfflineAudioContext(...) did not throw an exception.
Pass < [initialize] All assertions passed. (total 1 assertions)
Pass > [invalid constructor]
Pass new StereoPannerNode() threw TypeError: "StereoPannerNode() needs one argument".
Pass new StereoPannerNode(1) threw TypeError: "Not an object of type BaseAudioContext".
Pass new StereoPannerNode(context, 42) threw TypeError: "Not an object of type StereoPannerOptions".
Pass < [invalid constructor] All assertions passed. (total 3 assertions)
Pass > [default constructor]
Pass node0 = new StereoPannerNode(context) did not throw an exception.
Pass node0 instanceof StereoPannerNode is equal to true.
Pass node0.numberOfInputs is equal to 1.
Pass node0.numberOfOutputs is equal to 1.
Pass node0.channelCount is equal to 2.
Pass node0.channelCountMode is equal to clamped-max.
Pass node0.channelInterpretation is equal to speakers.
Pass node0.pan.value is equal to 0.
Pass < [default constructor] All assertions passed. (total 8 assertions)
Pass > [test AudioNodeOptions]
Pass new StereoPannerNode(c, {"channelCount":1}) did not throw an exception.
Pass node.channelCount is equal to 1.
Pass new StereoPannerNode(c, {"channelCount":2}) did not throw an exception.
Pass node.channelCount is equal to 2.
Pass new StereoPannerNode(c, {"channelCount":0}) threw NotSupportedError: "Invalid channel count".
Pass new StereoPannerNode(c, {"channelCount":3}) threw NotSupportedError: "StereoPannerNode does not support channel count greater than 2".
Pass new StereoPannerNode(c, {"channelCount":99}) threw NotSupportedError: "StereoPannerNode does not support channel count greater than 2".
Pass new StereoPannerNode(c, {"channelCountMode":"clamped-max"}) did not throw an exception.
Pass node.channelCountMode is equal to clamped-max.
Pass new StereoPannerNode(c, {"channelCountMode":"explicit"}) did not throw an exception.
Pass node.channelCountMode is equal to explicit.
Pass new StereoPannerNode(c, {"channelCountMode":"max"}) threw NotSupportedError: "StereoPannerNode does not support 'max' as channelCountMode.".
Pass new StereoPannerNode(c, {"channelCountMode":"foobar"}) threw TypeError: "Invalid value 'foobar' for enumeration type 'ChannelCountMode'".
Pass new StereoPannerNode(c, {"channelInterpretation":"speakers"}) did not throw an exception.
Pass node.channelInterpretation is equal to speakers.
Pass new StereoPannerNode(c, {"channelInterpretation":"discrete"}) did not throw an exception.
Pass node.channelInterpretation is equal to discrete.
Pass new StereoPannerNode(c, {"channelInterpretation":"foobar"}) threw TypeError: "Invalid value 'foobar' for enumeration type 'ChannelInterpretation'".
Pass < [test AudioNodeOptions] All assertions passed. (total 18 assertions)
Pass > [constructor with options]
Pass node1 = new StereoPannerNode(, {"pan":0.75}) did not throw an exception.
Pass node1 instanceof StereoPannerNode is equal to true.
Pass node1.pan.value is equal to 0.75.
Pass < [constructor with options] All assertions passed. (total 3 assertions)
Pass # AUDIT TASK RUNNER FINISHED: 5 tasks ran successfully.