@@ -48,6 +48,75 @@ export const ToolsSuite: TestSuite = {
48
48
statement = Tools . fixSQL ( "@COMMAND LIB(QTEMP/*ALL) TEXT('Hello!');\nSelect * From QTEMP.MYTABLE -- This is mytable" ) ;
49
49
assert . deepStrictEqual ( statement , "Call QSYS2.QCMDEXC('COMMAND LIB(QTEMP/*ALL) TEXT(''Hello!'')');\nSelect * From QTEMP.MYTABLE \n-- This is mytable" ) ;
50
50
}
51
+ } ,
52
+ {
53
+ name : `EN result set test` , test : async ( ) => {
54
+ const lines = [
55
+ `DB2>` ,
56
+ ` ?>` ,
57
+ ` ?>` ,
58
+ ` ?>` ,
59
+ ` ?>` ,
60
+ ` ?>` ,
61
+ ` ?>` ,
62
+ `` ,
63
+ `CUSNUM LSTNAM INIT STREET CITY STATE ZIPCOD CDTLMT CHGCOD BALDUE CDTDUE ` ,
64
+ `-------- -------- ----- ------------- ------ ------ ------- ------- ------- -------- --------` ,
65
+ ` 938472 Henning G K 4859 Elm Ave Dallas TX 75217 5000 3 37.00 0.00` ,
66
+ `` ,
67
+ ` 1 RECORD(S) SELECTED.` ,
68
+ ]
69
+
70
+ const rows = Tools . db2Parse ( lines . join ( `\n` ) ) ;
71
+
72
+ assert . strictEqual ( rows . length , 1 ) ;
73
+
74
+ assert . strictEqual ( rows [ 0 ] . CUSNUM , 938472 ) ;
75
+ assert . strictEqual ( rows [ 0 ] . LSTNAM , `Henning` ) ;
76
+ assert . strictEqual ( rows [ 0 ] . INIT , `G K` ) ;
77
+ assert . strictEqual ( rows [ 0 ] . STREET , `4859 Elm Ave` ) ;
78
+ assert . strictEqual ( rows [ 0 ] . CITY , `Dallas` ) ;
79
+ assert . strictEqual ( rows [ 0 ] . STATE , `TX` ) ;
80
+ assert . strictEqual ( rows [ 0 ] . ZIPCOD , 75217 ) ;
81
+ assert . strictEqual ( rows [ 0 ] . CDTLMT , 5000 ) ;
82
+ assert . strictEqual ( rows [ 0 ] . CHGCOD , 3 ) ;
83
+ assert . strictEqual ( rows [ 0 ] . BALDUE , 37 ) ;
84
+ assert . strictEqual ( rows [ 0 ] . CDTDUE , 0 ) ;
85
+ }
86
+ } ,
87
+ {
88
+ name : `JP result set test` , test : async ( ) => {
89
+ const lines = [
90
+ `DB2>` ,
91
+ ` ?>` ,
92
+ ` ?>` ,
93
+ ` ?>` ,
94
+ ` ?>` ,
95
+ `` ,
96
+ `` ,
97
+ `LIBRARY RECORD_LENGTH ASP SOURCE_FILE NAME TYPE TEXT LINES CREATED CHANGED ` ,
98
+ `---------- -------------------- ------ ------------ ---------- ---------- ------------------------------------------------------------------------------------------------------------------------------ -------------------- -------------------- --------------------` ,
99
+ `SNDLIB 112 0 QRPGLESRC SNDDEFD DSPF 送信定義一覧/追加・修正 124 1712670631000 1712683676000` ,
100
+ `SNDLIB 112 0 QRPGLESRC SNDDEFR RPGLE 送信定義一覧/追加・修正 386 1712683661000 1712683692000` ,
101
+ `` ,
102
+ ` 2 RECORD(S) SELECTED.` ,
103
+ ] ;
104
+
105
+ const rows = Tools . db2Parse ( lines . join ( `\n` ) ) ;
106
+
107
+ assert . strictEqual ( rows . length , 2 ) ;
108
+
109
+ assert . strictEqual ( rows [ 0 ] . LIBRARY , `SNDLIB` ) ;
110
+ assert . strictEqual ( rows [ 0 ] . RECORD_LENGTH , 112 ) ;
111
+ assert . strictEqual ( rows [ 0 ] . ASP , 0 ) ;
112
+ assert . strictEqual ( rows [ 0 ] . SOURCE_FILE , `QRPGLESRC` ) ;
113
+ assert . strictEqual ( rows [ 0 ] . NAME , `SNDDEFD` ) ;
114
+ assert . strictEqual ( rows [ 0 ] . TYPE , `DSPF` ) ;
115
+ assert . strictEqual ( rows [ 0 ] . TEXT , `送信定義一覧/追加・修正` ) ;
116
+ assert . strictEqual ( rows [ 0 ] . LINES , 124 ) ;
117
+ assert . strictEqual ( rows [ 0 ] . CREATED , 1712670631000 ) ;
118
+ assert . strictEqual ( rows [ 0 ] . CHANGED , 1712683676000 ) ;
119
+ }
51
120
}
52
121
]
53
122
} ;
0 commit comments