diff -r 000000000000 -r 6474c204b198 browser/devtools/debugger/test/browser_dbg_variables-view-edit-cancel.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/devtools/debugger/test/browser_dbg_variables-view-edit-cancel.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,53 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Make sure that canceling a name change correctly unhides the separator and + * value elements. + */ + +const TAB_URL = EXAMPLE_URL + "doc_watch-expressions.html"; + +function test() { + Task.spawn(function*() { + let [tab, debuggee, panel] = yield initDebugger(TAB_URL); + let win = panel.panelWin; + let vars = win.DebuggerView.Variables; + + win.DebuggerView.WatchExpressions.addExpression("this"); + + // Allow this generator function to yield first. + executeSoon(() => debuggee.ermahgerd()); + yield waitForDebuggerEvents(panel, win.EVENTS.FETCHED_WATCH_EXPRESSIONS); + + let exprScope = vars.getScopeAtIndex(0); + let {target} = exprScope.get("this"); + + let name = target.querySelector(".title > .name"); + let separator = target.querySelector(".separator"); + let value = target.querySelector(".value"); + + is(separator.hidden, false, + "The separator element should not be hidden."); + is(value.hidden, false, + "The value element should not be hidden."); + + for (let key of ["ESCAPE", "RETURN"]) { + EventUtils.sendMouseEvent({ type: "dblclick" }, name, win); + + is(separator.hidden, true, + "The separator element should be hidden."); + is(value.hidden, true, + "The value element should be hidden."); + + EventUtils.sendKey(key, win); + + is(separator.hidden, false, + "The separator element should not be hidden."); + is(value.hidden, false, + "The value element should not be hidden."); + } + + yield resumeDebuggerThenCloseAndFinish(panel); + }); +}