blob: 25040b97629148f12e173818ec39eb03cd364317 [file] [log] [blame]
<!doctype html>
<html>
<head>
<title>Test Constructor: Gain</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../resources/audio-testing.js"></script>
<script src="audionodeoptions.js"></script>
</head>
<body>
<script>
var context;
var audit = Audit.createTaskRunner();
audit.defineTask("initialize", function (taskDone) {
Should("context = new OfflineAudioContext(...)", function () {
context = new OfflineAudioContext(1, 1, 48000);
}).notThrow();
taskDone();
});
audit.defineTask("invalid constructor", function (taskDone) {
var node;
var success = true;
success = Should("new GainNode()", function () {
node = new GainNode();
}).throw("TypeError");
success = Should("new GainNode(1)", function () {
node = new GainNode(1);
}).throw("TypeError") && success;
success = Should("new GainNode(context, 42)", function () {
node = new GainNode(context, 42);
}).throw("TypeError") && success;
Should("Invalid constructors", success)
.summarize(
"correctly threw errors",
"did not throw errors in all cases");
taskDone();
});
audit.defineTask("default constructor", function (taskDone) {
var node;
var success = true;
success = Should("node = new GainNode(context)", function () {
node = new GainNode(context);
}).notThrow();
success = Should("node instanceof GainNode",
node instanceof GainNode)
.beEqualTo(true) && success;
success = Should("node.gain.value", node.gain.value)
.beEqualTo(1) && success;
success = Should("node.channelCount", node.channelCount)
.beEqualTo(2) && success;
success = Should("node.channelCountMode", node.channelCountMode)
.beEqualTo("max") && success;
success = Should("node.channelInterpretation", node.channelInterpretation)
.beEqualTo("speakers") && success;
Should("new GainNode(context)", success)
.summarize(
"constructed node with correct attributes",
"did not construct correct node correctly")
taskDone();
});
audit.defineTask("test AudioNodeOptions", function (taskDone) {
testAudioNodeOptions(context, "GainNode");
taskDone();
});
audit.defineTask("constructor with options", function (taskDone) {
var node;
var success = true;
var options = {
gain: -2,
};
success = Should("node = new GainNode(c, " + JSON.stringify(options) + ")", function () {
node = new GainNode(context, options);
}).notThrow();
success = Should("node instanceof GainNode",
node instanceof GainNode)
.beEqualTo(true) && success;
success = Should("node.gain.value", node.gain.value)
.beEqualTo(options.gain) && success;
success = Should("node.channelCount", node.channelCount)
.beEqualTo(2) && success;
success = Should("node.channelCountMode", node.channelCountMode)
.beEqualTo("max") && success;
success = Should("node.channelInterpretation", node.channelInterpretation)
.beEqualTo("speakers") && success;
Should("new GainNode() with options", success)
.summarize(
"constructed with correct attributes",
"was not constructed correctly");
taskDone();
});
audit.runTasks();
</script>
</body>
</html>