exports.testNoTab = function(options) { helpers.setInput('tss'); helpers.pressTab(); helpers.check({ input: 'tss ', markup: 'VVVV', hints: '' }); helpers.pressTab(); helpers.check({ input: 'tss ', markup: 'VVVV', hints: '' }); helpers.setInput('xxxx'); helpers.check({ input: 'xxxx', markup: 'EEEE', hints: '' }); helpers.pressTab(); helpers.check({ input: 'xxxx', markup: 'EEEE', hints: '' }); };
exports.testSpaceComplete = function(options) { helpers.setInput('tslong --sel2 wit'); helpers.check({ input: 'tslong --sel2 wit', hints: 'h space <msg> [options]', markup: 'VVVVVVVIIIIIIVIII', cursor: 17, current: 'sel2', status: 'ERROR', tooltipState: 'true:importantFieldFlag', args: { command: { name: 'tslong' }, msg: { status: 'INCOMPLETE', message: '' }, 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' } } }); helpers.pressTab(); helpers.check({ input: 'tslong --sel2 \'with space\' ', hints: '<msg> [options]', markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVV', cursor: 27, current: 'sel2', status: 'ERROR', tooltipState: 'true:importantFieldFlag', args: { command: { name: 'tslong' }, msg: { status: 'INCOMPLETE', message: '' }, 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' } } }); };
exports.testCompleteIntoOptional = function(options) { // From bug 779816 helpers.setInput('tso '); helpers.check({ typed: 'tso ', hints: '[text]', markup: 'VVVV', status: 'VALID' }); helpers.setInput('tso'); helpers.pressTab(); helpers.check({ typed: 'tso ', hints: '[text]', markup: 'VVVV', status: 'VALID' }); };
exports.testIntroStatus = function(options) { if (canon.getCommand('intro') == null) { assert.log('Skipping testIntroStatus; missing intro command.'); return; } helpers.setInput('intro'); helpers.check({ typed: 'intro', markup: 'VVVVV', status: 'VALID', hints: '' }); helpers.setInput('intro foo'); helpers.check({ typed: 'intro foo', markup: 'VVVVVVEEE', status: 'ERROR', hints: '' }); };
exports.testActivate = function(options) { if (!options.display) { test.log('No display. Skipping activate tests'); return; } helpers.setInput(''); helpers.check({ hints: '' }); helpers.setInput(' '); helpers.check({ hints: '' }); helpers.setInput('tsr'); helpers.check({ hints: ' <text>' }); helpers.setInput('tsr '); helpers.check({ hints: '<text>' }); helpers.setInput('tsr b'); helpers.check({ hints: '' }); helpers.setInput('tsb'); helpers.check({ hints: ' [toggle]' }); helpers.setInput('tsm'); helpers.check({ hints: ' <abc> <txt> <num>' }); helpers.setInput('tsm '); helpers.check({ hints: 'a <txt> <num>' }); helpers.setInput('tsm a'); helpers.check({ hints: ' <txt> <num>' }); helpers.setInput('tsm a '); helpers.check({ hints: '<txt> <num>' }); helpers.setInput('tsm a '); helpers.check({ hints: '<txt> <num>' }); helpers.setInput('tsm a d'); helpers.check({ hints: ' <num>' }); helpers.setInput('tsm a "d d"'); helpers.check({ hints: ' <num>' }); helpers.setInput('tsm a "d '); helpers.check({ hints: ' <num>' }); helpers.setInput('tsm a "d d" '); helpers.check({ hints: '<num>' }); helpers.setInput('tsm a "d d '); helpers.check({ hints: ' <num>' }); helpers.setInput('tsm d r'); helpers.check({ hints: ' <num>' }); helpers.setInput('tsm a d '); helpers.check({ hints: '<num>' }); helpers.setInput('tsm a d 4'); helpers.check({ hints: '' }); helpers.setInput('tsg'); helpers.check({ hints: ' <solo> [options]' }); helpers.setInput('tsg '); helpers.check({ hints: 'aaa [options]' }); helpers.setInput('tsg a'); helpers.check({ hints: 'aa [options]' }); helpers.setInput('tsg b'); helpers.check({ hints: 'bb [options]' }); helpers.setInput('tsg d'); helpers.check({ hints: ' [options] -> ccc' }); helpers.setInput('tsg aa'); helpers.check({ hints: 'a [options]' }); helpers.setInput('tsg aaa'); helpers.check({ hints: ' [options]' }); helpers.setInput('tsg aaa '); helpers.check({ hints: '[options]' }); helpers.setInput('tsg aaa d'); helpers.check({ hints: ' [options]' }); helpers.setInput('tsg aaa dddddd'); helpers.check({ hints: ' [options]' }); helpers.setInput('tsg aaa dddddd '); helpers.check({ hints: '[options]' }); helpers.setInput('tsg aaa "d'); helpers.check({ hints: ' [options]' }); helpers.setInput('tsg aaa "d d'); helpers.check({ hints: ' [options]' }); helpers.setInput('tsg aaa "d d"'); helpers.check({ hints: ' [options]' }); helpers.setInput('tsn ex '); helpers.check({ hints: '' }); helpers.setInput('selarr'); helpers.check({ hints: ' -> tselarr' }); helpers.setInput('tselar 1'); helpers.check({ hints: '' }); helpers.setInput('tselar 1', 7); helpers.check({ hints: '' }); helpers.setInput('tselar 1', 6); helpers.check({ hints: ' -> tselarr' }); helpers.setInput('tselar 1', 5); helpers.check({ hints: ' -> tselarr' }); };
exports.testLong = function(options) { helpers.setInput('tslong --sel'); helpers.check({ input: 'tslong --sel', hints: ' <selection> <msg> [options]', markup: 'VVVVVVVIIIII' }); helpers.pressTab(); helpers.check({ input: 'tslong --sel ', hints: 'space <msg> [options]', markup: 'VVVVVVVIIIIIV' }); helpers.setInput('tslong --sel '); helpers.check({ input: 'tslong --sel ', hints: 'space <msg> [options]', markup: 'VVVVVVVIIIIIV' }); helpers.setInput('tslong --sel s'); helpers.check({ input: 'tslong --sel s', hints: 'pace <msg> [options]', markup: 'VVVVVVVIIIIIVI' }); helpers.setInput('tslong --num '); helpers.check({ input: 'tslong --num ', hints: '<number> <msg> [options]', markup: 'VVVVVVVIIIIIV' }); helpers.setInput('tslong --num 42'); helpers.check({ input: 'tslong --num 42', hints: ' <msg> [options]', markup: 'VVVVVVVVVVVVVVV' }); helpers.setInput('tslong --num 42 '); helpers.check({ input: 'tslong --num 42 ', hints: '<msg> [options]', markup: 'VVVVVVVVVVVVVVVV' }); helpers.setInput('tslong --num 42 --se'); helpers.check({ input: 'tslong --num 42 --se', hints: 'l <msg> [options]', markup: 'VVVVVVVVVVVVVVVVIIII' }); helpers.pressTab(); helpers.check({ input: 'tslong --num 42 --sel ', hints: 'space <msg> [options]', markup: 'VVVVVVVVVVVVVVVVIIIIIV' }); helpers.pressTab(); helpers.check({ input: 'tslong --num 42 --sel space ', hints: '<msg> [options]', markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVV' }); helpers.setInput('tslong --num 42 --sel '); helpers.check({ input: 'tslong --num 42 --sel ', hints: 'space <msg> [options]', markup: 'VVVVVVVVVVVVVVVVIIIIIV' }); helpers.setInput('tslong --num 42 --sel space '); helpers.check({ input: 'tslong --num 42 --sel space ', hints: '<msg> [options]', markup: 'VVVVVVVVVVVVVVVVVVVVVVVVVVVV' }); };