From dbd63ff7975021f9dbcc0a60f1e23e0bec4ce209 Mon Sep 17 00:00:00 2001 From: Richard Gibson Date: Fri, 6 Nov 2015 10:43:19 -0500 Subject: [PATCH] Make sequenceDiagram terminal newline optional Fixes gh-229 --- .../parser/sequenceDiagram.jison | 5 +-- .../sequenceDiagram/sequenceDiagram.spec.js | 38 +++++++++---------- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison index d15204f9aa..dcb2118b53 100644 --- a/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison +++ b/src/diagrams/sequenceDiagram/parser/sequenceDiagram.jison @@ -45,7 +45,7 @@ \-[x] return 'SOLID_CROSS'; \-\-[x] return 'DOTTED_CROSS'; ":"[^#\n;]+ return 'TXT'; -<> return 'EOF'; +<> return 'NL'; . return 'INVALID'; /lex @@ -57,7 +57,7 @@ %% /* language grammar */ start - : SD document 'EOF' { yy.apply($2);return $2; } + : SD document { yy.apply($2);return $2; } ; document @@ -69,7 +69,6 @@ line : SPACE statement { $$ = $2 } | statement { $$ = $1 } | NL { $$=[];} - | EOF { $$=[];} ; statement diff --git a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js index d154e1175f..1e0501a2d3 100644 --- a/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js +++ b/src/diagrams/sequenceDiagram/sequenceDiagram.spec.js @@ -33,7 +33,7 @@ describe('when parsing a sequenceDiagram',function() { str = 'sequenceDiagram\n' + 'Alice->Bob:Hello Bob, how are you?\n' + 'Note right of Bob: Bob thinks\n' + - 'Bob-->Alice: I am good thanks!\n'; + 'Bob-->Alice: I am good thanks!'; sq.parse(str); var actors = sq.yy.getActors(); @@ -49,7 +49,7 @@ describe('when parsing a sequenceDiagram',function() { it('it should space in actor names', function () { str = 'sequenceDiagram\n' + 'Alice->Bob:Hello Bob, how are - you?\n' + - 'Bob-->Alice: I am good thanks!\n'; + 'Bob-->Alice: I am good thanks!'; sq.parse(str); var actors = sq.yy.getActors(); @@ -64,7 +64,7 @@ describe('when parsing a sequenceDiagram',function() { }); it('it should handle in async messages', function () { var str = 'sequenceDiagram\n' + - 'Alice-xBob:Hello Bob, how are you?\n'; + 'Alice-xBob:Hello Bob, how are you?'; sq.parse(str); var actors = sq.yy.getActors(); @@ -78,7 +78,7 @@ describe('when parsing a sequenceDiagram',function() { }); it('it should handle in async dotted messages', function () { var str = 'sequenceDiagram\n' + - 'Alice--xBob:Hello Bob, how are you?\n'; + 'Alice--xBob:Hello Bob, how are you?'; sq.parse(str); var actors = sq.yy.getActors(); @@ -92,7 +92,7 @@ describe('when parsing a sequenceDiagram',function() { }); it('it should handle in arrow messages', function () { var str = 'sequenceDiagram\n' + - 'Alice->>Bob:Hello Bob, how are you?\n'; + 'Alice->>Bob:Hello Bob, how are you?'; sq.parse(str); var actors = sq.yy.getActors(); @@ -106,7 +106,7 @@ describe('when parsing a sequenceDiagram',function() { }); it('it should handle in arrow messages', function () { var str = 'sequenceDiagram\n' + - 'Alice-->>Bob:Hello Bob, how are you?\n'; + 'Alice-->>Bob:Hello Bob, how are you?'; sq.parse(str); var actors = sq.yy.getActors(); @@ -123,7 +123,7 @@ describe('when parsing a sequenceDiagram',function() { 'Alice->Bob: Hello Bob, how are you?\n'+ '%% Comment\n' + 'Note right of Bob: Bob thinks\n' + - 'Bob-->Alice: I am good thanks!\n'; + 'Bob-->Alice: I am good thanks!'; sq.parse(str); var actors = sq.yy.getActors(); @@ -176,7 +176,7 @@ describe('when parsing a sequenceDiagram',function() { ' Alice->Bob: Hello Bob, how are you?\n\n' + '%% Comment\n' + 'Note right of Bob: Bob thinks\n' + - 'Bob-->Alice: I am good thanks!\n'; + 'Bob-->Alice: I am good thanks!'; sq.parse(str); var actors = sq.yy.getActors(); @@ -194,7 +194,7 @@ describe('when parsing a sequenceDiagram',function() { ' Alice->Bob: Hello Bob, how are you?\n\n' + '%% Comment\n' + 'Note right of Bob: Bob thinks\n' + - 'Bob-->Alice: I am good thanks!\n'; + 'Bob-->Alice: I am good thanks!'; sq.parse(str); var actors = sq.yy.getActors(); @@ -218,7 +218,7 @@ describe('when parsing a sequenceDiagram',function() { 'Note right of John: Rational thoughts
prevail...\n'+ ' John-->Alice: Great!\n'+ ' John->Bob: How about you?\n'+ - 'Bob-->John: Jolly good!\n'; + 'Bob-->John: Jolly good!'; sq.parse(str); var actors = sq.yy.getActors(); @@ -611,7 +611,7 @@ describe('when rendering a sequenceDiagram',function() { it('it should handle one actor', function () { sd.bounds.init(); var str = 'sequenceDiagram\n' + - 'participant Alice\n'; + 'participant Alice'; sq.parse(str); sd.draw(str,'tst'); @@ -627,7 +627,7 @@ describe('when rendering a sequenceDiagram',function() { sd.bounds.init(); var str = 'sequenceDiagram\n' + 'participant Alice\n' + - 'Note left of Alice: Alice thinks\n'; + 'Note left of Alice: Alice thinks'; sq.parse(str); sd.draw(str,'tst'); @@ -643,7 +643,7 @@ describe('when rendering a sequenceDiagram',function() { sd.bounds.init(); var str = 'sequenceDiagram\n' + 'participant Alice\n' + - 'Note right of Alice: Alice thinks\n'; + 'Note right of Alice: Alice thinks'; sq.parse(str); sd.draw(str,'tst'); @@ -658,7 +658,7 @@ describe('when rendering a sequenceDiagram',function() { it('it should handle two actors', function () { sd.bounds.init(); var str = 'sequenceDiagram\n' + - 'Alice->Bob: Hello Bob, how are you?\n'; + 'Alice->Bob: Hello Bob, how are you?'; sq.parse(str); sd.draw(str,'tst'); @@ -674,7 +674,7 @@ describe('when rendering a sequenceDiagram',function() { sd.bounds.init(); var str = 'sequenceDiagram\n' + 'Alice->Bob: Hello Bob, how are you?\n'+ - 'Bob->Alice: Fine!\n'; + 'Bob->Alice: Fine!'; sq.parse(str); sd.draw(str,'tst'); @@ -691,7 +691,7 @@ describe('when rendering a sequenceDiagram',function() { var str = 'sequenceDiagram\n' + 'Alice->Bob: Hello Bob, how are you?\n'+ 'Note right of Bob: Bob thinks\n' + - 'Bob->Alice: Fine!\n'; + 'Bob->Alice: Fine!'; sq.parse(str); sd.draw(str,'tst'); @@ -711,7 +711,7 @@ describe('when rendering a sequenceDiagram',function() { var str = 'sequenceDiagram\n' + 'Alice->Bob: Hello Bob, how are you?\n'+ 'Note left of Alice: Bob thinks\n' + - 'Bob->Alice: Fine!\n'; + 'Bob->Alice: Fine!'; sq.parse(str); sd.draw(str,'tst'); @@ -730,7 +730,7 @@ describe('when rendering a sequenceDiagram',function() { 'Alice->Bob: Hello Bob, how are you?\n'+ 'loop Cheers\n' + 'Bob->Alice: Fine!\n' + - 'end\n'; + 'end'; sq.parse(str); sd.draw(str,'tst'); @@ -806,7 +806,7 @@ describe('when rendering a sequenceDiagram with actor mirror activated',function it('it should handle one actor', function () { sd.bounds.init(); var str = 'sequenceDiagram\n' + - 'participant Alice\n'; + 'participant Alice'; sq.parse(str); sd.draw(str,'tst');