diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /devtools/client/jsonview/test/browser_jsonview_copy_rawdata.js | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'devtools/client/jsonview/test/browser_jsonview_copy_rawdata.js')
-rw-r--r-- | devtools/client/jsonview/test/browser_jsonview_copy_rawdata.js | 53 |
1 files changed, 53 insertions, 0 deletions
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; + }); +}); |