From 11351e7c04d1f8b8d3e3220880ea47a9ceb4cf84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Frode=20H=C3=A5skjold?= Date: Thu, 31 Jul 2025 22:09:48 +0200 Subject: [PATCH] fix: file-level RecordInfo name --- src/tests/dspf.test.ts | 14 +++++++++++--- src/ui/dspf.ts | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/tests/dspf.test.ts b/src/tests/dspf.test.ts index 4ce7c34..19514db 100644 --- a/src/tests/dspf.test.ts +++ b/src/tests/dspf.test.ts @@ -12,7 +12,10 @@ describe('DisplayFile tests', () => { ` A 1 3'Opt' `, ` A COLOR(BLU) `, ` A 1 8'Name' `, - ` A COLOR(BLU) ` + ` A COLOR(BLU) `, + ` A R GLOBAL `, + ` A SLNO(04) `, + ` A 1 3'---' `, ]; it('getRangeForFormat', () => { @@ -26,12 +29,17 @@ describe('DisplayFile tests', () => { range = dds.getRangeForFormat(`FMT1`); expect(range?.start).toBe(3); expect(range?.end).toBe(9); - expect(true).toBe(true); range = dds.getRangeForFormat(`HEAD`); expect(range?.start).toBe(1); expect(range?.end).toBe(3); - expect(true).toBe(true); + }); + + it('No duplicate RecordInfo', () => { + let dds = new DisplayFile(); + dds.parse(dspf1); + let names = dds.formats.map(rcd => rcd.name); + expect(new Set(names).size).toBe(names.length); }); }); diff --git a/src/ui/dspf.ts b/src/ui/dspf.ts index 02e237c..955c0ab 100644 --- a/src/ui/dspf.ts +++ b/src/ui/dspf.ts @@ -2,7 +2,7 @@ export interface DdsLineRange { start: number, endHeader?: number, end: number }; export interface DdsUpdate { newLines: string[], range?: DdsLineRange }; -const GLOBAL_RECORD_NAME = `GLOBAL`; +const GLOBAL_RECORD_NAME = `_GLOBAL`; export class DisplayFile { public formats: RecordInfo[] = [];