mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-09-13 12:29:42 +02:00
#4012 Handling rows with only spaces in them
This commit is contained in:
@@ -347,4 +347,16 @@ root
|
|||||||
expect(child.children.length).toEqual(2);
|
expect(child.children.length).toEqual(2);
|
||||||
expect(child.children[1].nodeId).toEqual('b');
|
expect(child.children[1].nodeId).toEqual('b');
|
||||||
});
|
});
|
||||||
|
it('MMP-23 Rows with only spaces should not interfere', function () {
|
||||||
|
let str = 'mindmap\nroot\n A\n \n\n B';
|
||||||
|
mindmap.parse(str);
|
||||||
|
const mm = mindmap.yy.getMindmap();
|
||||||
|
expect(mm.nodeId).toEqual('root');
|
||||||
|
expect(mm.children.length).toEqual(2);
|
||||||
|
|
||||||
|
const child = mm.children[0];
|
||||||
|
expect(child.nodeId).toEqual('A');
|
||||||
|
const child2 = mm.children[1];
|
||||||
|
expect(child2.nodeId).toEqual('B');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
@@ -25,6 +25,7 @@
|
|||||||
<CLASS>\n { this.popState();}
|
<CLASS>\n { this.popState();}
|
||||||
// [\s]*"::icon(" { this.begin('ICON'); }
|
// [\s]*"::icon(" { this.begin('ICON'); }
|
||||||
"::icon(" { yy.getLogger().trace('Begin icon');this.begin('ICON'); }
|
"::icon(" { yy.getLogger().trace('Begin icon');this.begin('ICON'); }
|
||||||
|
[\s]+[\n] {yy.getLogger().trace('SPACELINE');return 'SPACELINE' /* skip all whitespace */ ;}
|
||||||
[\n]+ return 'NL';
|
[\n]+ return 'NL';
|
||||||
<ICON>[^\)]+ { return 'ICON'; }
|
<ICON>[^\)]+ { return 'ICON'; }
|
||||||
<ICON>\) {yy.getLogger().trace('end icon');this.popState();}
|
<ICON>\) {yy.getLogger().trace('end icon');this.popState();}
|
||||||
@@ -72,6 +73,7 @@ start
|
|||||||
stop
|
stop
|
||||||
: NL {yy.getLogger().trace('Stop NL ');}
|
: NL {yy.getLogger().trace('Stop NL ');}
|
||||||
| EOF {yy.getLogger().trace('Stop EOF ');}
|
| EOF {yy.getLogger().trace('Stop EOF ');}
|
||||||
|
| SPACELINE
|
||||||
| stop NL {yy.getLogger().trace('Stop NL2 ');}
|
| stop NL {yy.getLogger().trace('Stop NL2 ');}
|
||||||
| stop EOF {yy.getLogger().trace('Stop EOF2 ');}
|
| stop EOF {yy.getLogger().trace('Stop EOF2 ');}
|
||||||
;
|
;
|
||||||
@@ -81,9 +83,10 @@ document
|
|||||||
;
|
;
|
||||||
|
|
||||||
statement
|
statement
|
||||||
: SPACELIST node { yy.getLogger().trace('Node: ',$2.id);yy.addNode($1.length, $2.id, $2.descr, $2.type); }
|
: SPACELIST node { yy.getLogger().info('Node: ',$2.id);yy.addNode($1.length, $2.id, $2.descr, $2.type); }
|
||||||
| SPACELIST ICON { yy.getLogger().trace('Icon: ',$2);yy.decorateNode({icon: $2}); }
|
| SPACELIST ICON { yy.getLogger().trace('Icon: ',$2);yy.decorateNode({icon: $2}); }
|
||||||
| SPACELIST CLASS { yy.decorateNode({class: $2}); }
|
| SPACELIST CLASS { yy.decorateNode({class: $2}); }
|
||||||
|
| SPACELINE { yy.getLogger().trace('SPACELIST');}
|
||||||
| node { yy.getLogger().trace('Node: ',$1.id);yy.addNode(0, $1.id, $1.descr, $1.type); }
|
| node { yy.getLogger().trace('Node: ',$1.id);yy.addNode(0, $1.id, $1.descr, $1.type); }
|
||||||
| ICON { yy.decorateNode({icon: $1}); }
|
| ICON { yy.decorateNode({icon: $1}); }
|
||||||
| CLASS { yy.decorateNode({class: $1}); }
|
| CLASS { yy.decorateNode({class: $1}); }
|
||||||
|
Reference in New Issue
Block a user