summaryrefslogtreecommitdiffstats
path: root/devtools/client/responsivedesign/test/browser_responsive_cmd.js
blob: 8c8e798d055837c9ff4c8ce07e67f2be8c5243c8 (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

//
// Whitelisting this test.
// As part of bug 1077403, the leaking uncaught rejection should be fixed.
//
thisTestLeaksUncaughtRejectionsAndShouldBeFixed("destroy");

function test() {
  let manager = ResponsiveUIManager;
  let done;

  function isOpen() {
    return gBrowser.getBrowserContainer(gBrowser.selectedBrowser)
                   .hasAttribute("responsivemode");
  }

  helpers.addTabWithToolbar("data:text/html;charset=utf-8,hi", (options) => {
    return helpers.audit(options, [
      {
        setup() {
          done = once(manager, "on");
          return helpers.setInput(options, "resize toggle");
        },
        check: {
          input:  "resize toggle",
          hints:               "",
          markup: "VVVVVVVVVVVVV",
          status: "VALID"
        },
        exec: {
          output: ""
        },
        post: Task.async(function* () {
          yield done;
          ok(isOpen(), "responsive mode is open");
        }),
      },
      {
        setup() {
          done = once(manager, "off");
          return helpers.setInput(options, "resize toggle");
        },
        check: {
          input:  "resize toggle",
          hints:               "",
          markup: "VVVVVVVVVVVVV",
          status: "VALID"
        },
        exec: {
          output: ""
        },
        post: Task.async(function* () {
          yield done;
          ok(!isOpen(), "responsive mode is closed");
        }),
      },
      {
        setup() {
          done = once(manager, "on");
          return helpers.setInput(options, "resize on");
        },
        check: {
          input:  "resize on",
          hints:           "",
          markup: "VVVVVVVVV",
          status: "VALID"
        },
        exec: {
          output: ""
        },
        post: Task.async(function* () {
          yield done;
          ok(isOpen(), "responsive mode is open");
        }),
      },
      {
        setup() {
          done = once(manager, "off");
          return helpers.setInput(options, "resize off");
        },
        check: {
          input:  "resize off",
          hints:            "",
          markup: "VVVVVVVVVV",
          status: "VALID"
        },
        exec: {
          output: ""
        },
        post: Task.async(function* () {
          yield done;
          ok(!isOpen(), "responsive mode is closed");
        }),
      },
      {
        setup() {
          done = once(manager, "on");
          return helpers.setInput(options, "resize to 400 400");
        },
        check: {
          input:  "resize to 400 400",
          hints:                   "",
          markup: "VVVVVVVVVVVVVVVVV",
          status: "VALID",
          args: {
            width: { value: 400 },
            height: { value: 400 },
          }
        },
        exec: {
          output: ""
        },
        post: Task.async(function* () {
          yield done;
          ok(isOpen(), "responsive mode is open");
        }),
      },
      {
        setup() {
          done = once(manager, "off");
          return helpers.setInput(options, "resize off");
        },
        check: {
          input:  "resize off",
          hints:            "",
          markup: "VVVVVVVVVV",
          status: "VALID"
        },
        exec: {
          output: ""
        },
        post: Task.async(function* () {
          yield done;
          ok(!isOpen(), "responsive mode is closed");
        }),
      },
    ]);
  }).then(finish);
}