1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
- /* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
- "use strict";
- // Test that properties starting with underscores or dollars can be
- // autocompleted (bug 967468).
- add_task(function* () {
- const TEST_URI = "data:text/html;charset=utf8,test autocompletion with " +
- "$ or _";
- yield loadTab(TEST_URI);
- function* autocomplete(term) {
- let deferred = promise.defer();
- jsterm.setInputValue(term);
- jsterm.complete(jsterm.COMPLETE_HINT_ONLY, deferred.resolve);
- yield deferred.promise;
- ok(popup.itemCount > 0,
- "There's " + popup.itemCount + " suggestions for '" + term + "'");
- }
- let { jsterm } = yield openConsole();
- let popup = jsterm.autocompletePopup;
- yield jsterm.execute("var testObject = {$$aaab: '', $$aaac: ''}");
- // Should work with bug 967468.
- yield autocomplete("Object.__d");
- yield autocomplete("testObject.$$a");
- // Here's when things go wrong in bug 967468.
- yield autocomplete("Object.__de");
- yield autocomplete("testObject.$$aa");
- // Should work with bug 1207868.
- yield jsterm.execute("let foobar = {a: ''}; const blargh = {a: 1};");
- yield autocomplete("foobar");
- yield autocomplete("blargh");
- yield autocomplete("foobar.a");
- yield autocomplete("blargh.a");
- });
|