@@ -74,6 +74,7 @@ const tests = [
74
74
env : { NODE_REPL_HISTORY : defaultHistoryPath } ,
75
75
test : [ 'let ab = 45' , ENTER ,
76
76
'555 + 909' , ENTER ,
77
+ 'let autocompleteMe = 123' , ENTER ,
77
78
'{key : {key2 :[] }}' , ENTER ,
78
79
'Array(100).fill(1).map((e, i) => i ** i)' , LEFT , LEFT , DELETE ,
79
80
'2' , ENTER ] ,
@@ -82,7 +83,7 @@ const tests = [
82
83
} ,
83
84
{
84
85
env : { NODE_REPL_HISTORY : defaultHistoryPath } ,
85
- test : [ UP , UP , UP , UP , UP , DOWN , DOWN , DOWN , DOWN , DOWN ] ,
86
+ test : [ UP , UP , UP , UP , UP , UP , DOWN , DOWN , DOWN , DOWN , DOWN , DOWN ] ,
86
87
expected : [ prompt ,
87
88
`${ prompt } Array(100).fill(1).map((e, i) => i ** 2)` ,
88
89
prev && '\n// [ 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, ' +
@@ -92,13 +93,15 @@ const tests = [
92
93
' 2025, 2116, 2209,...' ,
93
94
`${ prompt } {key : {key2 :[] }}` ,
94
95
prev && '\n// { key: { key2: [] } }' ,
96
+ `${ prompt } let autocompleteMe = 123` ,
95
97
`${ prompt } 555 + 909` ,
96
98
prev && '\n// 1464' ,
97
99
`${ prompt } let ab = 45` ,
98
100
prompt ,
99
101
`${ prompt } let ab = 45` ,
100
102
`${ prompt } 555 + 909` ,
101
103
prev && '\n// 1464' ,
104
+ `${ prompt } let autocompleteMe = 123` ,
102
105
`${ prompt } {key : {key2 :[] }}` ,
103
106
prev && '\n// { key: { key2: [] } }' ,
104
107
`${ prompt } Array(100).fill(1).map((e, i) => i ** 2)` ,
@@ -128,7 +131,7 @@ const tests = [
128
131
preview : false ,
129
132
showEscapeCodes : true ,
130
133
test : [
131
- '55' , UP , UP , UP , UP , UP , UP , ENTER ,
134
+ '55' , UP , UP , UP , UP , UP , UP , UP , ENTER ,
132
135
] ,
133
136
expected : [
134
137
'\x1B[1G' , '\x1B[0J' , prompt , '\x1B[3G' ,
@@ -185,10 +188,10 @@ const tests = [
185
188
ENTER ,
186
189
'veryLongName' . repeat ( 30 ) ,
187
190
ENTER ,
188
- `${ '\x1B[90m \x1B[39m' . repeat ( 235 ) } fun ` ,
191
+ `${ '\x1B[90m \x1B[39m' . repeat ( 229 ) } aut ` ,
189
192
ESCAPE ,
190
193
ENTER ,
191
- `${ ' ' . repeat ( 236 ) } fun ` ,
194
+ `${ ' ' . repeat ( 230 ) } aut ` ,
192
195
ESCAPE ,
193
196
ENTER ,
194
197
] ,
@@ -236,19 +239,20 @@ const tests = [
236
239
prompt , '\x1B[3G' ,
237
240
// 1. UP
238
241
// This exceeds the maximum columns (250):
239
- // Whitespace + prompt + ' // '.length + 'function '.length
240
- // 236 + 2 + 4 + 8
242
+ // Whitespace + prompt + ' // '.length + 'autocompleteMe '.length
243
+ // 230 + 2 + 4 + 14
241
244
'\x1B[1G' , '\x1B[0J' ,
242
- `${ prompt } ${ ' ' . repeat ( 236 ) } fun` , '\x1B[243G' ,
243
- ' // ction' , '\x1B[243G' ,
244
- ' // ction' , '\x1B[243G' ,
245
+ `${ prompt } ${ ' ' . repeat ( 230 ) } aut` , '\x1B[237G' ,
246
+ ' // ocompleteMe' , '\x1B[237G' ,
247
+ '\n// 123' , '\x1B[237G' ,
248
+ '\x1B[1A' , '\x1B[1B' , '\x1B[2K' , '\x1B[1A' ,
245
249
'\x1B[0K' ,
246
250
// 2. UP
247
251
'\x1B[1G' , '\x1B[0J' ,
248
- `${ prompt } ${ ' ' . repeat ( 235 ) } fun ` , '\x1B[242G ' ,
249
- // TODO(BridgeAR): Investigate why the preview is generated twice.
250
- ' // ction ' , '\x1B[242G ' ,
251
- ' // ction' , '\x1B[242G ' ,
252
+ `${ prompt } ${ ' ' . repeat ( 229 ) } aut ` , '\x1B[236G ' ,
253
+ ' // ocompleteMe' , '\x1B[236G' ,
254
+ '\n // 123 ' , '\x1B[236G ' ,
255
+ '\x1B[1A' , '\x1B[1B' , '\x1B[2K' , '\x1B[1A ' ,
252
256
// Preview cleanup
253
257
'\x1B[0K' ,
254
258
// 3. UP
@@ -326,8 +330,8 @@ const tests = [
326
330
skip : ! process . features . inspector ,
327
331
checkTotal : true ,
328
332
test : [
329
- 'fu ' ,
330
- 'n ' ,
333
+ 'au ' ,
334
+ 't ' ,
331
335
RIGHT ,
332
336
BACKSPACE ,
333
337
LEFT ,
@@ -353,74 +357,93 @@ const tests = [
353
357
// K = Erase in line; 0 = right; 1 = left; 2 = total
354
358
expected : [
355
359
// 0.
356
- // 'f '
357
- '\x1B[1G' , '\x1B[0J' , prompt , '\x1B[3G' , 'f ' ,
360
+ // 'a '
361
+ '\x1B[1G' , '\x1B[0J' , prompt , '\x1B[3G' , 'a ' ,
358
362
// 'u'
359
- 'u' , ' // nction' , '\x1B[5G' ,
360
- // 'n' - Cleanup
363
+ 'u' , ' // tocompleteMe' , '\x1B[5G' ,
364
+ '\n// 123' , '\x1B[5G' ,
365
+ '\x1B[1A' , '\x1B[1B' , '\x1B[2K' , '\x1B[1A' ,
366
+ // 't' - Cleanup
361
367
'\x1B[0K' ,
362
- 'n' , ' // ction' , '\x1B[6G' ,
368
+ 't' , ' // ocompleteMe' , '\x1B[6G' ,
369
+ '\n// 123' , '\x1B[6G' ,
370
+ '\x1B[1A' , '\x1B[1B' , '\x1B[2K' , '\x1B[1A' ,
363
371
// 1. Right. Cleanup
364
372
'\x1B[0K' ,
365
- 'ction' ,
373
+ 'ocompleteMe' ,
374
+ '\n// 123' , '\x1B[17G' ,
375
+ '\x1B[1A' , '\x1B[1B' , '\x1B[2K' , '\x1B[1A' ,
366
376
// 2. Backspace. Refresh
367
- '\x1B[1G' , '\x1B[0J' , `${ prompt } functio ` , '\x1B[10G ' ,
377
+ '\x1B[1G' , '\x1B[0J' , `${ prompt } autocompleteM ` , '\x1B[16G ' ,
368
378
// Autocomplete and refresh?
369
- ' // n' , '\x1B[10G' , ' // n' , '\x1B[10G' ,
379
+ ' // e' , '\x1B[16G' ,
380
+ '\n// 123' , '\x1B[16G' ,
381
+ '\x1B[1A' , '\x1B[1B' , '\x1B[2K' , '\x1B[1A' ,
370
382
// 3. Left. Cleanup
371
383
'\x1B[0K' ,
372
- '\x1B[1D' , '\x1B[10G ' , ' // n ' , '\x1B[9G ' ,
384
+ '\x1B[1D' , '\x1B[16G ' , ' // e ' , '\x1B[15G ' ,
373
385
// 4. Left. Cleanup
374
- '\x1B[10G ' , '\x1B[0K' , '\x1B[9G ' ,
375
- '\x1B[1D' , '\x1B[10G ' , ' // n ' , '\x1B[8G ' ,
386
+ '\x1B[16G ' , '\x1B[0K' , '\x1B[15G ' ,
387
+ '\x1B[1D' , '\x1B[16G ' , ' // e ' , '\x1B[14G ' ,
376
388
// 5. 'A' - Cleanup
377
- '\x1B[10G ' , '\x1B[0K' , '\x1B[8G ' ,
389
+ '\x1B[16G ' , '\x1B[0K' , '\x1B[14G ' ,
378
390
// Refresh
379
- '\x1B[1G' , '\x1B[0J' , `${ prompt } functAio ` , '\x1B[9G ' ,
391
+ '\x1B[1G' , '\x1B[0J' , `${ prompt } autocompletAeM ` , '\x1B[15G ' ,
380
392
// 6. Backspace. Refresh
381
- '\x1B[1G' , '\x1B[0J' , `${ prompt } functio` , '\x1B[8G' , '\x1B[10G' , ' // n' ,
382
- '\x1B[8G' , '\x1B[10G' , ' // n' ,
383
- '\x1B[8G' , '\x1B[10G' ,
393
+ '\x1B[1G' , '\x1B[0J' , `${ prompt } autocompleteM` ,
394
+ '\x1B[14G' , '\x1B[16G' , ' // e' ,
395
+ '\x1B[14G' , '\x1B[16G' , ' // e' ,
396
+ '\x1B[14G' , '\x1B[16G' ,
384
397
// 7. Go to end. Cleanup
385
- '\x1B[0K' , '\x1B[8G' , '\x1B[2C' ,
386
- 'n' ,
398
+ '\x1B[0K' , '\x1B[14G' , '\x1B[2C' ,
399
+ 'e' ,
400
+ '\n// 123' , '\x1B[17G' ,
401
+ '\x1B[1A' , '\x1B[1B' , '\x1B[2K' , '\x1B[1A' ,
387
402
// 8. Backspace. Refresh
388
- '\x1B[1G' , '\x1B[0J' , `${ prompt } functio ` , '\x1B[10G ' ,
403
+ '\x1B[1G' , '\x1B[0J' , `${ prompt } autocompleteM ` , '\x1B[16G ' ,
389
404
// Autocomplete
390
- ' // n' , '\x1B[10G' , ' // n' , '\x1B[10G' ,
405
+ ' // e' , '\x1B[16G' ,
406
+ '\n// 123' , '\x1B[16G' ,
407
+ '\x1B[1A' , '\x1B[1B' , '\x1B[2K' , '\x1B[1A' ,
391
408
// 9. Word left. Cleanup
392
- '\x1B[0K' , '\x1B[7D ' , '\x1B[10G ' , ' // n ' , '\x1B[3G' , '\x1B[10G ' ,
409
+ '\x1B[0K' , '\x1B[13D ' , '\x1B[16G ' , ' // e ' , '\x1B[3G' , '\x1B[16G ' ,
393
410
// 10. Word right. Cleanup
394
- '\x1B[0K' , '\x1B[3G' , '\x1B[7C' , ' // n' , '\x1B[10G' ,
411
+ '\x1B[0K' , '\x1B[3G' , '\x1B[13C' , ' // e' , '\x1B[16G' ,
412
+ '\n// 123' , '\x1B[16G' ,
413
+ '\x1B[1A' , '\x1B[1B' , '\x1B[2K' , '\x1B[1A' ,
395
414
// 11. ESCAPE
396
415
'\x1B[0K' ,
397
416
// 12. ENTER
398
417
'\r\n' ,
399
- 'Uncaught ReferenceError: functio is not defined\n' ,
418
+ 'Uncaught ReferenceError: autocompleteM is not defined\n' ,
400
419
'\x1B[1G' , '\x1B[0J' ,
401
420
// 13. UP
402
421
prompt , '\x1B[3G' , '\x1B[1G' , '\x1B[0J' ,
403
- `${ prompt } functio` , '\x1B[10G' ,
404
- ' // n' , '\x1B[10G' ,
405
- ' // n' , '\x1B[10G' ,
422
+ `${ prompt } autocompleteM` , '\x1B[16G' ,
423
+ ' // e' , '\x1B[16G' ,
424
+ '\n// 123' , '\x1B[16G' ,
425
+ '\x1B[1A' , '\x1B[1B' , '\x1B[2K' , '\x1B[1A' ,
406
426
// 14. LEFT
407
- '\x1B[0K' , '\x1B[1D' ,
408
- '\x1B[10G' , ' // n ', '\x1B[9G ' , '\x1B[10G ' ,
427
+ '\x1B[0K' , '\x1B[1D' , '\x1B[16G' ,
428
+ ' // e ' , '\x1B[15G ' , '\x1B[16G ' ,
409
429
// 15. ENTER
410
- '\x1B[0K' , '\x1B[9G ' , '\x1B[1C' ,
430
+ '\x1B[0K' , '\x1B[15G ' , '\x1B[1C' ,
411
431
'\r\n' ,
412
- 'Uncaught ReferenceError: functio is not defined\n' ,
432
+ 'Uncaught ReferenceError: autocompleteM is not defined\n' ,
413
433
'\x1B[1G' , '\x1B[0J' ,
414
- '> ' , '\x1B[3G' ,
434
+ prompt , '\x1B[3G' ,
415
435
// 16. UP
416
436
'\x1B[1G' , '\x1B[0J' ,
417
- '> functio' , '\x1B[10G' ,
418
- ' // n' , '\x1B[10G' ,
419
- ' // n' , '\x1B[10G' , '\x1B[0K' ,
437
+ `${ prompt } autocompleteM` , '\x1B[16G' ,
438
+ ' // e' , '\x1B[16G' ,
439
+ '\n// 123' , '\x1B[16G' ,
440
+ '\x1B[1A' , '\x1B[1B' , '\x1B[2K' , '\x1B[1A' ,
441
+ '\x1B[0K' ,
420
442
// 17. ENTER
421
- 'n' , '\r\n' ,
443
+ 'e' , '\r\n' ,
444
+ '123\n' ,
422
445
'\x1B[1G' , '\x1B[0J' ,
423
- '... ' , '\x1B[5G ' ,
446
+ prompt , '\x1B[3G ' ,
424
447
'\r\n' ,
425
448
] ,
426
449
clean : true
0 commit comments