diff --git a/test/plantuml-indentation-basics-test.el b/test/plantuml-indentation-basics-test.el index dad921e..23b9e43 100644 --- a/test/plantuml-indentation-basics-test.el +++ b/test/plantuml-indentation-basics-test.el @@ -258,332 +258,6 @@ foofoo|" - - - -(ert-deftest plantuml-test-block-indentation/package-empty () - "Test correct indentation of an empty package block." - (plantuml-test-indent-block - " -package APackage () -" - " -package APackage () -")) - - -(ert-deftest platuml-test-block-indentation/box () - "Test correct indentation of a box block" - (plantuml-test-indent-block - " -box \"Device with USB connector\" -actor Human -participant UsbDetector -end box -" - " -box \"Device with USB connector\" - actor Human - participant UsbDetector -end box -" )) - - -(ert-deftest plantuml-test-block-indentation/alt-end () - "Test correct indentation of an alt-end block. -The alt-keyword is NOT followed by some text." - (plantuml-test-indent-block - " -alt -A -> B -end -" - " -alt - A -> B -end -" )) - -(ert-deftest plantuml-test-block-indentation/alt-end-with-label () - "Test correct indentation of an alt-end block. -The alt-keyword is followed by some text." - (plantuml-test-indent-block - " -alt choice 1 -A -> B -end -" - " -alt choice 1 - A -> B -end -" )) - -(ert-deftest plantuml-test-block-indentation/alt-else-end () - "Test correct indentation of an alt-else-end block." - (plantuml-test-indent-block - " -alt choice 1 -A -> B -else -B -> C -end -" - " -alt choice 1 - A -> B -else - B -> C -end -" )) - -(ert-deftest plantuml-test-block-indentation/opt () - "Test correct indentation of an opt block. -The opt-keyword is NOT followed by some text." - (plantuml-test-indent-block - " -opt -A -> B -end -" - " -opt - A -> B -end -" )) - -(ert-deftest plantuml-test-block-indentation/opt-with-label () - "Test correct indentation of an opt block. -The opt-keyword is followed by some text." - (plantuml-test-indent-block - " -opt event triggered -A -> B -end -" - " -opt event triggered - A -> B -end -" )) - -(ert-deftest plantuml-test-block-indentation/par () - "Test correct indentation of a par block. -The par-keyword is NOT followed by some text." - (plantuml-test-indent-block - " -par -A -> B -else -C -> B -end -" - " -par - A -> B -else - C -> B -end -" )) - -(ert-deftest plantuml-test-block-indentation/par-with-label () - "Test correct indentation of a par block. -The par-keyword is followed by some text." - (plantuml-test-indent-block - " -par a text label -A -> B -else -C -> B -end -" - " -par a text label - A -> B -else - C -> B -end -" )) - -(ert-deftest plantuml-test-block-indentation/group () - "Test correct indentation of a group block. -The group-keyword is NOT followed by some text." - (plantuml-test-indent-block - " -group -A -> B -else -C -> B -end -" - " -group - A -> B -else - C -> B -end -" )) - -(ert-deftest plantuml-test-block-indentation/group-with-label () - "Test correct indentation of a group block. -The group-keyword is followed by some text." - (plantuml-test-indent-block - " -group my own label -A -> B -else -C -> B -end -" - " -group my own label - A -> B -else - C -> B -end -" )) - -(ert-deftest plantuml-test-block-indentation/critical () - "Test correct indentation of a critical block. -The critical-keyword is NOT followed by some text." - (plantuml-test-indent-block - " -critical -A -> B -else -C -> B -end -" - " -critical - A -> B -else - C -> B -end -" )) - -(ert-deftest plantuml-test-block-indentation/critical-with-label () - "Test correct indentation of a critical block. -The critical-keyword is followed by some text." - (plantuml-test-indent-block - " -critical my own label -A -> B -else -C -> B -end -" - " -critical my own label - A -> B -else - C -> B -end -" )) - - -(ert-deftest plantuml-test-block-indentation/alt-else-loop-group () - "Test correct indentation of combination of alt-else, loop and group. - -This is taken from the plantuml homepage." - (plantuml-test-indent-block - " -Alice -> Bob: Authentication Request - -alt successful case - -Bob -> Alice: Authentication Accepted - -else some kind of failure - -Bob -> Alice: Authentication Failure -group My own label -Alice -> Log : Log attack start -loop 1000 times -Alice -> Bob: DNS Attack -end -Alice -> Log : Log attack end -end - -else Another type of failure - -Bob -> Alice: Please repeat - -end -" - " -Alice -> Bob: Authentication Request - -alt successful case - - Bob -> Alice: Authentication Accepted - -else some kind of failure - - Bob -> Alice: Authentication Failure - group My own label - Alice -> Log : Log attack start - loop 1000 times - Alice -> Bob: DNS Attack - end - Alice -> Log : Log attack end - end - -else Another type of failure - - Bob -> Alice: Please repeat - -end -")) - - -(ert-deftest plantuml-test-block-indentation/note-as () - "Test correct indentation of a note-as block." - (plantuml-test-indent-block - " -note as N1 -This is a note -end note -" - " -note as N1 - This is a note -end note -" - )) - -(ert-deftest plantuml-test-block-indentation/activate-deactivate () - "Test correct indentation of an activate-deactivate block." - (plantuml-test-indent-block - " -activate participant_1 -participant_1 -> participant_2 : f() -deactivate participant_1 -" - " -activate participant_1 - participant_1 -> participant_2 : f() -deactivate participant_1 -")) - -(ert-deftest plantuml-test-block-indentation/activate-deactivate-nested () - "Test correct indentation of two nested activate-deactivate blocks." - (plantuml-test-indent-block - " -activate participant_1 -activate participant_2 -participant_1 -> participant_2 : f() -deactivate participant_2 -deactivate participant_1 -" - " -activate participant_1 - activate participant_2 - participant_1 -> participant_2 : f() - deactivate participant_2 -deactivate participant_1 -")) - (provide 'plantuml-indentation-basics-test) ;;; plantuml-indentation-basics-test.el ends here diff --git a/test/plantuml-indentation-class-test.el b/test/plantuml-indentation-class-test.el index 7da686b..89f1d3f 100644 --- a/test/plantuml-indentation-class-test.el +++ b/test/plantuml-indentation-class-test.el @@ -313,8 +313,20 @@ together { ")) +(ert-deftest plantuml-test-block-indentation/class/package-empty () + "Test correct indentation of an empty package block." + (plantuml-test-indent-block + " +package APackage () +interface Inter +" + " +package APackage () +interface Inter +")) -(ert-deftest platuml-test-block-indentation/package-interface-nested () + +(ert-deftest platuml-test-block-indentation/class/package-interface-nested () "Test correct indentation of two nested blocks, a package and an interface Note: package is used in deployment and object diagrams as well, see there for more tests." (plantuml-test-indent-block diff --git a/test/plantuml-indentation-commons-test.el b/test/plantuml-indentation-commons-test.el index bde4683..f93b158 100644 --- a/test/plantuml-indentation-commons-test.el +++ b/test/plantuml-indentation-commons-test.el @@ -314,6 +314,21 @@ endlegend ")) +(ert-deftest plantuml-test-block-indentation/note-as () + "Test correct indentation of a note-as block." + (plantuml-test-indent-block + " +note as N1 +This is a note +end note +" + " +note as N1 + This is a note +end note +" + )) + (provide 'plantuml-indentation-commons-test) ;;; plantuml-indentation-commons-test.el ends here diff --git a/test/plantuml-indentation-sequence-test.el b/test/plantuml-indentation-sequence-test.el new file mode 100644 index 0000000..c669c02 --- /dev/null +++ b/test/plantuml-indentation-sequence-test.el @@ -0,0 +1,313 @@ +;;; plantuml-indentation-sequence-test.el --- PlantUML Mode indentation tests -*- lexical-binding: t; -*- + +;; Author: René Schmelzer +;; Maintainer: Carlo Sciolla (skuro) +;; URL: https://github.com/skuro/plantuml-mode + +;;; Commentary: + +;; Test indentation for sequence diagrams. + +;;; Code: + + +(ert-deftest platuml-test-block-indentation/sequence/box () + "Test correct indentation of a box block" + (plantuml-test-indent-block + " +box \"Device with USB connector\" +actor Human +participant UsbDetector +end box +" + " +box \"Device with USB connector\" + actor Human + participant UsbDetector +end box +" )) + + +(ert-deftest plantuml-test-block-indentation/sequence/alt-end () + "Test correct indentation of an alt-end block. +The alt-keyword is NOT followed by some text." + (plantuml-test-indent-block + " +alt +A -> B +end +" + " +alt + A -> B +end +" )) + +(ert-deftest plantuml-test-block-indentation/sequence/alt-end-with-label () + "Test correct indentation of an alt-end block. +The alt-keyword is followed by some text." + (plantuml-test-indent-block + " +alt choice 1 +A -> B +end +" + " +alt choice 1 + A -> B +end +" )) + +(ert-deftest plantuml-test-block-indentation/sequence/alt-else-end () + "Test correct indentation of an alt-else-end block." + (plantuml-test-indent-block + " +alt choice 1 +A -> B +else +B -> C +end +" + " +alt choice 1 + A -> B +else + B -> C +end +" )) + +(ert-deftest plantuml-test-block-indentation/sequence/opt () + "Test correct indentation of an opt block. +The opt-keyword is NOT followed by some text." + (plantuml-test-indent-block + " +opt +A -> B +end +" + " +opt + A -> B +end +" )) + +(ert-deftest plantuml-test-block-indentation/sequence/opt-with-label () + "Test correct indentation of an opt block. +The opt-keyword is followed by some text." + (plantuml-test-indent-block + " +opt event triggered +A -> B +end +" + " +opt event triggered + A -> B +end +" )) + +(ert-deftest plantuml-test-block-indentation/sequence/par () + "Test correct indentation of a par block. +The par-keyword is NOT followed by some text." + (plantuml-test-indent-block + " +par +A -> B +else +C -> B +end +" + " +par + A -> B +else + C -> B +end +" )) + +(ert-deftest plantuml-test-block-indentation/sequence/par-with-label () + "Test correct indentation of a par block. +The par-keyword is followed by some text." + (plantuml-test-indent-block + " +par a text label +A -> B +else +C -> B +end +" + " +par a text label + A -> B +else + C -> B +end +" )) + +(ert-deftest plantuml-test-block-indentation/sequence/group () + "Test correct indentation of a group block. +The group-keyword is NOT followed by some text." + (plantuml-test-indent-block + " +group +A -> B +else +C -> B +end +" + " +group + A -> B +else + C -> B +end +" )) + +(ert-deftest plantuml-test-block-indentation/sequence/group-with-label () + "Test correct indentation of a group block. +The group-keyword is followed by some text." + (plantuml-test-indent-block + " +group my own label +A -> B +else +C -> B +end +" + " +group my own label + A -> B +else + C -> B +end +" )) + +(ert-deftest plantuml-test-block-indentation/sequence/critical () + "Test correct indentation of a critical block. +The critical-keyword is NOT followed by some text." + (plantuml-test-indent-block + " +critical +A -> B +else +C -> B +end +" + " +critical + A -> B +else + C -> B +end +" )) + +(ert-deftest plantuml-test-block-indentation/sequence/critical-with-label () + "Test correct indentation of a critical block. +The critical-keyword is followed by some text." + (plantuml-test-indent-block + " +critical my own label +A -> B +else +C -> B +end +" + " +critical my own label + A -> B +else + C -> B +end +" )) + + +(ert-deftest plantuml-test-block-indentation/sequence/activate-deactivate () + "Test correct indentation of an activate-deactivate block." + (plantuml-test-indent-block + " +activate participant_1 +participant_1 -> participant_2 : f() +deactivate participant_1 +" + " +activate participant_1 + participant_1 -> participant_2 : f() +deactivate participant_1 +")) + +(ert-deftest plantuml-test-block-indentation/sequence/activate-deactivate-nested () + "Test correct indentation of two nested activate-deactivate blocks." + (plantuml-test-indent-block + " +activate participant_1 +activate participant_2 +participant_1 -> participant_2 : f() +deactivate participant_2 +deactivate participant_1 +" + " +activate participant_1 + activate participant_2 + participant_1 -> participant_2 : f() + deactivate participant_2 +deactivate participant_1 +")) + + +(ert-deftest plantuml-test-indentation/sequence-diagram () + "Test correct indentation of plantuml sequence diagram elements. +These code examples are taken from www.plantuml.com." + (plantuml-test-indent-block + " +Alice -> Bob: Authentication Request + +alt successful case + +Bob -> Alice: Authentication Accepted + +else some kind of failure + +Bob -> Alice: Authentication Failure +group My own label +Alice -> Log : Log attack start +loop 1000 times +Alice -> Bob: DNS Attack +end +Alice -> Log : Log attack end +end + +else Another type of failure + +Bob -> Alice: Please repeat + +end +" + " +Alice -> Bob: Authentication Request + +alt successful case + + Bob -> Alice: Authentication Accepted + +else some kind of failure + + Bob -> Alice: Authentication Failure + group My own label + Alice -> Log : Log attack start + loop 1000 times + Alice -> Bob: DNS Attack + end + Alice -> Log : Log attack end + end + +else Another type of failure + + Bob -> Alice: Please repeat + +end +")) + + +(provide 'plantuml-indentation-sequence-test) + +;;; plantuml-indentation-sequence-test.el ends here