Lines Matching refs:fi
53 const fi = new FakeInput();
55 input: fi,
56 output: fi,
59 return [rli, fi];
75 const fi = new FakeInput();
77 fi,
78 fi,
83 fi.emit('data', 'a\t');
173 const fi = new FakeInput();
174 const rli = new readline.Interface(fi, {});
176 fi.emit('data', 'a');
183 const [rli, fi] = getInterface({ terminal: true });
188 fi.emit('data', expectedLines.join('\r'));
194 const [rli, fi] = getInterface({ terminal: true });
199 fi.emit('data', '\rfoo\r');
206 const [rli, fi] = getInterface({ terminal: true, completer });
211 fi.emit('data', character);
213 fi.emit('data', '\n');
220 const [rli, fi] = getInterface({ terminal: true });
224 fi.emit('data', '\t');
225 fi.emit('data', '\n');
232 const [rli, fi] = getInterface({ terminal: true });
239 fi.emit('data', `${line}\n`);
247 const [rli, fi] = getInterface({ terminal: true });
257 fi.emit('data', `${expectedLine}\n`);
264 const [rli, fi] = getInterface({
275 fi.emit('data', `${expectedLines.join('\n')}\n`);
277 fi.emit('keypress', '.', { name: 'up' }); // 'bat'
279 fi.emit('keypress', '.', { name: 'up' }); // 'bar'
282 fi.emit('keypress', '.', { name: 'up' }); // 'baz'
284 fi.emit('keypress', '.', { name: 'up' }); // 'foo'
288 fi.emit('keypress', '.', { name: 'down' }); // 'baz'
291 fi.emit('keypress', '.', { name: 'n', ctrl: true }); // 'bar'
294 fi.emit('keypress', '.', { name: 'n', ctrl: true });
298 fi.emit('keypress', '.', { name: 'down' }); // 'bat'
302 fi.emit('keypress', '.', { name: 'backspace' }); // 'ba'
306 fi.emit('keypress', '.', { name: 'down' }); // 'ba'
309 fi.emit('keypress', '.', { name: 'down' }); // 'ba'
312 fi.emit('keypress', '.', { name: 'up' }); // 'bat'
315 fi.emit('keypress', '.', { name: 'up' }); // 'bar'
318 fi.emit('keypress', '.', { name: 'up' }); // 'baz'
321 fi.emit('keypress', '.', { name: 'up' }); // 'ba'
324 fi.emit('keypress', '.', { name: 'up' }); // 'ba'
328 fi.emit('keypress', '.', { name: 'right' }); // 'ba'
332 fi.emit('keypress', '.', { name: 'up' }); // 'ba'
341 const [rli, fi] = getInterface({
351 fi.emit('data', `${expectedLines.join('\n')}\n`);
353 fi.emit('keypress', '.', { name: 'up' }); // 'bat'
355 fi.emit('keypress', '.', { name: 'up' }); // 'bar'
358 fi.emit('keypress', '.', { name: 'up' }); // 'baz'
360 fi.emit('keypress', '.', { name: 'up' }); // 'bar'
362 fi.emit('keypress', '.', { name: 'up' }); // 'foo'
371 const [rli, fi] = getInterface({ terminal: true });
374 fi.on('keypress', (key) => {
381 () => fi.emit('data', 'fooX'),
387 fi.emit('data', 'bar');
394 const [rli, fi] = getInterface({ terminal: true, historySize: 2 });
396 fi.emit('data', lines.join('\n') + '\n');
423 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
424 fi.emit('data', 'the quick brown fox');
425 fi.emit('keypress', '.', { ctrl: true, name: 'a' });
427 fi.emit('keypress', '.', { ctrl: true, name: 'e' });
434 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
435 fi.emit('data', 'the quick brown fox');
439 fi.emit('keypress', '.', { ctrl: true, name: 'b' });
442 fi.emit('keypress', '.', { ctrl: true, name: 'b' });
445 fi.emit('keypress', '.', { ctrl: true, name: 'f' });
448 fi.emit('keypress', '.', { ctrl: true, name: 'f' });
455 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
456 fi.emit('data', '?');
459 fi.emit('keypress', '.', { name: 'left' });
463 fi.emit('keypress', '.', { name: 'right' });
469 fi.emit('data', '\n');
475 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
476 fi.emit('data', '?');
479 fi.emit('keypress', '.', { name: 'left' });
482 fi.emit('data', '?');
488 fi.emit('data', '\n');
494 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
495 fi.emit('data', '?');
498 fi.emit('keypress', '.', { name: 'right' });
501 fi.emit('data', '?');
507 fi.emit('data', '\n');
513 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
514 fi.emit('data', 'the quick brown fox');
515 fi.emit('keypress', '.', { ctrl: true, name: 'left' });
517 fi.emit('keypress', '.', { meta: true, name: 'b' });
519 fi.emit('keypress', '.', { ctrl: true, name: 'right' });
521 fi.emit('keypress', '.', { meta: true, name: 'f' });
532 let [rli, fi] = getInterface({ terminal: true, prompt: '' });
533 fi.emit('data', 'the quick brown fox');
534 fi.emit('keypress', '.', { ctrl: true, name: 'left' });
538 fi.emit('keypress', '.', deleteWordLeftKey);
539 fi.emit('data', '\n');
543 [rli, fi] = getInterface({ terminal: true, prompt: '' });
544 fi.emit('data', 'the quick brown fox');
545 fi.emit('keypress', '.', { ctrl: true, name: 'a' });
549 fi.emit('keypress', '.', deleteWordLeftKey);
550 fi.emit('data', '\n');
560 let [rli, fi] = getInterface({ terminal: true, prompt: '' });
561 fi.emit('data', 'the quick brown fox');
562 fi.emit('keypress', '.', { ctrl: true, name: 'left' });
563 fi.emit('keypress', '.', { ctrl: true, name: 'left' });
567 fi.emit('keypress', '.', deleteWordRightKey);
568 fi.emit('data', '\n');
572 [rli, fi] = getInterface({ terminal: true, prompt: '' });
573 fi.emit('data', 'the quick brown fox');
577 fi.emit('keypress', '.', deleteWordRightKey);
578 fi.emit('data', '\n');
584 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
585 fi.emit('data', 'the quick brown fox');
589 fi.emit('keypress', '.', { ctrl: true, name: 'h' });
594 fi.emit('data', '\n');
600 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
601 fi.emit('data', '?');
604 fi.emit('keypress', '.', { ctrl: true, name: 'h' });
609 fi.emit('data', '\n');
615 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
616 fi.emit('data', 'the quick brown fox');
619 fi.emit('keypress', '.', { ctrl: true, name: 'a' });
623 fi.emit('keypress', '.', { ctrl: true, name: 'd' });
628 fi.emit('data', '\n');
634 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
635 fi.emit('data', '?');
638 fi.emit('keypress', '.', { ctrl: true, name: 'a' });
642 fi.emit('keypress', '.', { ctrl: true, name: 'd' });
647 fi.emit('data', '\n');
653 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
654 fi.emit('data', 'the quick brown fox');
658 fi.emit('keypress', '.', { ctrl: true, shift: true, name: 'backspace' });
663 fi.emit('data', '\n');
669 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
670 fi.emit('data', 'the quick brown fox');
673 fi.emit('keypress', '.', { ctrl: true, name: 'a' });
677 fi.emit('keypress', '.', { ctrl: true, shift: true, name: 'delete' });
682 fi.emit('data', '\n');
688 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
689 fi.emit('data', 'the quick brown fox');
693 fi.emit('keypress', '.', { ctrl: true, name: 'a' });
695 fi.emit('keypress', '.', { ctrl: true, name: 'f' });
697 fi.emit('keypress', '.', { ctrl: true, shift: true, name: 'delete' });
701 fi.emit('keypress', '.', { ctrl: true, name: 'y' });
708 fi.emit('data', '\n');
714 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
715 fi.emit('data', 'the quick brown fox');
719 fi.emit('keypress', '.', { ctrl: true, name: 'a' });
721 fi.emit('keypress', '.', { ctrl: true, name: 'f' });
723 fi.emit('keypress', '.', { ctrl: true, shift: true, name: 'delete' });
726 fi.emit('keypress', '.', { ctrl: true, name: 'y' });
730 fi.emit('keypress', '.', { ctrl: true, name: 'a' });
732 fi.emit('keypress', '.', { ctrl: true, name: 'f' });
733 fi.emit('keypress', '.', { ctrl: true, name: 'f' });
734 fi.emit('keypress', '.', { ctrl: true, name: 'f' });
735 fi.emit('keypress', '.', { ctrl: true, name: 'f' });
737 fi.emit('keypress', '.', { ctrl: true, shift: true, name: 'delete' });
740 fi.emit('keypress', '.', { ctrl: true, name: 'a' });
744 fi.emit('keypress', '.', { ctrl: true, name: 'y' });
746 fi.emit('keypress', '.', { meta: true, name: 'y' });
753 fi.emit('data', '\n');
759 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
760 fi.emit('keypress', '.', { ctrl: true, name: 'c' });
766 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
767 fi.columns = 10;
768 fi.emit('data', 'multi-line text');
775 const [rli, fi] = getInterface({ tabSize: 16, terminal: true, prompt: '' });
776 fi.columns = 10;
777 fi.emit('data', 'multi-line\ttext \t');
785 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
786 fi.emit('data', 'the quick\tbrown\tfox');
794 const [rli, fi] = getInterface({
798 fi.columns = 10;
799 fi.emit('data', 't');
806 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
807 fi.emit('data', 'the quick brown fox');
811 fi.emit('keypress', '.', { ctrl: true, shift: false, name: 'b' });
812 fi.emit('keypress', '.', { ctrl: true, shift: false, name: 'b' });
813 fi.emit('keypress', '.', { ctrl: true, shift: false, name: 'b' });
814 fi.emit('keypress', '.', { ctrl: true, shift: false, name: 'b' });
815 fi.emit('keypress', ',', { ctrl: true, shift: false, name: 'k' });
817 fi.emit('keypress', '.', { ctrl: true, shift: false, name: 'b' });
818 fi.emit('keypress', '.', { ctrl: true, shift: false, name: 'b' });
819 fi.emit('keypress', '.', { ctrl: true, shift: false, name: 'b' });
820 fi.emit('keypress', '.', { ctrl: true, shift: false, name: 'b' });
821 fi.emit('keypress', ',', { ctrl: true, shift: false, name: 'k' });
825 fi.emit('keypress', ',', { sequence: '\x1F' });
827 fi.emit('keypress', ',', { sequence: '\x1F' });
830 fi.emit('keypress', ',', { sequence: '\x1E' });
832 fi.emit('keypress', ',', { sequence: '\x1E' });
834 fi.emit('data', '\n');
840 const [rli, fi] = getInterface({ terminal: true, prompt: '' });
842 fi.emit('data', lines.join('\n'));
843 fi.emit('keypress', '.', { ctrl: true, name: 'l' });
848 fi.emit('data', '\n');
897 const [rli, fi] = getInterface({ terminal, historySize: 0 });
900 fi.emit('data', 'asdf\n');
907 const [rli, fi] = getInterface({ terminal });
910 fi.emit('data', 'asdf\n');
917 const [rli, fi] = getInterface({ terminal });
921 fi.emit('data', 'asdf\n');
944 const [rli, fi] = getInterface({ terminal });
948 fi.emit('data', '\n');
953 const [rli, fi] = getInterface({ terminal });
959 fi.emit('data', 'a');
961 fi.emit('data', '\n');
968 const [rli, fi] = getInterface({ terminal });
973 fi.emit('data', `${expectedLines.join('\n')}\n`);
979 const [rli, fi] = getInterface({ terminal });
984 fi.emit('data', expectedLines.join('\n'));
991 const [rli, fi] = getInterface({ terminal });
997 fi.emit('data', expectedLines.join('\n'));
998 fi.emit('end');
1005 const [rli, fi] = getInterface({ terminal });
1012 fi.emit('data', Buffer.from([i]));
1015 fi.emit('data', '\n');
1022 const [rli, fi] = getInterface({ terminal });
1026 fi.emit('data', 'asdf\n');
1147 const [rli, fi] = getInterface({ terminal });
1159 fi.emit('data', 'Node.js\n');
1164 const [rli, fi] = getInterface({ terminal });
1176 fi.emit('data', 'Node.js\n');
1181 const [rli, fi] = getInterface({ output: null, terminal });
1185 fi.emit('data', 'asdf\n');
1232 const fi = new FakeInput();
1233 assert.deepStrictEqual(fi.listeners(terminal ? 'keypress' : 'data'), []);
1240 const [rli, fi] = getInterface({ terminal, crlfDelay });
1245 fi.emit('data', '\r');
1247 fi.emit('data', '\n');
1262 const [rli, fi] = getInterface({ terminal, crlfDelay });
1267 fi.emit('data', '\r');
1269 fi.emit('data', '\n');
1280 const [rli, fi] = getInterface({ terminal, crlfDelay });
1285 fi.emit('data', expectedLines.join('\r\n'));
1291 const [rli, fi] = getInterface({ terminal, crlfDelay });
1299 fi.emit('data', `${line}\r`);
1300 fi.emit('data', '\n');
1309 const [rli, fi] = getInterface({ terminal, crlfDelay });
1312 fi.emit('data', '\r');
1314 fi.emit('data', '\n');
1345 const fi = new FakeInput();
1349 input: fi,
1350 output: fi,
1358 const fi = new FakeInput();
1362 input: fi,
1363 output: fi,
1373 const fi = new FakeInput();
1377 input: fi,
1378 output: fi,