зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1423007 - Part 1: Use Async Function in devtools/client/shared/test/browser_treeWidget_keyboard_interaction.js r=jryans
This commit is contained in:
Родитель
69535b850f
Коммит
fc1e16a541
|
@ -11,16 +11,16 @@ const TEST_URI = "data:text/html;charset=utf-8,<head>" +
|
|||
"ets.css'></head><body><div></div><span></span></body>";
|
||||
const {TreeWidget} = require("devtools/client/shared/widgets/TreeWidget");
|
||||
|
||||
add_task(function* () {
|
||||
yield addTab("about:blank");
|
||||
let [host, win, doc] = yield createHost("bottom", TEST_URI);
|
||||
add_task(async function () {
|
||||
await addTab("about:blank");
|
||||
let [host, win, doc] = await createHost("bottom", TEST_URI);
|
||||
|
||||
let tree = new TreeWidget(doc.querySelector("div"), {
|
||||
defaultType: "store"
|
||||
});
|
||||
|
||||
populateTree(tree, doc);
|
||||
yield testKeyboardInteraction(tree, win);
|
||||
await testKeyboardInteraction(tree, win);
|
||||
|
||||
tree.destroy();
|
||||
host.destroy();
|
||||
|
@ -83,7 +83,7 @@ function click(node) {
|
|||
/**
|
||||
* Tests if pressing navigation keys on the tree items does the expected behavior
|
||||
*/
|
||||
function* testKeyboardInteraction(tree, win) {
|
||||
async function testKeyboardInteraction(tree, win) {
|
||||
info("Testing keyboard interaction with the tree");
|
||||
let event;
|
||||
let pass = (e, d, a) => event.resolve([e, d, a]);
|
||||
|
@ -93,7 +93,7 @@ function* testKeyboardInteraction(tree, win) {
|
|||
event = defer();
|
||||
tree.once("select", pass);
|
||||
click(node);
|
||||
yield event.promise;
|
||||
await event.promise;
|
||||
node = tree.root.children.firstChild.nextSibling.firstChild;
|
||||
// node should not have selected class
|
||||
ok(!node.classList.contains("theme-selected"), "Node should not have selected class");
|
||||
|
@ -103,7 +103,7 @@ function* testKeyboardInteraction(tree, win) {
|
|||
event = defer();
|
||||
tree.once("select", pass);
|
||||
EventUtils.sendKey("DOWN", win);
|
||||
let [name, data, attachment] = yield event.promise;
|
||||
let [name, data, attachment] = await event.promise;
|
||||
is(name, "select", "Select event was fired after pressing down");
|
||||
is(data[0], "level1", "Correct item was selected after pressing down");
|
||||
ok(!attachment, "null attachment was emitted");
|
||||
|
@ -114,7 +114,7 @@ function* testKeyboardInteraction(tree, win) {
|
|||
event = defer();
|
||||
tree.once("select", pass);
|
||||
EventUtils.sendKey("DOWN", win);
|
||||
[name, data, attachment] = yield event.promise;
|
||||
[name, data, attachment] = await event.promise;
|
||||
is(data.length, 2, "Correct level item was selected after second down keypress");
|
||||
is(data[0], "level1", "Correct parent level");
|
||||
is(data[1], "level2", "Correct second level");
|
||||
|
@ -123,7 +123,7 @@ function* testKeyboardInteraction(tree, win) {
|
|||
event = defer();
|
||||
tree.once("select", pass);
|
||||
EventUtils.sendKey("DOWN", win);
|
||||
[name, data, attachment] = yield event.promise;
|
||||
[name, data, attachment] = await event.promise;
|
||||
is(data.length, 3, "Correct level item was selected after third down keypress");
|
||||
is(data[0], "level1", "Correct parent level");
|
||||
is(data[1], "level2", "Correct second level");
|
||||
|
@ -133,7 +133,7 @@ function* testKeyboardInteraction(tree, win) {
|
|||
event = defer();
|
||||
tree.once("select", pass);
|
||||
EventUtils.sendKey("DOWN", win);
|
||||
[name, data, attachment] = yield event.promise;
|
||||
[name, data, attachment] = await event.promise;
|
||||
is(data.length, 2, "Correct level item was selected after fourth down keypress");
|
||||
is(data[0], "level1", "Correct parent level");
|
||||
is(data[1], "level2-1", "Correct second level");
|
||||
|
@ -149,7 +149,7 @@ function* testKeyboardInteraction(tree, win) {
|
|||
node = tree._selectedLabel;
|
||||
ok(node.hasAttribute("expanded"), "Item is expanded before left keypress");
|
||||
EventUtils.sendKey("LEFT", win);
|
||||
yield event.promise;
|
||||
await event.promise;
|
||||
|
||||
ok(!node.hasAttribute("expanded"), "Item is not expanded after left keypress");
|
||||
|
||||
|
@ -162,7 +162,7 @@ function* testKeyboardInteraction(tree, win) {
|
|||
node = tree.root.children.firstChild.nextSibling.firstChild;
|
||||
ok(node.hasAttribute("expanded"), "Parent is expanded");
|
||||
EventUtils.sendKey("LEFT", win);
|
||||
[name, data] = yield event.promise;
|
||||
[name, data] = await event.promise;
|
||||
is(data.length, 3, "Correct level item was selected after second left keypress");
|
||||
is(data[0], "level1", "Correct parent level");
|
||||
is(data[1], "level2", "Correct second level");
|
||||
|
@ -175,7 +175,7 @@ function* testKeyboardInteraction(tree, win) {
|
|||
event = defer();
|
||||
tree.once("select", pass);
|
||||
EventUtils.sendKey("DOWN", win);
|
||||
[name, data, attachment] = yield event.promise;
|
||||
[name, data, attachment] = await event.promise;
|
||||
is(data.length, 2, "Correct level item was selected after fifth down keypress");
|
||||
is(data[0], "level1", "Correct parent level");
|
||||
is(data[1], "level2-1", "Correct second level");
|
||||
|
@ -190,7 +190,7 @@ function* testKeyboardInteraction(tree, win) {
|
|||
node = tree._selectedLabel;
|
||||
ok(node.hasAttribute("expanded"), "Item is expanded before left keypress");
|
||||
EventUtils.sendKey("LEFT", win);
|
||||
yield event.promise;
|
||||
await event.promise;
|
||||
ok(!node.hasAttribute("expanded"), "Item is collapsed after left keypress");
|
||||
|
||||
// pressing right should expand this now.
|
||||
|
@ -203,7 +203,7 @@ function* testKeyboardInteraction(tree, win) {
|
|||
node = tree._selectedLabel;
|
||||
ok(!node.hasAttribute("expanded"), "Item is collapsed before right keypress");
|
||||
EventUtils.sendKey("RIGHT", win);
|
||||
yield event.promise;
|
||||
await event.promise;
|
||||
ok(node.hasAttribute("expanded"), "Item is expanded after right keypress");
|
||||
|
||||
// selecting last item node to test edge navigation case
|
||||
|
@ -217,7 +217,7 @@ function* testKeyboardInteraction(tree, win) {
|
|||
}, {once: true});
|
||||
info("Pressing down key on last item of the tree");
|
||||
EventUtils.sendKey("DOWN", win);
|
||||
yield event.promise;
|
||||
await event.promise;
|
||||
|
||||
ok(tree.isSelected(["level1.1", "level2", "level3"]),
|
||||
"Last item is still selected after pressing down on last item of the tree");
|
||||
|
|
Загрузка…
Ссылка в новой задаче