Compare commits

...

3 Commits

Author SHA1 Message Date
darshanr0107
d2774269cf fix: test case diagram code
on-behalf-of: @Mermaid-Chart <hello@mermaidchart.com>
2025-11-05 19:27:09 +05:30
darshanr0107
015af7603e chore: add changeset
on-behalf-of: @Mermaid-Chart <hello@mermaidchart.com>
2025-10-17 12:49:15 +05:30
darshanr0107
c810fab231 fix: handle backslash parsing in math formulas within new shape syntax
on-behalf-of: @Mermaid-Chart <hello@mermaidchart.com>
2025-10-17 12:43:59 +05:30
3 changed files with 18 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
---
'mermaid': patch
---
fix: Handle backslash parsing in math formulas within new flowchart shape syntax

View File

@@ -144,6 +144,18 @@ describe('when parsing directions', function () {
expect(data4Layout.nodes[0].shape).toEqual('rounded');
expect(data4Layout.nodes[0].label).toEqual('DD');
});
it('should handle mathematical formulas with backslashes in quoted strings', function () {
/* eslint-disable no-useless-escape */
const res = flow.parser.parse(`flowchart RL
H@{ shape: rect, label: "$$\sin x$$"}`);
/* eslint-enable no-useless-escape */
const data4Layout = flow.parser.yy.getData();
expect(data4Layout.nodes.length).toBe(1);
expect(data4Layout.nodes[0].shape).toEqual('rect');
expect(data4Layout.nodes[0].label).toEqual('$$sin x$$');
});
it('should be possible to link to a node with more data', function () {
const res = flow.parser.parse(`flowchart TB
A --> D@{

View File

@@ -53,6 +53,7 @@ accDescr\s*"{"\s* { this.begin("acc_descr_multilin
// console.log('shapeData', yytext);
const re = /\n\s*/g;
yytext = yytext.replace(re,"<br/>");
yytext = yytext.replace(/\\/g, "\\\\");
return 'SHAPE_DATA'}
<shapeData>[^}^"]+ {
// console.log('shapeData', yytext);