/* * Copyright 2012, Mozilla Foundation and contributors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ 'use strict'; // // THIS FILE IS GENERATED FROM SOURCE IN THE GCLI PROJECT // DO NOT EDIT IT DIRECTLY var exports = {}; var TEST_URI = "data:text/html;charset=utf-8,

gcli-testCompletion2.js

"; function test() { return Task.spawn(function() { let options = yield helpers.openTab(TEST_URI); yield helpers.openToolbar(options); gcli.addItems(mockCommands.items); yield helpers.runTests(options, exports); gcli.removeItems(mockCommands.items); yield helpers.closeToolbar(options); yield helpers.closeTab(options); }).then(finish, helpers.handleError); } // // var helpers = require('./helpers'); exports.testLong = function(options) { return helpers.audit(options, [ { setup: 'tslong --sel', check: { input: 'tslong --sel', hints: ' [options]', markup: 'VVVVVVVIIIII' } }, { setup: 'tslong --sel', check: { input: 'tslong --sel ', hints: 'space [options]', markup: 'VVVVVVVIIIIIV' } }, { setup: 'tslong --sel ', check: { input: 'tslong --sel ', hints: 'space [options]', markup: 'VVVVVVVIIIIIV' } }, { setup: 'tslong --sel s', check: { input: 'tslong --sel s', hints: 'pace [options]', markup: 'VVVVVVVIIIIIVI' } }, { setup: 'tslong --num ', check: { input: 'tslong --num ', hints: ' [options]', markup: 'VVVVVVVIIIIIV' } }, { setup: 'tslong --num 42', check: { input: 'tslong --num 42', hints: ' [options]', markup: 'VVVVVVVVVVVVVVV' } }, { setup: 'tslong --num 42 ', check: { input: 'tslong --num 42 ', hints: ' [options]', markup: 'VVVVVVVVVVVVVVVV' } }, { setup: 'tslong --num 42 --se', check: { input: 'tslong --num 42 --se', hints: 'l [options]', markup: 'VVVVVVVVVVVVVVVVIIII' } }, { setup: 'tslong --num 42 --se', check: { input: 'tslong --num 42 --sel ', hints: 'space [options]', markup: 'VVVVVVVVVVVVVVVVIIIIIV' } }, { setup: 'tslong --num 42 --se', check: { input: 'tslong --num 42 --sel space ', hints: ' [options]', markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVV' } }, { setup: 'tslong --num 42 --sel ', check: { input: 'tslong --num 42 --sel ', hints: 'space [options]', markup: 'VVVVVVVVVVVVVVVVIIIIIV' } }, { setup: 'tslong --num 42 --sel space ', check: { input: 'tslong --num 42 --sel space ', hints: ' [options]', markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVV' } } ]); }; exports.testNoTab = function(options) { return helpers.audit(options, [ { setup: 'tss', check: { input: 'tss ', markup: 'VVVV', hints: '' } }, { setup: 'tss', check: { input: 'tss ', markup: 'VVVV', hints: '' } }, { setup: 'xxxx', check: { input: 'xxxx', markup: 'EEEE', hints: '' } }, { skipIf: options.isNoDom, name: '', setup: function() { // Doing it this way avoids clearing the input buffer return helpers.pressTab(options); }, check: { input: 'xxxx', markup: 'EEEE', hints: '' } } ]); }; exports.testOutstanding = function(options) { // See bug 779800 /* return helpers.audit(options, [ { setup: 'tsg --txt1 ddd ', check: { input: 'tsg --txt1 ddd ', hints: 'aaa [options]', markup: 'VVVVVVVVVVVVVVV' } }, ]); */ }; exports.testCompleteIntoOptional = function(options) { // From bug 779816 return helpers.audit(options, [ { setup: 'tso ', check: { typed: 'tso ', hints: '[text]', markup: 'VVVV', status: 'VALID' } }, { setup: 'tso', check: { typed: 'tso ', hints: '[text]', markup: 'VVVV', status: 'VALID' } } ]); }; exports.testSpaceComplete = function(options) { return helpers.audit(options, [ { setup: 'tslong --sel2 wit', check: { input: 'tslong --sel2 wit', hints: 'h space [options]', markup: 'VVVVVVVIIIIIIVIII', cursor: 17, current: 'sel2', status: 'ERROR', tooltipState: 'true:importantFieldFlag', args: { command: { name: 'tslong' }, msg: { status: 'INCOMPLETE' }, num: { status: 'VALID' }, sel: { status: 'VALID' }, bool: { value: false, status: 'VALID' }, num2: { status: 'VALID' }, bool2: { value: false, status: 'VALID' }, sel2: { arg: ' --sel2 wit', status: 'INCOMPLETE' } } } }, { setup: 'tslong --sel2 wit', check: { input: 'tslong --sel2 \'with space\' ', hints: ' [options]', markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVV', cursor: 27, current: 'sel2', status: 'ERROR', tooltipState: 'true:importantFieldFlag', args: { command: { name: 'tslong' }, msg: { status: 'INCOMPLETE' }, num: { status: 'VALID' }, sel: { status: 'VALID' }, bool: { value: false, status: 'VALID' }, num2: { status: 'VALID' }, bool2: { value: false, status: 'VALID' }, sel2: { value: 'with space', arg: ' --sel2 \'with space\' ', status: 'VALID' } } } } ]); };