| // Copyright 2017 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| (async function() { |
| TestRunner.addResult(`Tests that classes pane widget shows correct suggestions.\n`); |
| |
| await TestRunner.loadModule('elements_test_runner'); |
| await TestRunner.showPanel('elements'); |
| |
| await TestRunner.loadHTML(` |
| <style> |
| .b { width: 1px; } |
| .abc { width: 1px; } |
| .a1 { width: 1px; } |
| .a2 { width: 1px; } |
| </style> |
| <div id="myDiv"></div> |
| `); |
| |
| var classesPane = new Elements.ClassesPaneWidget(); |
| ElementsTestRunner.selectNodeWithId('myDiv', onNodeSelected); |
| |
| async function onNodeSelected() { |
| await testCompletion('.'); |
| await testCompletion('a'); |
| TestRunner.addResult('\nAdding class "abc"'); |
| await testCompletion('a'); |
| TestRunner.completeTest(); |
| } |
| |
| /** |
| * @param {string} prefix |
| */ |
| async function testCompletion(prefix) { |
| TestRunner.addResult('\nCompletion for prefix: ' + prefix); |
| var completions = await classesPane._prompt._buildClassNameCompletions('', prefix); |
| for (var completion of completions) |
| TestRunner.addResult(completion.text); |
| } |
| })(); |