summaryrefslogtreecommitdiffstats
path: root/devtools/client/webaudioeditor/test/browser_wa_properties-view-media-nodes.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_properties-view-media-nodes.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_properties-view-media-nodes.js')
-rw-r--r--devtools/client/webaudioeditor/test/browser_wa_properties-view-media-nodes.js76
1 files changed, 76 insertions, 0 deletions
diff --git a/devtools/client/webaudioeditor/test/browser_wa_properties-view-media-nodes.js b/devtools/client/webaudioeditor/test/browser_wa_properties-view-media-nodes.js
new file mode 100644
index 000000000..c1a916a1f
--- /dev/null
+++ b/devtools/client/webaudioeditor/test/browser_wa_properties-view-media-nodes.js
@@ -0,0 +1,76 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+/**
+ * Tests that params view correctly displays all properties for nodes
+ * correctly, with default values and correct types.
+ */
+
+var MEDIA_PERMISSION = "media.navigator.permission.disabled";
+
+function waitForDeviceClosed() {
+ info("Checking that getUserMedia streams are no longer in use.");
+
+ let temp = {};
+ Cu.import("resource:///modules/webrtcUI.jsm", temp);
+ let webrtcUI = temp.webrtcUI;
+
+ if (!webrtcUI.showGlobalIndicator)
+ return Promise.resolve();
+
+ let deferred = Promise.defer();
+
+ const message = "webrtc:UpdateGlobalIndicators";
+ let ppmm = Cc["@mozilla.org/parentprocessmessagemanager;1"]
+ .getService(Ci.nsIMessageBroadcaster);
+ ppmm.addMessageListener(message, function listener(aMessage) {
+ info("Received " + message + " message");
+ if (!aMessage.data.showGlobalIndicator) {
+ ppmm.removeMessageListener(message, listener);
+ deferred.resolve();
+ }
+ });
+
+ return deferred.promise;
+}
+
+add_task(function* () {
+ let { target, panel } = yield initWebAudioEditor(MEDIA_NODES_URL);
+ let { panelWin } = panel;
+ let { gFront, $, $$, EVENTS, PropertiesView } = panelWin;
+ let gVars = PropertiesView._propsView;
+
+ // Auto enable getUserMedia
+ let mediaPermissionPref = Services.prefs.getBoolPref(MEDIA_PERMISSION);
+ Services.prefs.setBoolPref(MEDIA_PERMISSION, true);
+
+ yield loadFrameScripts();
+
+ let events = Promise.all([
+ getN(gFront, "create-node", 4),
+ waitForGraphRendered(panelWin, 4, 0)
+ ]);
+ reload(target);
+ let [actors] = yield events;
+ let nodeIds = actors.map(actor => actor.actorID);
+
+ let types = [
+ "AudioDestinationNode", "MediaElementAudioSourceNode",
+ "MediaStreamAudioSourceNode", "MediaStreamAudioDestinationNode"
+ ];
+
+ let defaults = yield Promise.all(types.map(type => nodeDefaultValues(type)));
+
+ for (let i = 0; i < types.length; i++) {
+ click(panelWin, findGraphNode(panelWin, nodeIds[i]));
+ yield waitForInspectorRender(panelWin, EVENTS);
+ checkVariableView(gVars, 0, defaults[i], types[i]);
+ }
+
+ // Reset permissions on getUserMedia
+ Services.prefs.setBoolPref(MEDIA_PERMISSION, mediaPermissionPref);
+
+ yield teardown(target);
+
+ yield waitForDeviceClosed();
+});