diff options
Diffstat (limited to 'devtools/client/jsonview/test/browser_jsonview_copy_json.js')
-rw-r--r-- | devtools/client/jsonview/test/browser_jsonview_copy_json.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/devtools/client/jsonview/test/browser_jsonview_copy_json.js b/devtools/client/jsonview/test/browser_jsonview_copy_json.js new file mode 100644 index 000000000..b4c08b843 --- /dev/null +++ b/devtools/client/jsonview/test/browser_jsonview_copy_json.js @@ -0,0 +1,31 @@ +/* -*- 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"; + +add_task(function* () { + info("Test copy JSON started"); + + yield addJsonViewTab(TEST_JSON_URL); + + let countBefore = yield getElementCount(".jsonPanelBox .treeTable .treeRow"); + ok(countBefore == 1, "There must be one row"); + + let text = yield getElementText(".jsonPanelBox .treeTable .treeRow"); + is(text, "name\"value\"", "There must be proper JSON displayed"); + + // Verify JSON copy into the clipboard. + let value = "{\"name\": \"value\"}\n"; + let browser = gBrowser.selectedBrowser; + let selector = ".jsonPanelBox .toolbar button.copy"; + yield waitForClipboardPromise(function setup() { + BrowserTestUtils.synthesizeMouseAtCenter(selector, {}, browser); + }, function validator(result) { + let str = normalizeNewLines(result); + return str == value; + }); +}); |