summaryrefslogtreecommitdiffstats
path: root/devtools/client/commandline/test/browser_cmd_media.js
blob: 559370add633d1620fa6a5c97398874471ba94cf (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
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */

// Test that screenshot command works properly
const TEST_URI = "http://example.com/browser/devtools/client/commandline/" +
                 "test/browser_cmd_media.html";
var tests = {
  testInput: function (options) {
    return helpers.audit(options, [
      {
        setup: "media emulate braille",
        check: {
          input:  "media emulate braille",
          markup: "VVVVVVVVVVVVVVVVVVVVV",
          status: "VALID",
          args: {
            type: { value: "braille"},
          }
        },
      },
      {
        setup: "media reset",
        check: {
          input:  "media reset",
          markup: "VVVVVVVVVVV",
          status: "VALID",
          args: {
          }
        },
      },
    ]);
  },

  testEmulateMedia: function (options) {
    return helpers.audit(options, [
      {
        setup: "media emulate braille",
        check: {
          args: {
            type: { value: "braille"}
          }
        },
        exec: {
          output: ""
        },
        post: Task.async(function* () {
          yield ContentTask.spawn(options.browser, {}, function* () {
            let color = content.getComputedStyle(content.document.body).backgroundColor;
            is(color, "rgb(255, 255, 0)", "media correctly emulated");
          });
        })
      }
    ]);
  },

  testEndMediaEmulation: function (options) {
    return helpers.audit(options, [
      {
        setup: function () {
          let mDV = options.browser.markupDocumentViewer;
          mDV.emulateMedium("embossed");
          return helpers.setInput(options, "media reset");
        },
        exec: {
          output: ""
        },
        post: Task.async(function* () {
          yield ContentTask.spawn(options.browser, {}, function* () {
            let color = content.getComputedStyle(content.document.body).backgroundColor;
            is(color, "rgb(255, 255, 255)", "media reset");
          });
        })
      }
    ]);
  }
};

function test() {
  return Task.spawn(function* () {
    let options = yield helpers.openTab(TEST_URI);
    yield helpers.openToolbar(options);

    yield helpers.runTests(options, tests);

    yield helpers.closeToolbar(options);
    yield helpers.closeTab(options);
  }).then(finish, helpers.handleError);
}