@@ -63,6 +63,43 @@ exports[`select (isCI = false) > down arrow selects next option 1`] = `
6363]
6464`;
6565
66+ exports[`select (isCI = false) > handles mixed size re-renders 1`] = `
67+ [
68+ "<cursor.hide >",
69+ "[90m│[39m
70+ [36m◆[39m Whatever
71+ [36m│[39m [32m●[39m Long Option
72+ [36m│[39m Long Option
73+ [36m│[39m Long Option
74+ [36m│[39m Long Option
75+ [36m│[39m Long Option
76+ [36m│[39m Long Option
77+ [36m│[39m Long Option
78+ [36m│[39m Long Option
79+ [36m│[39m [2m...[22m
80+ [36m└[39m
81+ ",
82+ "<cursor.backward count =999><cursor.up count =12>",
83+ " <cursor.down count=2>" ,
84+ " <erase.down>" ,
85+ " [36m│[39m [2m...[22m
86+ [36m│[39m [2m○[22m [2mOption 0[22m
87+ [36m│[39m [2m○[22m [2mOption 1[22m
88+ [36m│[39m [2m○[22m [2mOption 2[22m
89+ [36m│[39m [32m●[39m Option 3
90+ [36m└[39m
91+ " ,
92+ " <cursor.backward count=999><cursor.up count=8>" ,
93+ " <cursor.down count=1>" ,
94+ " <erase.down>" ,
95+ " [32m◇[39m Whatever
96+ [90m│[39m [2mOption 3[22m" ,
97+ "
98+ " ,
99+ " <cursor.show>" ,
100+ ]
101+ `;
102+
66103exports[`select (isCI = false) > renders disabled options 1`] = `
67104[
68105 "<cursor.hide >",
@@ -84,6 +121,35 @@ exports[`select (isCI = false) > renders disabled options 1`] = `
84121]
85122`;
86123
124+ exports[`select (isCI = false) > renders multi-line option labels 1`] = `
125+ [
126+ "<cursor.hide >",
127+ "[90m│[39m
128+ [36m◆[39m foo
129+ [36m│[39m [32m●[39m Option 0
130+ [36m│[39m with multiple lines
131+ [36m│[39m [2m○[22m [2mOption 1[22m
132+ [36m└[39m
133+ ",
134+ "<cursor.backward count =999><cursor.up count =6>",
135+ " <cursor.down count=2>" ,
136+ " <erase.down>" ,
137+ " [36m│[39m [2m○[22m [2mOption 0[22m
138+ [36m│[39m [2mwith multiple lines[22m
139+ [36m│[39m [32m●[39m Option 1
140+ [36m└[39m
141+ " ,
142+ " <cursor.backward count=999><cursor.up count=6>" ,
143+ " <cursor.down count=1>" ,
144+ " <erase.down>" ,
145+ " [32m◇[39m foo
146+ [90m│[39m [2mOption 1[22m" ,
147+ "
148+ " ,
149+ " <cursor.show>" ,
150+ ]
151+ `;
152+
87153exports[`select (isCI = false) > renders option hints 1`] = `
88154[
89155 "<cursor.hide >",
@@ -207,6 +273,30 @@ exports[`select (isCI = false) > wraps long cancelled message 1`] = `
207273]
208274`;
209275
276+ exports[`select (isCI = false) > wraps long messages 1`] = `
277+ [
278+ "<cursor.hide >",
279+ "[90m│[39m
280+ [36m◆[39m foo foo foo foo foo foo foo
281+ [36m│[39m foo foo foo foo foo foo
282+ [36m│[39m foo foo foo foo foo foo foo
283+ [36m│[39m [32m●[39m opt0
284+ [36m│[39m [2m○[22m [2mopt1[22m
285+ [36m└[39m
286+ ",
287+ "<cursor.backward count =999><cursor.up count =7>",
288+ " <cursor.down count=1>" ,
289+ " <erase.down>" ,
290+ " [32m◇[39m foo foo foo foo foo foo foo
291+ [90m│[39m foo foo foo foo foo foo
292+ [90m│[39m foo foo foo foo foo foo foo
293+ [90m│[39m [2mopt0[22m" ,
294+ "
295+ " ,
296+ " <cursor.show>" ,
297+ ]
298+ `;
299+
210300exports[`select (isCI = false) > wraps long results 1`] = `
211301[
212302 "<cursor.hide >",
@@ -298,6 +388,43 @@ exports[`select (isCI = true) > down arrow selects next option 1`] = `
298388]
299389`;
300390
391+ exports[`select (isCI = true) > handles mixed size re-renders 1`] = `
392+ [
393+ "<cursor.hide >",
394+ "[90m│[39m
395+ [36m◆[39m Whatever
396+ [36m│[39m [32m●[39m Long Option
397+ [36m│[39m Long Option
398+ [36m│[39m Long Option
399+ [36m│[39m Long Option
400+ [36m│[39m Long Option
401+ [36m│[39m Long Option
402+ [36m│[39m Long Option
403+ [36m│[39m Long Option
404+ [36m│[39m [2m...[22m
405+ [36m└[39m
406+ ",
407+ "<cursor.backward count =999><cursor.up count =12>",
408+ " <cursor.down count=2>" ,
409+ " <erase.down>" ,
410+ " [36m│[39m [2m...[22m
411+ [36m│[39m [2m○[22m [2mOption 0[22m
412+ [36m│[39m [2m○[22m [2mOption 1[22m
413+ [36m│[39m [2m○[22m [2mOption 2[22m
414+ [36m│[39m [32m●[39m Option 3
415+ [36m└[39m
416+ " ,
417+ " <cursor.backward count=999><cursor.up count=8>" ,
418+ " <cursor.down count=1>" ,
419+ " <erase.down>" ,
420+ " [32m◇[39m Whatever
421+ [90m│[39m [2mOption 3[22m" ,
422+ "
423+ " ,
424+ " <cursor.show>" ,
425+ ]
426+ `;
427+
301428exports[`select (isCI = true) > renders disabled options 1`] = `
302429[
303430 "<cursor.hide >",
@@ -319,6 +446,35 @@ exports[`select (isCI = true) > renders disabled options 1`] = `
319446]
320447`;
321448
449+ exports[`select (isCI = true) > renders multi-line option labels 1`] = `
450+ [
451+ "<cursor.hide >",
452+ "[90m│[39m
453+ [36m◆[39m foo
454+ [36m│[39m [32m●[39m Option 0
455+ [36m│[39m with multiple lines
456+ [36m│[39m [2m○[22m [2mOption 1[22m
457+ [36m└[39m
458+ ",
459+ "<cursor.backward count =999><cursor.up count =6>",
460+ " <cursor.down count=2>" ,
461+ " <erase.down>" ,
462+ " [36m│[39m [2m○[22m [2mOption 0[22m
463+ [36m│[39m [2mwith multiple lines[22m
464+ [36m│[39m [32m●[39m Option 1
465+ [36m└[39m
466+ " ,
467+ " <cursor.backward count=999><cursor.up count=6>" ,
468+ " <cursor.down count=1>" ,
469+ " <erase.down>" ,
470+ " [32m◇[39m foo
471+ [90m│[39m [2mOption 1[22m" ,
472+ "
473+ " ,
474+ " <cursor.show>" ,
475+ ]
476+ `;
477+
322478exports[`select (isCI = true) > renders option hints 1`] = `
323479[
324480 "<cursor.hide >",
@@ -442,6 +598,30 @@ exports[`select (isCI = true) > wraps long cancelled message 1`] = `
442598]
443599`;
444600
601+ exports[`select (isCI = true) > wraps long messages 1`] = `
602+ [
603+ "<cursor.hide >",
604+ "[90m│[39m
605+ [36m◆[39m foo foo foo foo foo foo foo
606+ [36m│[39m foo foo foo foo foo foo
607+ [36m│[39m foo foo foo foo foo foo foo
608+ [36m│[39m [32m●[39m opt0
609+ [36m│[39m [2m○[22m [2mopt1[22m
610+ [36m└[39m
611+ ",
612+ "<cursor.backward count =999><cursor.up count =7>",
613+ " <cursor.down count=1>" ,
614+ " <erase.down>" ,
615+ " [32m◇[39m foo foo foo foo foo foo foo
616+ [90m│[39m foo foo foo foo foo foo
617+ [90m│[39m foo foo foo foo foo foo foo
618+ [90m│[39m [2mopt0[22m" ,
619+ "
620+ " ,
621+ " <cursor.show>" ,
622+ ]
623+ `;
624+
445625exports[`select (isCI = true) > wraps long results 1`] = `
446626[
447627 "<cursor.hide >",
0 commit comments