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 --- .../test/browser_perf-tree-abstract-03.js | 151 +++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 devtools/client/performance/test/browser_perf-tree-abstract-03.js (limited to 'devtools/client/performance/test/browser_perf-tree-abstract-03.js') diff --git a/devtools/client/performance/test/browser_perf-tree-abstract-03.js b/devtools/client/performance/test/browser_perf-tree-abstract-03.js new file mode 100644 index 000000000..4e427fcd3 --- /dev/null +++ b/devtools/client/performance/test/browser_perf-tree-abstract-03.js @@ -0,0 +1,151 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ +"use strict"; + +/** + * Tests if the abstract tree base class for the profiler's tree view + * is keyboard accessible. + */ + +const { appendAndWaitForPaint } = require("devtools/client/performance/test/helpers/dom-utils"); +const { synthesizeCustomTreeClass } = require("devtools/client/performance/test/helpers/synth-utils"); + +add_task(function* () { + let { MyCustomTreeItem, myDataSrc } = synthesizeCustomTreeClass(); + + let container = document.createElement("vbox"); + yield appendAndWaitForPaint(gBrowser.selectedBrowser.parentNode, container); + + // Populate the tree by pressing RIGHT... + + let treeRoot = new MyCustomTreeItem(myDataSrc, { parent: null }); + treeRoot.attachTo(container); + treeRoot.focus(); + + key("VK_RIGHT"); + ok(treeRoot.expanded, + "The root node is now expanded."); + is(document.commandDispatcher.focusedElement, treeRoot.target, + "The root node is still focused."); + + let fooItem = treeRoot.getChild(0); + let barItem = treeRoot.getChild(1); + + key("VK_RIGHT"); + ok(!fooItem.expanded, + "The 'foo' node is not expanded yet."); + is(document.commandDispatcher.focusedElement, fooItem.target, + "The 'foo' node is now focused."); + + key("VK_RIGHT"); + ok(fooItem.expanded, + "The 'foo' node is now expanded."); + is(document.commandDispatcher.focusedElement, fooItem.target, + "The 'foo' node is still focused."); + + key("VK_RIGHT"); + ok(!barItem.expanded, + "The 'bar' node is not expanded yet."); + is(document.commandDispatcher.focusedElement, barItem.target, + "The 'bar' node is now focused."); + + key("VK_RIGHT"); + ok(barItem.expanded, + "The 'bar' node is now expanded."); + is(document.commandDispatcher.focusedElement, barItem.target, + "The 'bar' node is still focused."); + + let bazItem = barItem.getChild(0); + + key("VK_RIGHT"); + ok(!bazItem.expanded, + "The 'baz' node is not expanded yet."); + is(document.commandDispatcher.focusedElement, bazItem.target, + "The 'baz' node is now focused."); + + key("VK_RIGHT"); + ok(bazItem.expanded, + "The 'baz' node is now expanded."); + is(document.commandDispatcher.focusedElement, bazItem.target, + "The 'baz' node is still focused."); + + // Test RIGHT on a leaf node. + + key("VK_RIGHT"); + is(document.commandDispatcher.focusedElement, bazItem.target, + "The 'baz' node is still focused."); + + // Test DOWN on a leaf node. + + key("VK_DOWN"); + is(document.commandDispatcher.focusedElement, bazItem.target, + "The 'baz' node is now refocused."); + + // Test UP. + + key("VK_UP"); + is(document.commandDispatcher.focusedElement, barItem.target, + "The 'bar' node is now refocused."); + + key("VK_UP"); + is(document.commandDispatcher.focusedElement, fooItem.target, + "The 'foo' node is now refocused."); + + key("VK_UP"); + is(document.commandDispatcher.focusedElement, treeRoot.target, + "The root node is now refocused."); + + // Test DOWN. + + key("VK_DOWN"); + is(document.commandDispatcher.focusedElement, fooItem.target, + "The 'foo' node is now refocused."); + + key("VK_DOWN"); + is(document.commandDispatcher.focusedElement, barItem.target, + "The 'bar' node is now refocused."); + + key("VK_DOWN"); + is(document.commandDispatcher.focusedElement, bazItem.target, + "The 'baz' node is now refocused."); + + // Test LEFT. + + key("VK_LEFT"); + ok(barItem.expanded, + "The 'bar' node is still expanded."); + is(document.commandDispatcher.focusedElement, barItem.target, + "The 'bar' node is now refocused."); + + key("VK_LEFT"); + ok(!barItem.expanded, + "The 'bar' node is not expanded anymore."); + is(document.commandDispatcher.focusedElement, barItem.target, + "The 'bar' node is still focused."); + + key("VK_LEFT"); + ok(treeRoot.expanded, + "The root node is still expanded."); + is(document.commandDispatcher.focusedElement, treeRoot.target, + "The root node is now refocused."); + + key("VK_LEFT"); + ok(!treeRoot.expanded, + "The root node is not expanded anymore."); + is(document.commandDispatcher.focusedElement, treeRoot.target, + "The root node is still focused."); + + // Test LEFT on the root node. + + key("VK_LEFT"); + is(document.commandDispatcher.focusedElement, treeRoot.target, + "The root node is still focused."); + + // Test UP on the root node. + + key("VK_UP"); + is(document.commandDispatcher.focusedElement, treeRoot.target, + "The root node is still focused."); + + container.remove(); +}); -- cgit v1.2.3