summaryrefslogtreecommitdiffstats
path: root/devtools/client/webaudioeditor/test/browser_wa_inspector-bypass-01.js
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /devtools/client/webaudioeditor/test/browser_wa_inspector-bypass-01.js
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'devtools/client/webaudioeditor/test/browser_wa_inspector-bypass-01.js')
-rw-r--r--devtools/client/webaudioeditor/test/browser_wa_inspector-bypass-01.js61
1 files changed, 61 insertions, 0 deletions
diff --git a/devtools/client/webaudioeditor/test/browser_wa_inspector-bypass-01.js b/devtools/client/webaudioeditor/test/browser_wa_inspector-bypass-01.js
new file mode 100644
index 000000000..c9d3450e3
--- /dev/null
+++ b/devtools/client/webaudioeditor/test/browser_wa_inspector-bypass-01.js
@@ -0,0 +1,61 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+/**
+ * Tests that nodes are correctly bypassed when bypassing.
+ */
+
+add_task(function* () {
+ let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL);
+ let { panelWin } = panel;
+ let { gFront, $, $$, EVENTS, gAudioNodes } = panelWin;
+
+ let events = Promise.all([
+ get3(gFront, "create-node"),
+ waitForGraphRendered(panelWin, 3, 2)
+ ]);
+ reload(target);
+ let [actors] = yield events;
+ let nodeIds = actors.map(actor => actor.actorID);
+
+ // Wait for the node to be set as well as the inspector to come fully into the view
+ yield clickGraphNode(panelWin, findGraphNode(panelWin, nodeIds[1]), true);
+
+ let $bypass = $("toolbarbutton.bypass");
+
+ is((yield actors[1].isBypassed()), false, "AudioNodeActor is not bypassed by default.");
+ is($bypass.checked, true, "Button is 'on' for normal nodes");
+ is($bypass.disabled, false, "Bypass button is not disabled for normal nodes");
+
+ command($bypass);
+ yield once(gAudioNodes, "bypass");
+
+ is((yield actors[1].isBypassed()), true, "AudioNodeActor is bypassed.");
+ is($bypass.checked, false, "Button is 'off' when clicked");
+ is($bypass.disabled, false, "Bypass button is not disabled after click");
+ ok(findGraphNode(panelWin, nodeIds[1]).classList.contains("bypassed"),
+ "AudioNode has 'bypassed' class.");
+
+ command($bypass);
+ yield once(gAudioNodes, "bypass");
+
+ is((yield actors[1].isBypassed()), false, "AudioNodeActor is no longer bypassed.");
+ is($bypass.checked, true, "Button is back on when clicked");
+ is($bypass.disabled, false, "Bypass button is not disabled after click");
+ ok(!findGraphNode(panelWin, nodeIds[1]).classList.contains("bypassed"),
+ "AudioNode no longer has 'bypassed' class.");
+
+ yield clickGraphNode(panelWin, findGraphNode(panelWin, nodeIds[0]));
+
+ is((yield actors[0].isBypassed()), false, "Unbypassable AudioNodeActor is not bypassed.");
+ is($bypass.checked, false, "Button is 'off' for unbypassable nodes");
+ is($bypass.disabled, true, "Bypass button is disabled for unbypassable nodes");
+
+ command($bypass);
+ is((yield actors[0].isBypassed()), false,
+ "Clicking button on unbypassable node does not change bypass state on actor.");
+ is($bypass.checked, false, "Button is still 'off' for unbypassable nodes");
+ is($bypass.disabled, true, "Bypass button is still disabled for unbypassable nodes");
+
+ yield teardown(target);
+});