mirror of
https://github.com/classilla/tenfourfox.git
synced 2025-02-19 13:31:00 +00:00
53 lines
1.6 KiB
JavaScript
53 lines
1.6 KiB
JavaScript
|
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
||
|
/* vim: set ts=2 et sw=2 tw=80: */
|
||
|
/* Any copyright is dedicated to the Public Domain.
|
||
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
||
|
|
||
|
"use strict";
|
||
|
|
||
|
const TEST_JSON_URL = URL_ROOT + "simple_json.json";
|
||
|
|
||
|
let jsonText = "{\"name\": \"value\"}\n";
|
||
|
let prettyJson = "{\n \"name\": \"value\"\n}";
|
||
|
|
||
|
add_task(function* () {
|
||
|
info("Test copy raw data started");
|
||
|
|
||
|
let tab = yield addJsonViewTab(TEST_JSON_URL);
|
||
|
|
||
|
// Select the RawData tab
|
||
|
yield selectJsonViewContentTab("rawdata");
|
||
|
|
||
|
// Check displayed JSON
|
||
|
let text = yield getElementText(".textPanelBox .data");
|
||
|
is(text, jsonText, "Proper JSON must be displayed in DOM");
|
||
|
|
||
|
let browser = gBrowser.selectedBrowser
|
||
|
|
||
|
// Verify JSON copy into the clipboard.
|
||
|
yield waitForClipboardPromise(function setup() {
|
||
|
BrowserTestUtils.synthesizeMouseAtCenter(
|
||
|
".textPanelBox .toolbar button.copy",
|
||
|
{}, browser);
|
||
|
}, jsonText);
|
||
|
|
||
|
// Click 'Pretty Print' button
|
||
|
yield BrowserTestUtils.synthesizeMouseAtCenter(
|
||
|
".textPanelBox .toolbar button.prettyprint",
|
||
|
{}, browser);
|
||
|
|
||
|
let prettyText = yield getElementText(".textPanelBox .data");
|
||
|
prettyText = normalizeNewLines(prettyText);
|
||
|
ok(prettyText.startsWith(prettyJson), "Pretty printed JSON must be displayed");
|
||
|
|
||
|
// Verify JSON copy into the clipboard.
|
||
|
yield waitForClipboardPromise(function setup() {
|
||
|
BrowserTestUtils.synthesizeMouseAtCenter(
|
||
|
".textPanelBox .toolbar button.copy",
|
||
|
{}, browser);
|
||
|
}, function validator(value) {
|
||
|
let str = normalizeNewLines(value);
|
||
|
return str == prettyJson;
|
||
|
});
|
||
|
});
|