1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /* -*- 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 + "simple_json.json";
- let jsonText = "{\"name\": \"value\"}\n";
- let prettyJson = "{\n \"name\": \"value\"\n}";
- add_task(function* () {
- info("Test copy raw data started");
- 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;
- });
- });
|