diff --git a/packages/mermaid/src/diagrams/class/classDiagramGrammar.spec.js b/packages/mermaid/src/diagrams/class/classDiagramGrammar.spec.js deleted file mode 100644 index 4e9e99c70..000000000 --- a/packages/mermaid/src/diagrams/class/classDiagramGrammar.spec.js +++ /dev/null @@ -1,13 +0,0 @@ -// eslint-disable-next-line @typescript-eslint/no-var-requires -const fs = require('fs'); - -import { LALRGenerator } from 'jison'; - -describe('class diagram grammar', function () { - it('should introduce no new conflicts', function () { - const file = require.resolve('./parser/classDiagram.jison'); - const grammarSource = fs.readFileSync(file, 'utf8'); - const grammarParser = new LALRGenerator(grammarSource, {}); - expect(grammarParser.conflicts < 16).toBe(true); - }); -}); diff --git a/packages/mermaid/src/diagrams/class/classDiagramGrammar.spec.ts b/packages/mermaid/src/diagrams/class/classDiagramGrammar.spec.ts new file mode 100644 index 000000000..eb0c37969 --- /dev/null +++ b/packages/mermaid/src/diagrams/class/classDiagramGrammar.spec.ts @@ -0,0 +1,16 @@ +import { readFile } from 'node:fs/promises'; +// @ts-ignore - no types +import { LALRGenerator } from 'jison'; +import path from 'path'; + +const getAbsolutePath = (relativePath: string) => { + return new URL(path.join(path.dirname(import.meta.url), relativePath)).pathname; +}; + +describe('class diagram grammar', function () { + it('should have no conflicts', async function () { + const grammarSource = await readFile(getAbsolutePath('./parser/classDiagram.jison'), 'utf8'); + const grammarParser = new LALRGenerator(grammarSource, {}); + expect(grammarParser.conflicts).toBe(0); + }); +});