Bug 1408917 - Rename, refactor and enable browser_webconsole_autocomplete_JSTerm_helpers.js in new console frontend; r=Honza.
MozReview-Commit-ID: 3TN6q63mnHp
--- a/devtools/client/webconsole/new-console-output/test/mochitest/browser.ini
+++ b/devtools/client/webconsole/new-console-output/test/mochitest/browser.ini
@@ -191,16 +191,17 @@ skip-if = true # Bug 1406060
[browser_console_webconsole_ctrlw_close_tab.js]
skip-if = true # Bug 1406060
[browser_console_webconsole_iframe_messages.js]
skip-if = true # Bug 1406060
[browser_console_webconsole_private_browsing.js]
skip-if = true # Bug 1403188
# old console skip-if = e10s # Bug 1042253 - webconsole e10s tests
[browser_jsterm_add_edited_input_to_history.js]
+[browser_jsterm_autocomplete_helpers.js]
[browser_jsterm_autocomplete-properties-with-non-alphanumeric-names.js]
[browser_jsterm_copy_command.js]
skip-if = true
subsuite = clipboard
# old console skip-if = (os == 'linux' && bits == 32 && debug) # bug 1328915, disable linux32 debug devtools for timeouts
[browser_jsterm_dollar.js]
[browser_jsterm_history_persist.js]
[browser_jsterm_inspect.js]
@@ -209,18 +210,16 @@ subsuite = clipboard
[browser_jsterm_no_input_change_and_tab_key_pressed.js]
[browser_netmonitor_shows_reqs_in_webconsole.js]
[browser_webconsole_allow_mixedcontent_securityerrors.js]
tags = mcb
skip-if = true # Bug 1403452
# old console skip-if = (os == 'win' && bits == 64) # Bug 1390001
[browser_webconsole_assert.js]
skip-if = true # Bug 1403458
-[browser_webconsole_autocomplete_JSTerm_helpers.js]
-skip-if = true # Bug 1408917
[browser_webconsole_autocomplete_accessibility.js]
skip-if = true # Bug 1408918
[browser_webconsole_autocomplete_and_selfxss.js]
subsuite = clipboard
skip-if = true # Bug 1404850
# old console skip-if = (os == 'linux' && bits == 32 && debug) # bug 1328915, disable linux32 debug devtools for timeouts
[browser_webconsole_autocomplete_crossdomain_iframe.js]
skip-if = true # Bug 1408919
rename from devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_autocomplete_JSTerm_helpers.js
rename to devtools/client/webconsole/new-console-output/test/mochitest/browser_jsterm_autocomplete_helpers.js
--- a/devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_autocomplete_JSTerm_helpers.js
+++ b/devtools/client/webconsole/new-console-output/test/mochitest/browser_jsterm_autocomplete_helpers.js
@@ -1,77 +1,37 @@
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
// Tests that the autocompletion results contain the names of JSTerm helpers.
+// See Bug 686937.
"use strict";
-// See Bug 686937.
-const TEST_URI = "data:text/html;charset=utf8,<p>test JSTerm Helpers " +
- "autocomplete";
-
-var jsterm;
-
-add_task(function* () {
- yield loadTab(TEST_URI);
-
- let hud = yield openConsole();
-
- jsterm = hud.jsterm;
- let input = jsterm.inputNode;
- let popup = jsterm.autocompletePopup;
-
- // Test if 'i' gives 'inspect'
- input.value = "i";
- input.setSelectionRange(1, 1);
- yield complete(jsterm.COMPLETE_HINT_ONLY);
-
- let newItems = popup.getItems().map(function (e) {
- return e.label;
- });
- ok(newItems.indexOf("inspect") > -1,
- "autocomplete results contain helper 'inspect'");
+const TEST_URI = "data:text/html;charset=utf8,<p>test JSTerm Helpers autocomplete";
- // Test if 'window.' does not give 'inspect'.
- input.value = "window.";
- input.setSelectionRange(7, 7);
- yield complete(jsterm.COMPLETE_HINT_ONLY);
-
- newItems = popup.getItems().map(function (e) {
- return e.label;
- });
- is(newItems.indexOf("inspect"), -1,
- "autocomplete results do not contain helper 'inspect'");
-
- // Test if 'dump(i' gives 'inspect'
- input.value = "dump(i";
- input.setSelectionRange(6, 6);
- yield complete(jsterm.COMPLETE_HINT_ONLY);
-
- newItems = popup.getItems().map(function (e) {
- return e.label;
- });
- ok(newItems.indexOf("inspect") > -1,
- "autocomplete results contain helper 'inspect'");
-
- // Test if 'window.dump(i' gives 'inspect'
- input.value = "window.dump(i";
- input.setSelectionRange(13, 13);
- yield complete(jsterm.COMPLETE_HINT_ONLY);
-
- newItems = popup.getItems().map(function (e) {
- return e.label;
- });
- ok(newItems.indexOf("inspect") > -1,
- "autocomplete results contain helper 'inspect'");
-
- jsterm = null;
+add_task(async function () {
+ const {jsterm} = await openNewTabAndConsole(TEST_URI);
+ await testInspectAutoCompletion(jsterm, "i", true);
+ await testInspectAutoCompletion(jsterm, "window.", false);
+ await testInspectAutoCompletion(jsterm, "dump(i", true);
+ await testInspectAutoCompletion(jsterm, "window.dump(i", true);
});
-function complete(type) {
- let updated = jsterm.once("autocomplete-updated");
- jsterm.complete(type);
+async function testInspectAutoCompletion(jsterm, inputValue, expectInspect) {
+ jsterm.setInputValue(inputValue);
+ await complete(jsterm);
+ is(getPopupItemsLabel(jsterm.autocompletePopup).includes("inspect"), expectInspect,
+ `autocomplete results${expectInspect ? "" : " does not"} contain helper 'inspect'`);
+}
+
+function complete(jsterm) {
+ const updated = jsterm.once("autocomplete-updated");
+ jsterm.complete(jsterm.COMPLETE_HINT_ONLY);
return updated;
}
+
+function getPopupItemsLabel(popup) {
+ return popup.getItems().map(item => item.label);
+}
\ No newline at end of file