|
1 | 1 | import { expect, describe, it } from "vitest";
|
2 | 2 | import { DdsLineRange, DisplayFile, FieldInfo } from "../ui/dspf";
|
| 3 | +import exp from "constants"; |
3 | 4 |
|
4 | 5 | describe('DisplayFile tests', () => {
|
5 | 6 |
|
@@ -56,6 +57,44 @@ describe('DisplayFile tests', () => {
|
56 | 57 | range = dds.getRangeForField(`FORM1`, `FLD0102`);
|
57 | 58 | expect(range?.start).toBe(17);
|
58 | 59 | expect(range?.end).toBe(17);
|
| 60 | + }); |
| 61 | + |
| 62 | + it('generates the same as what is provided', () => { |
| 63 | + let dds = new DisplayFile(); |
| 64 | + dds.parse(dspf1); |
| 65 | + |
| 66 | + const form1 = dds.formats.find(f => f.name === `FORM1`); |
| 67 | + expect(form1).toBeDefined(); |
| 68 | + |
| 69 | + const FLD0101 = form1?.fields.find(f => f.name === `FLD0101`); |
| 70 | + expect(FLD0101).toBeDefined(); |
| 71 | + expect(FLD0101?.keywords.length).toBe(2); |
| 72 | + |
| 73 | + const DSPATR = FLD0101?.keywords.find(k => k.name === `DSPATR`); |
| 74 | + expect(DSPATR).toBeDefined(); |
| 75 | + expect(DSPATR?.value).toBe(`PR`); |
| 76 | + expect(DSPATR?.conditions.length).toBe(1); |
| 77 | + |
| 78 | + const cond = DSPATR?.conditions[0]; |
| 79 | + expect(cond).toBeDefined(); |
| 80 | + expect(cond?.indicator).toBe(20); |
| 81 | + expect(cond?.negate).toBeFalsy(); |
| 82 | + |
| 83 | + const generatedKeywordLines = DisplayFile.getLinesForKeyword(DSPATR!); |
| 84 | + expect(generatedKeywordLines.length).toBe(1); |
| 85 | + expect(generatedKeywordLines[0]).toBe(dspf1[15].trimEnd()); |
| 86 | + |
| 87 | + const generateFieldLines = DisplayFile.getLinesForField(FLD0101!); |
| 88 | + expect(generateFieldLines.length).toBe(3); |
| 89 | + |
| 90 | + expect(generateFieldLines[0]).toBe(dspf1[14].trimEnd()); |
| 91 | + expect(generateFieldLines[1]).toBe(dspf1[15].trimEnd()); |
| 92 | + expect(generateFieldLines[2]).toBe(dspf1[16].trimEnd()); |
| 93 | + |
| 94 | + const generatedRecordFormatLines = DisplayFile.getHeaderLinesForFormat(form1!.name, form1!.keywords); |
| 95 | + expect(generatedRecordFormatLines.length).toBe(2); |
| 96 | + expect(generatedRecordFormatLines[0]).toBe(dspf1[12].trimEnd()); |
| 97 | + expect(generatedRecordFormatLines[1]).toBe(dspf1[13].trimEnd()); |
59 | 98 |
|
60 | 99 | });
|
61 | 100 |
|
|
0 commit comments