Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(329)

Unified Diff: third_party/WebKit/LayoutTests/inspector/console/console-correct-suggestions.html

Issue 2163393002: DevTools: Give autocomplete suggestions even after brackets (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Style and apostrophe test Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/inspector/console/console-correct-suggestions.html
diff --git a/third_party/WebKit/LayoutTests/inspector/console/console-correct-suggestions.html b/third_party/WebKit/LayoutTests/inspector/console/console-correct-suggestions.html
new file mode 100644
index 0000000000000000000000000000000000000000..24303c10b75dab3955a6f4c3f862dc501b29da16
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/inspector/console/console-correct-suggestions.html
@@ -0,0 +1,65 @@
+<html>
+<head>
+<script src="../../http/tests/inspector/inspector-test.js"></script>
+<script src="../../http/tests/inspector/console-test.js"></script>
+<script>
+
+function templateString()
+{
+ console.log("The template string should not run and you should not see this log");
+ return {
+ shouldNotFindThis:56
+ };
+}
+
+function test()
+{
+ function testCompletions(base, prefix, expected)
+ {
+ return new Promise(resolve => {
lushnikov 2016/07/25 18:12:29 style: we don't use multiline arrow functions for
einbinder 2016/07/25 20:11:35 Done.
+ var div = document.createElement("div");
+ var text = base + prefix;
+ div.textContent = text;
+ var range = document.createRange();
+ range.setStart(div.childNodes[0], base.length);
+ range.setEnd(div.childNodes[0], text.length);
+ WebInspector.ExecutionContextSelector.completionsForTextPromptInCurrentContext(div, text, text.length, range, false, checkExpected);
+ function checkExpected(completions)
+ {
+ InspectorTest.addResult("Checking '" + base + prefix + "'");
+ var found;
lushnikov 2016/07/25 18:12:29 no need to declare "found" beforehand
einbinder 2016/07/25 20:11:35 Done.
+ for (var i = 0; i < expected.length; i++) {
+ found = false;
lushnikov 2016/07/25 18:12:29 var found = completions.indexOf(expected[i]) !== -
einbinder 2016/07/25 20:11:35 Done.
+ for (var j = 0; j < completions.length; j++) {
+ if (completions[j] === expected[i]) {
+ found = true;
+ break;
+ }
+ }
+ InspectorTest.addResult((found ? "Found" : "Not Found") + ": " + expected[i]);
+ }
+ InspectorTest.addResult("");
+ resolve();
+ }
+ });
+ }
+
+ Promise.all([
+ testCompletions("window.", "do", ["document"]),
lushnikov 2016/07/25 18:12:29 it's daunting to write a huge Promise.all, but thi
einbinder 2016/07/25 20:11:35 I misread Promise.all docs, done.
+ testCompletions("", "win", ["window"]),
+ testCompletions("window[", '"doc', ['"document"]']),
+ testCompletions('window["document"].', "bo", ["body"]),
+ testCompletions('window["document"]["body"].', "textC", ["textContent"]),
+ testCompletions('document.body.', "inner", ["innerText", "innerHTML"]),
+ testCompletions('document["body"][window.', "do", ["document"]),
+ testCompletions('document["body"][window["document"].body.childNodes[0].', "text", ["textContent"]),
+ testCompletions("templateString`asdf`","should",["shouldNotFindThis"])
+ ]).then(InspectorTest.completeTest);
+
+}
+</script>
+</head>
+<body onload="runTest()">
+<p>Tests that console correctly finds suggestions in complicated cases.</p>
+</body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698