46 lines
1.6 KiB
JavaScript
46 lines
1.6 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
// Tests that the highlight command actually creates a highlighter
|
|
|
|
const TEST_PAGE = "data:text/html;charset=utf-8,<div></div>";
|
|
|
|
function test() {
|
|
return Task.spawn(function* () {
|
|
let options = yield helpers.openTab(TEST_PAGE);
|
|
yield helpers.openToolbar(options);
|
|
|
|
info("highlighting the body node");
|
|
yield runCommand("highlight body", options);
|
|
is(yield getHighlighterNumber(), 1, "The highlighter element exists for body");
|
|
|
|
info("highlighting the div node");
|
|
yield runCommand("highlight div", options);
|
|
is(yield getHighlighterNumber(), 1, "The highlighter element exists for div");
|
|
|
|
info("highlighting the body node again, asking to keep the div");
|
|
yield runCommand("highlight body --keep", options);
|
|
is(yield getHighlighterNumber(), 2, "2 highlighter elements have been created");
|
|
|
|
info("unhighlighting all nodes");
|
|
yield runCommand("unhighlight", options);
|
|
is(yield getHighlighterNumber(), 0, "All highlighters have been removed");
|
|
|
|
yield helpers.closeToolbar(options);
|
|
yield helpers.closeTab(options);
|
|
}).then(finish, helpers.handleError);
|
|
}
|
|
|
|
function getHighlighterNumber() {
|
|
return ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () {
|
|
const { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
|
|
return require("devtools/shared/gcli/commands/highlight").highlighters.length;
|
|
});
|
|
}
|
|
|
|
function* runCommand(cmd, options) {
|
|
yield helpers.audit(options, [{ setup: cmd, exec: {} }]);
|
|
}
|