mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-09-09 18:39:41 +02:00
Changes to timeline.spec.js
1. Re-organized the new TL-6 test to not use a for-loop with a switch case. 2. Imported the commonDb module to ensure titles are be tested. 3. Use indices to retrieve elements that need to be tested.
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import { parser as timeline } from './parser/timeline.jison';
|
import { parser as timeline } from './parser/timeline.jison';
|
||||||
import * as timelineDB from './timelineDb.js';
|
import * as timelineDB from './timelineDb.js';
|
||||||
|
import * as commonDb from '../common/commonDb.js';
|
||||||
import { setLogLevel } from '../../diagram-api/diagramAPI.js';
|
import { setLogLevel } from '../../diagram-api/diagramAPI.js';
|
||||||
|
|
||||||
describe('when parsing a timeline ', function () {
|
describe('when parsing a timeline ', function () {
|
||||||
@@ -99,29 +100,19 @@ describe('when parsing a timeline ', function () {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('TL-6 should handle a section, and task and its multi line events with semicolons', function () {
|
it('TL-6 should handle a title, section, task, and events with semicolons', function () {
|
||||||
let str = `timeline
|
let str = `timeline
|
||||||
section ;a;bc-123;
|
title ;my;title;
|
||||||
;ta;sk1;: ;ev;ent1;
|
section ;a;bc-123;
|
||||||
;tas;k2;: ;eve;nt2;: ;event;3;
|
;ta;sk1;: ;ev;ent1; : ;ev;ent2; : ;ev;ent3;
|
||||||
: ;eve;nt4: ;even;t5;
|
|
||||||
`;
|
`;
|
||||||
timeline.parse(str);
|
timeline.parse(str);
|
||||||
expect(timelineDB.getSections()[0]).to.deep.equal(';a;bc-123;');
|
expect(commonDb.getDiagramTitle()).equal(';my;title;');
|
||||||
timelineDB.getTasks().forEach((t) => {
|
expect(timelineDB.getSections()).to.deep.equal([';a;bc-123;']);
|
||||||
switch (t.task.trim()) {
|
expect(timelineDB.getTasks()[0].task).equal(';ta;sk1;');
|
||||||
case ';ta;sk1;':
|
expect(timelineDB.getTasks()[0].events[0]).equal(';ev;ent1; ');
|
||||||
expect(t.events).to.deep.equal([';ev;ent1;']);
|
expect(timelineDB.getTasks()[0].events[1]).equal(';ev;ent2; ');
|
||||||
break;
|
expect(timelineDB.getTasks()[0].events[2]).equal(';ev;ent3;');
|
||||||
|
|
||||||
case ';tas;k2;':
|
|
||||||
expect(t.events).to.deep.equal([';eve;nt2;', ';event;3;', ';eve;nt4', ';even;t5;']);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user