summaryrefslogtreecommitdiffstats
path: root/devtools/client/jsonview/test/browser_jsonview_copy_headers.js
blob: 6f72772fc67a97d6ba2050aaef4aa3467d4bb1c5 (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
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

const TEST_JSON_URL = URL_ROOT + "valid_json.json";

add_task(function* () {
  info("Test valid JSON started");

  yield addJsonViewTab(TEST_JSON_URL);

  // Select the RawData tab
  yield selectJsonViewContentTab("headers");

  // Check displayed headers
  let count = yield getElementCount(".headersPanelBox .netHeadersGroup");
  is(count, 2, "There must be two header groups");

  let text = yield getElementText(".headersPanelBox .netInfoHeadersTable");
  isnot(text, "", "Headers text must not be empty");

  let browser = gBrowser.selectedBrowser;

  // Verify JSON copy into the clipboard.
  yield waitForClipboardPromise(function setup() {
    BrowserTestUtils.synthesizeMouseAtCenter(
      ".headersPanelBox .toolbar button.copy",
      {}, browser);
  }, function validator(value) {
    return value.indexOf("application/json") > 0;
  });
});