summaryrefslogtreecommitdiffstats
path: root/devtools/client/inspector/test/browser_inspector_pane-toggle-02.js
blob: 0d922de0896bc893e1903ccfa0cc24cd7d5e5ea7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";

// Test that the inspector toggled panel is visible by default, is hidden after
// clicking on the toggle button and remains expanded/collapsed when switching
// hosts.

add_task(function* () {
  info("Open the inspector in a side toolbox host");
  let {toolbox, inspector} = yield openInspectorForURL("about:blank", "side");

  let panel = inspector.panelDoc.querySelector("#inspector-splitter-box .controlled");

  let button = inspector.panelDoc.querySelector(".sidebar-toggle");
  ok(!panel.classList.contains("pane-collapsed"), "The panel is in expanded state");

  info("Listen to the end of the animation on the sidebar panel");
  let onTransitionEnd = once(panel, "transitionend");

  info("Click on the toggle button");
  EventUtils.synthesizeMouseAtCenter(button, {},
    inspector.panelDoc.defaultView);

  yield onTransitionEnd;
  ok(panel.classList.contains("pane-collapsed"), "The panel is in collapsed state");
  ok(!panel.hasAttribute("animated"),
    "The collapsed panel will not perform unwanted animations");

  info("Switch the host to bottom type");
  yield toolbox.switchHost("bottom");
  ok(panel.classList.contains("pane-collapsed"), "The panel is in collapsed state");

  info("Click on the toggle button to expand the panel again");

  onTransitionEnd = once(panel, "transitionend");
  EventUtils.synthesizeMouseAtCenter(button, {},
    inspector.panelDoc.defaultView);
  yield onTransitionEnd;

  ok(!panel.classList.contains("pane-collapsed"), "The panel is in expanded state");
});