From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- .../jsonview/test/browser_jsonview_copy_rawdata.js | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 devtools/client/jsonview/test/browser_jsonview_copy_rawdata.js (limited to 'devtools/client/jsonview/test/browser_jsonview_copy_rawdata.js') diff --git a/devtools/client/jsonview/test/browser_jsonview_copy_rawdata.js b/devtools/client/jsonview/test/browser_jsonview_copy_rawdata.js new file mode 100644 index 000000000..d2346ea42 --- /dev/null +++ b/devtools/client/jsonview/test/browser_jsonview_copy_rawdata.js @@ -0,0 +1,53 @@ +/* -*- 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"); + + 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; + }); +}); -- cgit v1.2.3