Skip to content

Commit 64ab6c1

Browse files
committed
Column to RPG definition test
1 parent c797ced commit 64ab6c1

File tree

1 file changed

+37
-2
lines changed

1 file changed

+37
-2
lines changed

src/views/results/codegen.test.ts

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,43 @@
11
import { assert, expect, test } from 'vitest'
22
import { columnToRpgDefinition } from './codegen';
33

4-
test('Basic tokens', () => {
5-
const rpgdef = columnToRpgDefinition({display_size: 0, label: '', name: '', type: 'VARCHAR', precision: 60, scale: 0});
4+
test('Column to RPG definition', () => {
5+
let rpgdef;
6+
7+
rpgdef = columnToRpgDefinition({display_size: 0, label: '', name: '', type: 'NUMERIC', precision: 11, scale: 0});
8+
expect(rpgdef).toBe('zoned(11)');
9+
10+
rpgdef = columnToRpgDefinition({display_size: 0, label: '', name: '', type: 'DECIMAL', precision: 13, scale: 2});
11+
expect(rpgdef).toBe('packed(13 : 2)');
12+
13+
rpgdef = columnToRpgDefinition({display_size: 0, label: '', name: '', type: 'VARCHAR', precision: 60, scale: 0});
614
expect(rpgdef).toBe('varchar(60)');
15+
16+
rpgdef = columnToRpgDefinition({display_size: 0, label: '', name: '', type: 'CHAR', precision: 10, scale: 0});
17+
expect(rpgdef).toBe('char(10)');
18+
19+
rpgdef = columnToRpgDefinition({display_size: 0, label: '', name: '', type: 'DATE', precision: 0, scale: 0});
20+
expect(rpgdef).toBe('date');
21+
22+
rpgdef = columnToRpgDefinition({display_size: 0, label: '', name: '', type: 'TIME', precision: 0, scale: 0});
23+
expect(rpgdef).toBe('time');
24+
25+
rpgdef = columnToRpgDefinition({display_size: 0, label: '', name: '', type: 'TIMESTAMP', precision: 0, scale: 0});
26+
expect(rpgdef).toBe('timestamp');
27+
28+
rpgdef = columnToRpgDefinition({display_size: 0, label: '', name: '', type: 'SMALLINT', precision: 0, scale: 0});
29+
expect(rpgdef).toBe('int(5)');
30+
31+
rpgdef = columnToRpgDefinition({display_size: 0, label: '', name: '', type: 'INTEGER', precision: 0, scale: 0});
32+
expect(rpgdef).toBe('int(10)');
33+
34+
rpgdef = columnToRpgDefinition({display_size: 0, label: '', name: '', type: 'BIGINT', precision: 0, scale: 0});
35+
expect(rpgdef).toBe('int(20)');
36+
37+
rpgdef = columnToRpgDefinition({display_size: 0, label: '', name: '', type: 'BOOLEAN', precision: 0, scale: 0});
38+
expect(rpgdef).toBe('ind');
39+
40+
rpgdef = columnToRpgDefinition({display_size: 0, label: '', name: '', type: 'SOME_UNKNOWN_TYPE', precision: 0, scale: 0});
41+
expect(rpgdef).toBe('// type:SOME_UNKNOWN_TYPE precision:0 scale:0');
742
});
843

0 commit comments

Comments
 (0)