Harness status: OK

Found 125 tests

125 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 PannerNode() threw TypeError: "PannerNode() needs one argument".
Pass	  new PannerNode(1) threw TypeError: "Not an object of type BaseAudioContext".
Pass	  new PannerNode(context, 42) threw TypeError: "Not an object of type PannerOptions".
Pass	< [invalid constructor] All assertions passed. (total 3 assertions)
Pass	> [default constructor] 
Pass	  node0 = new PannerNode(context) did not throw an exception.
Pass	  node0 instanceof PannerNode 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.panningModel is equal to equalpower.
Pass	  node0.positionX.value is equal to 0.
Pass	  node0.positionY.value is equal to 0.
Pass	  node0.positionZ.value is equal to 0.
Pass	  node0.orientationX.value is equal to 1.
Pass	  node0.orientationY.value is equal to 0.
Pass	  node0.orientationZ.value is equal to 0.
Pass	  node0.distanceModel is equal to inverse.
Pass	  node0.refDistance is equal to 1.
Pass	  node0.maxDistance is equal to 10000.
Pass	  node0.rolloffFactor is equal to 1.
Pass	  node0.coneInnerAngle is equal to 360.
Pass	  node0.coneOuterAngle is equal to 360.
Pass	  node0.coneOuterGain is equal to 0.
Pass	  context.listener.positionX.value is equal to 0.
Pass	  context.listener.positionY.value is equal to 0.
Pass	  context.listener.positionZ.value is equal to 0.
Pass	  context.listener.forwardX.value is equal to 0.
Pass	  context.listener.forwardY.value is equal to 0.
Pass	  context.listener.forwardZ.value is equal to -1.
Pass	  context.listener.upX.value is equal to 0.
Pass	  context.listener.upY.value is equal to 1.
Pass	  context.listener.upZ.value is equal to 0.
Pass	< [default constructor] All assertions passed. (total 30 assertions)
Pass	> [test AudioNodeOptions] 
Pass	  node1 = new PannerNode(c, {"channelCount":1}) did not throw an exception.
Pass	  node1.channelCount is equal to 1.
Pass	  node2 = new PannerNode(c, {"channelCount":2}) did not throw an exception.
Pass	  node2.channelCount is equal to 2.
Pass	  new PannerNode(c, {"channelCount":0}) threw NotSupportedError: "Invalid channel count".
Pass	  node.channelCount = 0 threw NotSupportedError: "Invalid channel count".
Pass	  node.channelCount after setting to 0 is equal to 2.
Pass	  new PannerNode(c, {"channelCount":3}) threw NotSupportedError: "PannerNode does not support channel count greater than 2".
Pass	  node.channelCount = 3 threw NotSupportedError: "PannerNode does not support channel count greater than 2".
Pass	  node.channelCount after setting to 3 is equal to 2.
Pass	  new PannerNode(c, {"channelCount":99}) threw NotSupportedError: "PannerNode does not support channel count greater than 2".
Pass	  node.channelCount = 99 threw NotSupportedError: "PannerNode does not support channel count greater than 2".
Pass	  node.channelCount after setting to 99 is equal to 2.
Pass	  node3 = new PannerNode(c, {"channelCountMode":"clamped-max"}) did not throw an exception.
Pass	  node3.channelCountMode is equal to clamped-max.
Pass	  node4 = new PannerNode(c, {"channelCountMode":"explicit"}) did not throw an exception.
Pass	  node4.channelCountMode is equal to explicit.
Pass	  new PannerNode(c, {"channelCountMode":"max"}) threw NotSupportedError: "PannerNode does not support 'max' as channelCountMode.".
Pass	  node.channelCountMode = max threw NotSupportedError: "PannerNode does not support 'max' as channelCountMode.".
Pass	  node.channelCountMode after setting to max is equal to clamped-max.
Pass	  new PannerNode(c, " + JSON.stringify(options) + ") threw TypeError: "Invalid value 'foobar' for enumeration type 'ChannelCountMode'".
Pass	  node.channelCountMode = foobar did not throw an exception.
Pass	  node.channelCountMode after setting to foobar is equal to clamped-max.
Pass	  node5 = new PannerNode(c, {"channelInterpretation":"speakers"}) did not throw an exception.
Pass	  node5.channelInterpretation is equal to speakers.
Pass	  node6 = new PannerNode(c, {"channelInterpretation":"discrete"}) did not throw an exception.
Pass	  node6.channelInterpretation is equal to discrete.
Pass	  new PannerNode(c, {"channelInterpretation":"foobar"}) threw TypeError: "Invalid value 'foobar' for enumeration type 'ChannelInterpretation'".
Pass	  new PannerNode(c, {"maxDistance":-1}) threw RangeError: "maxDistance cannot be negative".
Pass	  node.maxDistance = -1 threw RangeError: "maxDistance cannot be negative".
Pass	  node.maxDistance after setting to -1 is equal to 10000.
Pass	  node7 = new PannerNode(c, {"maxDistance":100}) did not throw an exception.
Pass	  node7.maxDistance is equal to 100.
Pass	  new PannerNode(c, {"rolloffFactor":-1}) threw RangeError: "rolloffFactor cannot be negative".
Pass	  node.rolloffFactor = -1 threw RangeError: "rolloffFactor cannot be negative".
Pass	  node.rolloffFactor after setting to -1 is equal to 1.
Pass	  node8 = new PannerNode(c, {"rolloffFactor":0}) did not throw an exception.
Pass	  node8.rolloffFactor is equal to 0.
Pass	  node8 = new PannerNode(c, {"rolloffFactor":0.5}) did not throw an exception.
Pass	  node8.rolloffFactor is equal to 0.5.
Pass	  node8 = new PannerNode(c, {"rolloffFactor":100}) did not throw an exception.
Pass	  node8.rolloffFactor is equal to 100.
Pass	  new PannerNode(c, {"coneOuterGain":-1}) threw InvalidStateError: "coneOuterGain must be in the range of [0, 1]".
Pass	  node.coneOuterGain = -1 threw InvalidStateError: "coneOuterGain must be in the range of [0, 1]".
Pass	  node.coneOuterGain after setting to -1 is equal to 0.
Pass	  new PannerNode(c, {"coneOuterGain":1.1}) threw InvalidStateError: "coneOuterGain must be in the range of [0, 1]".
Pass	  node.coneOuterGain = 1.1 threw InvalidStateError: "coneOuterGain must be in the range of [0, 1]".
Pass	  node.coneOuterGain after setting to 1.1 is equal to 0.
Pass	  node9 = new PannerNode(c, {"coneOuterGain":0}) did not throw an exception.
Pass	  node9.coneOuterGain is equal to 0.
Pass	  node9 = new PannerNode(c, {"coneOuterGain":0.5}) did not throw an exception.
Pass	  node9.coneOuterGain is equal to 0.5.
Pass	  node9 = new PannerNode(c, {"coneOuterGain":1}) did not throw an exception.
Pass	  node9.coneOuterGain is equal to 1.
Pass	< [test AudioNodeOptions] All assertions passed. (total 54 assertions)
Pass	> [constructor with options] 
Pass	  node = new PannerNode(c, {"panningModel":"HRTF","positionX":1.4142135623730951,"positionY":2.8284271247461903,"positionZ":4.242640687119286,"orientationX":-1.4142135623730951,"orientationY":-2.8284271247461903,"orientationZ":-4.242640687119286,"distanceModel":"linear","refDistance":3.141592653589793,"maxDistance":6.283185307179586,"rolloffFactor":9.42477796076938,"coneInnerAngle":12.566370614359172,"coneOuterAngle":15.707963267948966,"coneOuterGain":0.3141592653589793}) did not throw an exception.
Pass	  node instanceof PannerNode is equal to true.
Pass	  node.panningModel is equal to HRTF.
Pass	  node.positionX.value is equal to 1.4142135381698608.
Pass	  node.positionY.value is equal to 2.8284270763397217.
Pass	  node.positionZ.value is equal to 4.242640495300293.
Pass	  node.orientationX.value is equal to -1.4142135381698608.
Pass	  node.orientationY.value is equal to -2.8284270763397217.
Pass	  node.orientationZ.value is equal to -4.242640495300293.
Pass	  node.distanceModel is equal to linear.
Pass	  node.refDistance is equal to 3.141592653589793.
Pass	  node.maxDistance is equal to 6.283185307179586.
Pass	  node.rolloffFactor is equal to 9.42477796076938.
Pass	  node.coneInnerAngle is equal to 12.566370614359172.
Pass	  node.coneOuterAngle is equal to 15.707963267948966.
Pass	  node.coneOuterGain is equal to 0.3141592653589793.
Pass	  node.channelCount is equal to 2.
Pass	  node.channelCountMode is equal to clamped-max.
Pass	  node.channelInterpretation is equal to speakers.
Pass	< [constructor with options] All assertions passed. (total 19 assertions)
Pass	# AUDIT TASK RUNNER FINISHED: 5 tasks ran successfully.