зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1264557 - Add test cases for expand/collapse buttons. r=honza
--HG-- extra : histedit_source : 0c3c6197f3fbce7ff7c3f3f7d90131775eceac4e
This commit is contained in:
Родитель
2f49407684
Коммит
5c5a3822fe
|
@ -58,3 +58,4 @@ support-files =
|
||||||
[browser_jsonview_theme.js]
|
[browser_jsonview_theme.js]
|
||||||
[browser_jsonview_url_linkification.js]
|
[browser_jsonview_url_linkification.js]
|
||||||
[browser_jsonview_valid_json.js]
|
[browser_jsonview_valid_json.js]
|
||||||
|
[browser_jsonview_expand_collapse.js]
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
/* -*- 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 + "array_json.json";
|
||||||
|
const EXPAND_THRESHOLD = 100 * 1024;
|
||||||
|
|
||||||
|
add_task(async function() {
|
||||||
|
info("Test expand/collapse JSON started");
|
||||||
|
|
||||||
|
await addJsonViewTab(TEST_JSON_URL);
|
||||||
|
let browser = gBrowser.selectedBrowser, selector, countAfter, countBefore, json;
|
||||||
|
|
||||||
|
/* Initial sanity check */
|
||||||
|
countBefore = await getElementCount(".treeRow");
|
||||||
|
ok(countBefore == 6, "There must be six rows");
|
||||||
|
|
||||||
|
/* Test the "Collapse All" button */
|
||||||
|
selector = ".jsonPanelBox .toolbar button.collapse";
|
||||||
|
await BrowserTestUtils.synthesizeMouseAtCenter(selector, {}, browser);
|
||||||
|
countAfter = await getElementCount(".treeRow");
|
||||||
|
ok(countAfter == 3, "There must be three rows");
|
||||||
|
|
||||||
|
/* Test the "Expand All" button */
|
||||||
|
selector = ".jsonPanelBox .toolbar button.expand";
|
||||||
|
await BrowserTestUtils.synthesizeMouseAtCenter(selector, {}, browser);
|
||||||
|
countAfter = await getElementCount(".treeRow");
|
||||||
|
ok(countAfter == 6, "There must be six expanded rows");
|
||||||
|
|
||||||
|
/* Test big file handling */
|
||||||
|
json = JSON.stringify({data: Array(1e5).fill().map(x => "hoot"), status: "ok"});
|
||||||
|
ok(json.length > EXPAND_THRESHOLD, "The generated JSON must be larger than 100kB");
|
||||||
|
await addJsonViewTab("data:application/json," + json);
|
||||||
|
ok(document.querySelector(selector) == null, "The Expand All button must be gone");
|
||||||
|
|
||||||
|
});
|
Загрузка…
Ссылка в новой задаче