exports.testIncompleteMultiMatch = function() { update({ typed: 't', cursor: { start: 1, end: 1 } }); t.verifyEqual( 'I', statuses); t.verifySame(Status.ERROR, status); t.verifyEqual(-1, assignC.paramIndex); t.verifyTrue(assignC.getPredictions().length > 0); t.verifyTrue(assignC.getPredictions().length < 20); // could break ... verifyPredictionsContains('tsv', assignC.getPredictions()); verifyPredictionsContains('tsr', assignC.getPredictions()); t.verifyTrue(null == requ.commandAssignment.getValue()); };
exports.testIncompleteSingleMatch = function() { update({ typed: 'tselar', cursor: { start: 6, end: 6 } }); t.verifyEqual( 'IIIIII', statuses); t.verifySame(Status.ERROR, status); t.verifyEqual(-1, assignC.paramIndex); t.verifyEqual(1, assignC.getPredictions().length); t.verifyEqual('tselarr', assignC.getPredictions()[0].value.name); t.verifyTrue(null == requ.commandAssignment.getValue()); };
exports.testTsv = function() { update({ typed: 'tsv', cursor: { start: 3, end: 3 } }); t.verifyEqual( 'VVV', statuses); t.verifySame(Status.ERROR, status); t.verifyEqual(-1, assignC.paramIndex); t.verifyEqual('tsv', requ.commandAssignment.getValue().name); update({ typed: 'tsv ', cursor: { start: 4, end: 4 } }); t.verifyEqual( 'VVVV', statuses); t.verifySame(Status.ERROR, status); t.verifyEqual(0, assignC.paramIndex); t.verifyEqual('tsv', requ.commandAssignment.getValue().name); update({ typed: 'tsv ', cursor: { start: 2, end: 2 } }); t.verifyEqual( 'VVVV', statuses); t.verifySame(Status.ERROR, status); t.verifyEqual(-1, assignC.paramIndex); t.verifyEqual('tsv', requ.commandAssignment.getValue().name); update({ typed: 'tsv o', cursor: { start: 5, end: 5 } }); t.verifyEqual( 'VVVVI', statuses); t.verifySame(Status.ERROR, status); t.verifyEqual(0, assignC.paramIndex); t.verifyEqual(2, assignC.getPredictions().length); t.verifyTrue(commands.option1, assignC.getPredictions()[0].value); t.verifyTrue(commands.option2, assignC.getPredictions()[1].value); t.verifyEqual('tsv', requ.commandAssignment.getValue().name); t.verifyEqual('o', assign1.getArg().text); t.verifyEqual(undefined, assign1.getValue()); update({ typed: 'tsv option', cursor: { start: 10, end: 10 } }); t.verifyEqual( 'VVVVIIIIII', statuses); t.verifySame(Status.ERROR, status); t.verifyEqual(0, assignC.paramIndex); t.verifyEqual(2, assignC.getPredictions().length); t.verifyTrue(commands.option1, assignC.getPredictions()[0].value); t.verifyTrue(commands.option2, assignC.getPredictions()[1].value); t.verifyEqual('tsv', requ.commandAssignment.getValue().name); t.verifyEqual('option', assign1.getArg().text); t.verifyEqual(undefined, assign1.getValue()); update({ typed: 'tsv option', cursor: { start: 1, end: 1 } }); t.verifyEqual( 'VVVVEEEEEE', statuses); t.verifySame(Status.ERROR, status); t.verifyEqual(-1, assignC.paramIndex); t.verifyEqual('tsv', requ.commandAssignment.getValue().name); t.verifyEqual('option', assign1.getArg().text); t.verifyEqual(undefined, assign1.getValue()); update({ typed: 'tsv option ', cursor: { start: 11, end: 11 } }); t.verifyEqual( 'VVVVEEEEEEV', statuses); t.verifySame(Status.ERROR, status); t.verifyEqual(1, assignC.paramIndex); t.verifyEqual(0, assignC.getPredictions().length); t.verifyEqual('tsv', requ.commandAssignment.getValue().name); t.verifyEqual('option', assign1.getArg().text); t.verifyEqual(undefined, assign1.getValue()); update({ typed: 'tsv option1', cursor: { start: 11, end: 11 } }); t.verifyEqual( 'VVVVVVVVVVV', statuses); t.verifySame(Status.ERROR, status); t.verifyEqual('tsv', requ.commandAssignment.getValue().name); t.verifyEqual('option1', assign1.getArg().text); t.verifyEqual(commands.option1, assign1.getValue()); t.verifyEqual(0, assignC.paramIndex); update({ typed: 'tsv option1 ', cursor: { start: 12, end: 12 } }); t.verifyEqual( 'VVVVVVVVVVVV', statuses); t.verifySame(Status.ERROR, status); t.verifyEqual('tsv', requ.commandAssignment.getValue().name); t.verifyEqual('option1', assign1.getArg().text); t.verifyEqual(commands.option1, assign1.getValue()); t.verifyEqual(1, assignC.paramIndex); update({ typed: 'tsv option1 6', cursor: { start: 13, end: 13 } }); t.verifyEqual( 'VVVVVVVVVVVVV', statuses); t.verifySame(Status.VALID, status); t.verifyEqual('tsv', requ.commandAssignment.getValue().name); t.verifyEqual('option1', assign1.getArg().text); t.verifyEqual(commands.option1, assign1.getValue()); t.verifyEqual('6', assign2.getArg().text); t.verifyEqual(6, assign2.getValue()); t.verifyEqual('number', typeof assign2.getValue()); t.verifyEqual(1, assignC.paramIndex); update({ typed: 'tsv option2 6', cursor: { start: 13, end: 13 } }); t.verifyEqual( 'VVVVVVVVVVVVE', statuses); t.verifySame(Status.ERROR, status); t.verifyEqual('tsv', requ.commandAssignment.getValue().name); t.verifyEqual('option2', assign1.getArg().text); t.verifyEqual(commands.option2, assign1.getValue()); t.verifyEqual('6', assign2.getArg().text); t.verifyEqual(undefined, assign2.getValue()); t.verifyEqual(1, assignC.paramIndex); };