mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-10-08 16:49:38 +02:00
Add unit tests for node id strings with keywords
This commit is contained in:
@@ -6,6 +6,27 @@ setConfig({
|
|||||||
securityLevel: 'strict',
|
securityLevel: 'strict',
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const keywords = [
|
||||||
|
'graph',
|
||||||
|
'flowchart',
|
||||||
|
'flowchart-elk',
|
||||||
|
'style',
|
||||||
|
'default',
|
||||||
|
'linkStyle',
|
||||||
|
'interpolate',
|
||||||
|
'classDef',
|
||||||
|
'class',
|
||||||
|
'href',
|
||||||
|
'call',
|
||||||
|
'click',
|
||||||
|
'_self',
|
||||||
|
'_blank',
|
||||||
|
'_parent',
|
||||||
|
'_top',
|
||||||
|
'end',
|
||||||
|
'subgraph',
|
||||||
|
];
|
||||||
|
|
||||||
describe('[Singlenodes] when parsing', () => {
|
describe('[Singlenodes] when parsing', () => {
|
||||||
beforeEach(function () {
|
beforeEach(function () {
|
||||||
flow.parser.yy = flowDb;
|
flow.parser.yy = flowDb;
|
||||||
@@ -259,4 +280,30 @@ describe('[Singlenodes] when parsing', () => {
|
|||||||
expect(edges.length).toBe(0);
|
expect(edges.length).toBe(0);
|
||||||
expect(vert['i_d'].styles.length).toBe(0);
|
expect(vert['i_d'].styles.length).toBe(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it.each(keywords)('should handle keywords between dashes "-"', function (keyword) {
|
||||||
|
const res = flow.parser.parse(`graph TD;a-${keyword}-node;`);
|
||||||
|
const vert = flow.parser.yy.getVertices();
|
||||||
|
expect(vert[`a-${keyword}-node`].text).toBe(`a-${keyword}-node`);
|
||||||
|
});
|
||||||
|
|
||||||
|
it.each(keywords)('should handle keywords between periods "."', function (keyword) {
|
||||||
|
const res = flow.parser.parse(`graph TD;a.${keyword}.node;`);
|
||||||
|
const vert = flow.parser.yy.getVertices();
|
||||||
|
expect(vert[`a.${keyword}.node`].text).toBe(`a.${keyword}.node`);
|
||||||
|
});
|
||||||
|
|
||||||
|
it.each(keywords)('should handle keywords between underscores "_"', function (keyword) {
|
||||||
|
const res = flow.parser.parse(`graph TD;a_${keyword}_node;`);
|
||||||
|
const vert = flow.parser.yy.getVertices();
|
||||||
|
expect(vert[`a_${keyword}_node`].text).toBe(`a_${keyword}_node`);
|
||||||
|
});
|
||||||
|
|
||||||
|
it.each(keywords)('should handle nodes ending in keywords', function (keyword) {
|
||||||
|
const res = flow.parser.parse(`graph TD;node_${keyword};node.${keyword};node-${keyword};`);
|
||||||
|
const vert = flow.parser.yy.getVertices();
|
||||||
|
expect(vert[`node_${keyword}`].text).toBe(`node_${keyword}`);
|
||||||
|
expect(vert[`node.${keyword}`].text).toBe(`node.${keyword}`);
|
||||||
|
expect(vert[`node-${keyword}`].text).toBe(`node-${keyword}`);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user