@@ -324,6 +324,41 @@ export const ToolsSuite: TestSuite = {
324324 assert . strictEqual ( rows [ 0 ] . CHANGED , 1713453741000 ) ;
325325 }
326326 } ,
327+ {
328+ name : `Db2 results with bad character` , test : async ( ) => {
329+ const lines = [
330+ `DB2>` ,
331+ ` ?>` ,
332+ `` ,
333+ `LIBRARY NAME TYPE ATTRIBUTE TEXT IS_SOURCE SOURCE_LENGTH IASP_NUMBER ` ,
334+ `---------- ---------- ----- ---------- -------------------------------------------------- ----------- -------------- ------------` ,
335+ `LOGOMATE QCLSRC *FILE PF LogoMate� - Sourcen CL 1 112 0` ,
336+ `LOGOMATE QCMDSRC *FILE PF LogoMate� - Sourcen CMD 1 112 0` ,
337+ `LOGOMATE QMNUSRC *FILE PF LogoMate� - Sourcen MNU 1 112 0` ,
338+ `LOGOMATE QPNLSRC *FILE PF LogoMate� - Sourcen PNLGRP 1 112 0` ,
339+ `LOGOMATE QRPGLECPY *FILE PF LogoMate� - Sourcen RPGLECPY 1 112 0` ,
340+ `LOGOMATE QRPGLEH *FILE PF LogoMate� - Sourcen RPGLEH 1 112 0` ,
341+ `LOGOMATE QRPGLESRC *FILE PF LogoMate� - Sourcen RPGLE 1 112 0` ,
342+ `LOGOMATE QSQDSRC *FILE PF SQL PROCEDURES 1 160 0` ,
343+ `LOGOMATE QSQLSRC *FILE PF LogoMate� - Sourcen SQL 1 112 0` ,
344+ `LOGOMATE QSRVSRC *FILE PF LogoMate� - Sourcen SRV 1 112 0` ,
345+ `` ,
346+ ` 10 RECORD(S) SELECTED.` ,
347+ ]
348+
349+ const rows = Tools . db2Parse ( lines . join ( `\n` ) ) ;
350+ assert . strictEqual ( rows . length , 10 ) ;
351+
352+ assert . strictEqual ( rows [ 0 ] . LIBRARY , `LOGOMATE` ) ;
353+ assert . strictEqual ( rows [ 0 ] . NAME , `QCLSRC` ) ;
354+ assert . strictEqual ( rows [ 0 ] . TYPE , `*FILE` ) ;
355+ assert . strictEqual ( rows [ 0 ] . ATTRIBUTE , `PF` ) ;
356+ assert . strictEqual ( rows [ 0 ] . TEXT , `LogoMate� - Sourcen CL` ) ;
357+ assert . strictEqual ( rows [ 0 ] . IS_SOURCE , 1 ) ;
358+ assert . strictEqual ( rows [ 0 ] . SOURCE_LENGTH , 112 ) ;
359+ assert . strictEqual ( rows [ 0 ] . IASP_NUMBER , 0 ) ;
360+ }
361+ } ,
327362 {
328363 name : "Date attr parsing" , test : async ( ) => {
329364 const date1Epoch = Tools . parseAttrDate ( `Fri Apr 5 09:00:10 2024` ) ;
@@ -346,6 +381,6 @@ export const ToolsSuite: TestSuite = {
346381 assert . strictEqual ( date2 . getUTCMinutes ( ) , 47 ) ;
347382 assert . strictEqual ( date2 . getUTCSeconds ( ) , 2 ) ;
348383 }
349- }
384+ } ,
350385 ]
351386} ;
0 commit comments