From 54640ce476bee4f13d1b06374604d96b093d12a8 Mon Sep 17 00:00:00 2001 From: darshanr0107 Date: Thu, 17 Jul 2025 20:11:21 +0530 Subject: [PATCH] resolved PR comments on-behalf-of: @Mermaid-Chart --- .../mermaid/src/diagrams/block/blockDB.ts | 2 +- .../src/diagrams/block/parser/block.spec.ts | 29 +++++++++++-------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/packages/mermaid/src/diagrams/block/blockDB.ts b/packages/mermaid/src/diagrams/block/blockDB.ts index 3974d6d00..39a8b47a0 100644 --- a/packages/mermaid/src/diagrams/block/blockDB.ts +++ b/packages/mermaid/src/diagrams/block/blockDB.ts @@ -102,7 +102,7 @@ const populateBlockDatabase = (_blockList: Block[], parent: Block): void => { typeof block.widthInColumns === 'number' && block.widthInColumns > column ) { - throw new Error( + log.warn( `Block ${block.id} width ${block.widthInColumns} exceeds configured column width ${column}` ); } diff --git a/packages/mermaid/src/diagrams/block/parser/block.spec.ts b/packages/mermaid/src/diagrams/block/parser/block.spec.ts index 2dc79e2ec..21da4e440 100644 --- a/packages/mermaid/src/diagrams/block/parser/block.spec.ts +++ b/packages/mermaid/src/diagrams/block/parser/block.spec.ts @@ -1,6 +1,7 @@ // @ts-ignore: jison doesn't export types import block from './block.jison'; import db from '../blockDB.js'; +import { log } from '../../../logger.js'; describe('Block diagram', function () { describe('when parsing a block diagram graph it should handle > ', function () { @@ -402,20 +403,24 @@ columns 1 const B = blocks[0]; expect(B.styles).toContain('fill:#f9F'); }); - it('should throw error when block width exceeds column width', () => { + it('should log a warning when block width exceeds column width', () => { const str = `block-beta - columns 1 - A:1 - B:2 - C:3 - D:4 - E:3 - F:2 - G:1`; + columns 1 + A:1 + B:2 + C:3 + D:4 + E:3 + F:2 + G:1`; - expect(() => block.parse(str)).toThrowError( - 'Block B width 2 exceeds configured column width 1' - ); + const logWarnSpy = vi.spyOn(log, 'warn').mockImplementation(() => undefined); + + block.parse(str); + + expect(logWarnSpy).toHaveBeenCalledWith('Block B width 2 exceeds configured column width 1'); + + logWarnSpy.mockRestore(); }); });