mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-09-17 14:29:48 +02:00
@@ -28,7 +28,7 @@ accDescr\s*"{"\s* { this.begin("acc_descr_multili
|
|||||||
"erDiagram" return 'ER_DIAGRAM';
|
"erDiagram" return 'ER_DIAGRAM';
|
||||||
"{" { this.begin("block"); return 'BLOCK_START'; }
|
"{" { this.begin("block"); return 'BLOCK_START'; }
|
||||||
<block>\s+ /* skip whitespace in block */
|
<block>\s+ /* skip whitespace in block */
|
||||||
<block>(?:PK)|(?:FK) return 'ATTRIBUTE_KEY'
|
<block>\b((?:PK)|(?:FK))\b return 'ATTRIBUTE_KEY'
|
||||||
<block>[A-Za-z][A-Za-z0-9\-_]* return 'ATTRIBUTE_WORD'
|
<block>[A-Za-z][A-Za-z0-9\-_]* return 'ATTRIBUTE_WORD'
|
||||||
<block>\"[^"]*\" return 'COMMENT';
|
<block>\"[^"]*\" return 'COMMENT';
|
||||||
<block>[\n]+ /* nothing */
|
<block>[\n]+ /* nothing */
|
||||||
|
@@ -72,6 +72,19 @@ describe('when parsing ER diagram it...', function () {
|
|||||||
expect(entities[entity].attributes.length).toBe(1);
|
expect(entities[entity].attributes.length).toBe(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should allow an entity with attribute starting with fk or pk and a comment', function () {
|
||||||
|
const entity = 'BOOK';
|
||||||
|
const attribute1 = 'int fk_title FK';
|
||||||
|
const attribute2 = 'string pk_author PK';
|
||||||
|
const attribute3 = 'float pk_price PK "comment"';
|
||||||
|
|
||||||
|
erDiagram.parser.parse(
|
||||||
|
`erDiagram\n${entity} {\n${attribute1} \n\n${attribute2}\n${attribute3}\n}`
|
||||||
|
);
|
||||||
|
const entities = erDb.getEntities();
|
||||||
|
expect(entities[entity].attributes.length).toBe(3);
|
||||||
|
});
|
||||||
|
|
||||||
it('should allow an entity with multiple attributes to be defined', function () {
|
it('should allow an entity with multiple attributes to be defined', function () {
|
||||||
const entity = 'BOOK';
|
const entity = 'BOOK';
|
||||||
const attribute1 = 'string title';
|
const attribute1 = 'string title';
|
||||||
|
Reference in New Issue
Block a user