From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- .../test/browser_wa_properties-view-edit-01.js | 65 ++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 devtools/client/webaudioeditor/test/browser_wa_properties-view-edit-01.js (limited to 'devtools/client/webaudioeditor/test/browser_wa_properties-view-edit-01.js') diff --git a/devtools/client/webaudioeditor/test/browser_wa_properties-view-edit-01.js b/devtools/client/webaudioeditor/test/browser_wa_properties-view-edit-01.js new file mode 100644 index 000000000..ac7deca26 --- /dev/null +++ b/devtools/client/webaudioeditor/test/browser_wa_properties-view-edit-01.js @@ -0,0 +1,65 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Tests that properties are updated when modifying the VariablesView. + */ + +add_task(function* () { + let { target, panel } = yield initWebAudioEditor(SIMPLE_CONTEXT_URL); + let { panelWin } = panel; + let { gFront, $, $$, EVENTS, PropertiesView } = panelWin; + let gVars = PropertiesView._propsView; + + let started = once(gFront, "start-context"); + + 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); + + click(panelWin, findGraphNode(panelWin, nodeIds[1])); + // Wait for the node to be set as well as the inspector to come fully into the view + yield Promise.all([ + waitForInspectorRender(panelWin, EVENTS), + once(panelWin, EVENTS.UI_INSPECTOR_TOGGLED) + ]); + + let setAndCheck = setAndCheckVariable(panelWin, gVars); + + checkVariableView(gVars, 0, { + "type": "sine", + "frequency": 440, + "detune": 0 + }, "default loaded string"); + + click(panelWin, findGraphNode(panelWin, nodeIds[2])); + yield waitForInspectorRender(panelWin, EVENTS), + checkVariableView(gVars, 0, { + "gain": 0 + }, "default loaded number"); + + click(panelWin, findGraphNode(panelWin, nodeIds[1])); + yield waitForInspectorRender(panelWin, EVENTS), + yield setAndCheck(0, "type", "square", "square", "sets string as string"); + + click(panelWin, findGraphNode(panelWin, nodeIds[2])); + yield waitForInspectorRender(panelWin, EVENTS), + yield setAndCheck(0, "gain", "0.005", 0.005, "sets number as number"); + yield setAndCheck(0, "gain", "0.1", 0.1, "sets float as float"); + yield setAndCheck(0, "gain", ".2", 0.2, "sets float without leading zero as float"); + + yield teardown(target); +}); + +function setAndCheckVariable(panelWin, gVars) { + return Task.async(function* (varNum, prop, value, expected, desc) { + yield modifyVariableView(panelWin, gVars, varNum, prop, value); + var props = {}; + props[prop] = expected; + checkVariableView(gVars, varNum, props, desc); + }); +} -- cgit v1.2.3