browser_dbg_break-on-dom-08.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
  2. /* Any copyright is dedicated to the Public Domain.
  3. * http://creativecommons.org/publicdomain/zero/1.0/ */
  4. /**
  5. * Tests that breaking on an event selects the variables view tab.
  6. */
  7. const TAB_URL = EXAMPLE_URL + "doc_event-listeners-02.html";
  8. function test() {
  9. let options = {
  10. source: TAB_URL,
  11. line: 1
  12. };
  13. initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
  14. let gTab = aTab;
  15. let gDebugger = aPanel.panelWin;
  16. let gView = gDebugger.DebuggerView;
  17. let gEvents = gView.EventListeners;
  18. let gController = gDebugger.DebuggerController;
  19. let constants = gDebugger.require("./content/constants");
  20. Task.spawn(function* () {
  21. yield callInTab(gTab, "addBodyClickEventListener");
  22. let fetched = waitForDispatch(aPanel, constants.FETCH_EVENT_LISTENERS);
  23. gView.toggleInstrumentsPane({ visible: true, animated: false }, 1);
  24. yield fetched;
  25. yield ensureThreadClientState(aPanel, "attached");
  26. is(gView.instrumentsPaneHidden, false,
  27. "The instruments pane should be visible.");
  28. is(gView.instrumentsPaneTab, "events-tab",
  29. "The events tab should be selected.");
  30. let updated = waitForDispatch(aPanel, constants.UPDATE_EVENT_BREAKPOINTS);
  31. EventUtils.sendMouseEvent({ type: "click" }, getItemCheckboxNode(1), gDebugger);
  32. yield updated;
  33. yield ensureThreadClientState(aPanel, "attached");
  34. let paused = waitForCaretAndScopes(aPanel, 48);
  35. generateMouseClickInTab(gTab, "content.document.body");
  36. yield paused;
  37. yield ensureThreadClientState(aPanel, "paused");
  38. is(gView.instrumentsPaneHidden, false,
  39. "The instruments pane should be visible.");
  40. is(gView.instrumentsPaneTab, "variables-tab",
  41. "The variables tab should be selected.");
  42. yield resumeDebuggerThenCloseAndFinish(aPanel);
  43. });
  44. function getItemCheckboxNode(index) {
  45. return gEvents.items[index].target.parentNode
  46. .querySelector(".side-menu-widget-item-checkbox");
  47. }
  48. });
  49. }