@@ -45,3 +45,37 @@ describe('Lanes dispose', () => {
4545 expect ( process . stdout . listenerCount ( 'resize' ) ) . toBe ( resizeBefore ) ;
4646 } ) ;
4747} ) ;
48+
49+ describe ( 'Lanes verbose update' , ( ) => {
50+ test ( 'update() without header() writes the log with no "undefined" prefix' , ( ) => {
51+ using lanes = new Lanes ( { verbose : true } ) ;
52+
53+ lanes . update ( 0 , 'some log message' ) ;
54+
55+ expect ( stdoutWriteSpy ) . toHaveBeenCalledWith (
56+ expect . stringContaining ( 'some log message' ) ,
57+ ) ;
58+ expect ( stdoutWriteSpy ) . not . toHaveBeenCalledWith ( expect . stringContaining ( 'undefined' ) ) ;
59+ } ) ;
60+
61+ test ( 'update() after header() still prefixes the log with the header' , ( ) => {
62+ using lanes = new Lanes ( { verbose : true } ) ;
63+
64+ lanes . header ( 'My Header' ) ;
65+ lanes . update ( 0 , 'some log message' ) ;
66+
67+ const lastCall = stdoutWriteSpy . mock . calls . at ( - 1 ) ?. [ 0 ] as string ;
68+ expect ( lastCall ) . toContain ( 'My Header' ) ;
69+ expect ( lastCall ) . toContain ( 'some log message' ) ;
70+ } ) ;
71+
72+ test ( 'update() after header("") still writes without a prefix (empty string is falsy)' , ( ) => {
73+ using lanes = new Lanes ( { verbose : true } ) ;
74+
75+ lanes . header ( '' ) ;
76+ lanes . update ( 0 , 'some log message' ) ;
77+
78+ const lastCall = stdoutWriteSpy . mock . calls . at ( - 1 ) ?. [ 0 ] as string ;
79+ expect ( lastCall ) . not . toContain ( 'undefined' ) ;
80+ } ) ;
81+ } ) ;
0 commit comments