summaryrefslogtreecommitdiffstats
path: root/devtools/client/inspector/test/browser_inspector_pane-toggle-03.js
blob: 02fffd9950c932b6f3a126b16de958555e144ba3 (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
/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";

// Test that the toggle button can collapse and expand the inspector side/bottom
// panel, and that the appropriate attributes are updated in the process.

add_task(function* () {
  let {inspector} = yield openInspectorForURL("about:blank");

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

  ok(!button.classList.contains("pane-collapsed"), "The button 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(button.classList.contains("pane-collapsed"), "The button is in collapsed state");
  ok(panel.classList.contains("pane-collapsed"), "The panel is in collapsed state");

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

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

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