From 94dfdf31b8c6e7dd8c29ddb29329db9a01f18799 Mon Sep 17 00:00:00 2001 From: darshanr0107 Date: Tue, 2 Sep 2025 11:40:35 +0530 Subject: [PATCH] fix: add test case to endsure whitespace-only relationship labels are handled on-behalf-of: @Mermaid-Chart --- .../src/diagrams/er/parser/erDiagram.spec.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/mermaid/src/diagrams/er/parser/erDiagram.spec.js b/packages/mermaid/src/diagrams/er/parser/erDiagram.spec.js index aabedfd17..23c41dde9 100644 --- a/packages/mermaid/src/diagrams/er/parser/erDiagram.spec.js +++ b/packages/mermaid/src/diagrams/er/parser/erDiagram.spec.js @@ -995,6 +995,20 @@ describe('when parsing ER diagram it...', function () { expect(rels[0].relSpec.cardB).toBe(erDb.Cardinality.MD_PARENT); expect(rels[0].relSpec.cardA).toBe(erDb.Cardinality.ZERO_OR_MORE); }); + + it('should handle whitespace-only relationship labels', function () { + erDiagram.parser.parse('erDiagram\nBOOK }|..|{ AUTHOR : " "'); + let rels = erDb.getRelationships(); + expect(rels[rels.length - 1].roleA).toBe(' '); + + erDiagram.parser.parse('erDiagram\nBOOK }|..|{ GENRE : "\t"'); + rels = erDb.getRelationships(); + expect(rels[rels.length - 1].roleA).toBe('\t'); + + erDiagram.parser.parse('erDiagram\nAUTHOR }|..|{ GENRE : " "'); + rels = erDb.getRelationships(); + expect(rels[rels.length - 1].roleA).toBe(' '); + }); }); describe('prototype properties', function () {