michael@0: /* Any copyright is dedicated to the Public Domain. michael@0: http://creativecommons.org/publicdomain/zero/1.0/ */ michael@0: michael@0: /** michael@0: * Make sure that canceling a name change correctly unhides the separator and michael@0: * value elements. michael@0: */ michael@0: michael@0: const TAB_URL = EXAMPLE_URL + "doc_watch-expressions.html"; michael@0: michael@0: function test() { michael@0: Task.spawn(function*() { michael@0: let [tab, debuggee, panel] = yield initDebugger(TAB_URL); michael@0: let win = panel.panelWin; michael@0: let vars = win.DebuggerView.Variables; michael@0: michael@0: win.DebuggerView.WatchExpressions.addExpression("this"); michael@0: michael@0: // Allow this generator function to yield first. michael@0: executeSoon(() => debuggee.ermahgerd()); michael@0: yield waitForDebuggerEvents(panel, win.EVENTS.FETCHED_WATCH_EXPRESSIONS); michael@0: michael@0: let exprScope = vars.getScopeAtIndex(0); michael@0: let {target} = exprScope.get("this"); michael@0: michael@0: let name = target.querySelector(".title > .name"); michael@0: let separator = target.querySelector(".separator"); michael@0: let value = target.querySelector(".value"); michael@0: michael@0: is(separator.hidden, false, michael@0: "The separator element should not be hidden."); michael@0: is(value.hidden, false, michael@0: "The value element should not be hidden."); michael@0: michael@0: for (let key of ["ESCAPE", "RETURN"]) { michael@0: EventUtils.sendMouseEvent({ type: "dblclick" }, name, win); michael@0: michael@0: is(separator.hidden, true, michael@0: "The separator element should be hidden."); michael@0: is(value.hidden, true, michael@0: "The value element should be hidden."); michael@0: michael@0: EventUtils.sendKey(key, win); michael@0: michael@0: is(separator.hidden, false, michael@0: "The separator element should not be hidden."); michael@0: is(value.hidden, false, michael@0: "The value element should not be hidden."); michael@0: } michael@0: michael@0: yield resumeDebuggerThenCloseAndFinish(panel); michael@0: }); michael@0: }