browser/devtools/debugger/test/browser_dbg_optimized-out-vars.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /* Any copyright is dedicated to the Public Domain.
     2    http://creativecommons.org/publicdomain/zero/1.0/ */
     4 // Test that optimized out variables aren't present in the variables view.
     6 function test() {
     7   Task.spawn(function* () {
     8     const TAB_URL = EXAMPLE_URL + "doc_closure-optimized-out.html";
     9     let panel, debuggee, gDebugger, sources;
    11     let [, debuggee, panel] = yield initDebugger(TAB_URL);
    12     gDebugger = panel.panelWin;
    13     sources = gDebugger.DebuggerView.Sources;
    15     yield waitForSourceShown(panel, ".html");
    16     yield panel.addBreakpoint({ url: sources.values[0], line: 18 });
    17     yield ensureThreadClientState(panel, "resumed");
    19     // Spin the event loop before causing the debuggee to pause, to allow
    20     // this function to return first.
    21     executeSoon(() => {
    22       EventUtils.sendMouseEvent({ type: "click" },
    23         debuggee.document.querySelector("button"),
    24         debuggee);
    25     });
    27     yield waitForDebuggerEvents(panel, gDebugger.EVENTS.FETCHED_SCOPES);
    28     let gVars = gDebugger.DebuggerView.Variables;
    29     let outerScope = gVars.getScopeAtIndex(1);
    30     outerScope.expand();
    32     let upvarVar = outerScope.get("upvar");
    33     ok(!upvarVar, "upvar was optimized out.");
    34     if (upvarVar) {
    35       ok(false, "upvar = " + upvarVar.target.querySelector(".value").getAttribute("value"));
    36     }
    38     let argVar = outerScope.get("arg");
    39     is(argVar.target.querySelector(".name").getAttribute("value"), "arg",
    40       "Should have the right property name for |arg|.");
    41     is(argVar.target.querySelector(".value").getAttribute("value"), 42,
    42       "Should have the right property value for |arg|.");
    44     yield resumeDebuggerThenCloseAndFinish(panel);
    45   }).then(null, aError => {
    46     ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
    47   });
    48 }

mercurial