| 6dd74de | | | 1 | import { imgSnapshotTest } from '../../helpers/util.ts'; |
| 6dd74de | | | 2 | |
| 6dd74de | | | 3 | describe('themeCSS balancing, it', () => { |
| 6dd74de | | | 4 | it('should not allow unbalanced CSS definitions', () => { |
| 6dd74de | | | 5 | imgSnapshotTest( |
| 6dd74de | | | 6 | ` |
| 6dd74de | | | 7 | %%{init: { 'themeCSS': '} * { background: red }' } }%% |
| 6dd74de | | | 8 | flowchart TD |
| 6dd74de | | | 9 | a --> b |
| 6dd74de | | | 10 | `, |
| 6dd74de | | | 11 | {} |
| 6dd74de | | | 12 | ); |
| 6dd74de | | | 13 | }); |
| 6dd74de | | | 14 | it('should not allow unbalanced CSS definitions 2', () => { |
| 6dd74de | | | 15 | imgSnapshotTest( |
| 6dd74de | | | 16 | ` |
| 6dd74de | | | 17 | %%{init: { 'themeCSS': '\u007D * { background: red }' } }%% |
| 6dd74de | | | 18 | flowchart TD |
| 6dd74de | | | 19 | a2 --> b2 |
| 6dd74de | | | 20 | `, |
| 6dd74de | | | 21 | {} |
| 6dd74de | | | 22 | ); |
| 6dd74de | | | 23 | }); |
| 6dd74de | | | 24 | }); |
| 6dd74de | | | 25 | |
| 6dd74de | | | 26 | // TODO: Delete/Rename this describe, keeping the inner contents. |
| 6dd74de | | | 27 | describe('Pie Chart', () => { |
| 6dd74de | | | 28 | // beforeEach(()=>{ |
| 6dd74de | | | 29 | // cy.clock((new Date('2014-06-09')).getTime()); |
| 6dd74de | | | 30 | // }); |
| 6dd74de | | | 31 | |
| 6dd74de | | | 32 | ['default', 'forest', 'dark', 'neutral'].forEach((theme) => { |
| 6dd74de | | | 33 | describe(theme, () => { |
| 6dd74de | | | 34 | it('should render a pie diagram', () => { |
| 6dd74de | | | 35 | imgSnapshotTest( |
| 6dd74de | | | 36 | ` |
| 6dd74de | | | 37 | pie title Sports in Sweden |
| 6dd74de | | | 38 | accTitle: This is a title |
| 6dd74de | | | 39 | accDescr: This is a description |
| 6dd74de | | | 40 | "Bandy" : 40 |
| 6dd74de | | | 41 | "Ice-Hockey" : 80 |
| 6dd74de | | | 42 | "Football" : 90 |
| 6dd74de | | | 43 | `, |
| 6dd74de | | | 44 | { theme } |
| 6dd74de | | | 45 | ); |
| 6dd74de | | | 46 | }); |
| 6dd74de | | | 47 | it('should render a flowchart diagram', () => { |
| 6dd74de | | | 48 | imgSnapshotTest( |
| 6dd74de | | | 49 | ` |
| 6dd74de | | | 50 | %%{init: { 'logLevel': 0} }%% |
| 6dd74de | | | 51 | graph TD |
| 6dd74de | | | 52 | accTitle: This is a title |
| 6dd74de | | | 53 | accDescr: This is a description |
| 6dd74de | | | 54 | A[Christmas] -->|Get money| B(Go shopping) |
| 6dd74de | | | 55 | B --> C{Let me think} |
| 6dd74de | | | 56 | B --> G[/Another/] |
| 6dd74de | | | 57 | C ==>|One| D[Laptop] |
| 6dd74de | | | 58 | C -->|Two| E[iPhone] |
| 6dd74de | | | 59 | C -->|Three| F[fa:fa-car Car] |
| 6dd74de | | | 60 | subgraph section |
| 6dd74de | | | 61 | C |
| 6dd74de | | | 62 | D |
| 6dd74de | | | 63 | E |
| 6dd74de | | | 64 | F |
| 6dd74de | | | 65 | G |
| 6dd74de | | | 66 | end |
| 6dd74de | | | 67 | `, |
| 6dd74de | | | 68 | { theme } |
| 6dd74de | | | 69 | ); |
| 6dd74de | | | 70 | }); |
| 6dd74de | | | 71 | it('should render a new flowchart diagram', () => { |
| 6dd74de | | | 72 | imgSnapshotTest( |
| 6dd74de | | | 73 | ` |
| 6dd74de | | | 74 | %%{init: { 'logLevel': 0, 'theme': '${theme}'} }%% |
| 6dd74de | | | 75 | flowchart TD |
| 6dd74de | | | 76 | accTitle: This is a title |
| 6dd74de | | | 77 | accDescr: This is a description |
| 6dd74de | | | 78 | |
| 6dd74de | | | 79 | A[Christmas] -->|Get money| B(Go shopping) |
| 6dd74de | | | 80 | B --> C{Let me think} |
| 6dd74de | | | 81 | B --> G[Another] |
| 6dd74de | | | 82 | C ==>|One| D[Laptop] |
| 6dd74de | | | 83 | C x--x|Two| E[iPhone] |
| 6dd74de | | | 84 | C o--o|Three| F[fa:fa-car Car] |
| 6dd74de | | | 85 | subgraph section |
| 6dd74de | | | 86 | C |
| 6dd74de | | | 87 | D |
| 6dd74de | | | 88 | E |
| 6dd74de | | | 89 | F |
| 6dd74de | | | 90 | G |
| 6dd74de | | | 91 | end |
| 6dd74de | | | 92 | `, |
| 6dd74de | | | 93 | { theme } |
| 6dd74de | | | 94 | ); |
| 6dd74de | | | 95 | }); |
| 6dd74de | | | 96 | it('should render a sequence diagram', () => { |
| 6dd74de | | | 97 | imgSnapshotTest( |
| 6dd74de | | | 98 | ` |
| 6dd74de | | | 99 | %%{init: { 'logLevel': 0, 'theme': '${theme}'} }%% |
| 6dd74de | | | 100 | sequenceDiagram |
| 6dd74de | | | 101 | accTitle: This is a title |
| 6dd74de | | | 102 | accDescr: This is a description |
| 6dd74de | | | 103 | |
| 6dd74de | | | 104 | autonumber |
| 6dd74de | | | 105 | par Action 1 |
| 6dd74de | | | 106 | Alice->>John: Hello John, how are you? |
| 6dd74de | | | 107 | and Action 2 |
| 6dd74de | | | 108 | Alice->>Bob: Hello Bob, how are you? |
| 6dd74de | | | 109 | end |
| 6dd74de | | | 110 | Alice->>+John: Hello John, how are you? |
| 6dd74de | | | 111 | Alice->>+John: John, can you hear me? |
| 6dd74de | | | 112 | John-->>-Alice: Hi Alice, I can hear you! |
| 6dd74de | | | 113 | Note right of John: John is perceptive |
| 6dd74de | | | 114 | John-->>-Alice: I feel great! |
| 6dd74de | | | 115 | loop Every minute |
| 6dd74de | | | 116 | John-->Alice: Great! |
| 6dd74de | | | 117 | end |
| 6dd74de | | | 118 | |
| 6dd74de | | | 119 | |
| 6dd74de | | | 120 | `, |
| 6dd74de | | | 121 | { theme } |
| 6dd74de | | | 122 | ); |
| 6dd74de | | | 123 | }); |
| 6dd74de | | | 124 | |
| 6dd74de | | | 125 | it('should render a class diagram', () => { |
| 6dd74de | | | 126 | imgSnapshotTest( |
| 6dd74de | | | 127 | ` |
| 6dd74de | | | 128 | %%{init: { 'logLevel': 0, 'theme': '${theme}'} }%% |
| 6dd74de | | | 129 | classDiagram |
| 6dd74de | | | 130 | accTitle: This is a title |
| 6dd74de | | | 131 | accDescr: This is a description |
| 6dd74de | | | 132 | |
| 6dd74de | | | 133 | Animal "*" <|-- "1" Duck |
| 6dd74de | | | 134 | Animal "1" <|-- "10" Fish |
| 6dd74de | | | 135 | Animal <|-- Zebra |
| 6dd74de | | | 136 | Animal : +int age |
| 6dd74de | | | 137 | Animal : +String gender |
| 6dd74de | | | 138 | Animal: +isMammal() |
| 6dd74de | | | 139 | Animal: +mate() |
| 6dd74de | | | 140 | class Duck{ |
| 6dd74de | | | 141 | +String beakColor |
| 6dd74de | | | 142 | +swim() |
| 6dd74de | | | 143 | +quack() |
| 6dd74de | | | 144 | } |
| 6dd74de | | | 145 | class Fish{ |
| 6dd74de | | | 146 | -int sizeInFeet |
| 6dd74de | | | 147 | -canEat() |
| 6dd74de | | | 148 | } |
| 6dd74de | | | 149 | class Zebra{ |
| 6dd74de | | | 150 | +bool is_wild |
| 6dd74de | | | 151 | +run() |
| 6dd74de | | | 152 | } |
| 6dd74de | | | 153 | classA <|-- classB |
| 6dd74de | | | 154 | classC *-- classD |
| 6dd74de | | | 155 | classE o-- classF |
| 6dd74de | | | 156 | classG <-- classH |
| 6dd74de | | | 157 | classI -- classJ |
| 6dd74de | | | 158 | classK <.. classL |
| 6dd74de | | | 159 | classM <|.. classN |
| 6dd74de | | | 160 | classO .. classP |
| 6dd74de | | | 161 | classA --|> classB : Inheritance |
| 6dd74de | | | 162 | classC --* classD : Composition |
| 6dd74de | | | 163 | classE --o classF : Aggregation |
| 6dd74de | | | 164 | classG --> classH : Association |
| 6dd74de | | | 165 | classI -- classJ : Link(Solid) |
| 6dd74de | | | 166 | classK ..> classL : Dependency |
| 6dd74de | | | 167 | classM ..|> classN : Realization |
| 6dd74de | | | 168 | classO .. classP : Link(Dashed) |
| 6dd74de | | | 169 | `, |
| 6dd74de | | | 170 | { theme } |
| 6dd74de | | | 171 | ); |
| 6dd74de | | | 172 | }); |
| 6dd74de | | | 173 | it('should render a state diagram', () => { |
| 6dd74de | | | 174 | imgSnapshotTest( |
| 6dd74de | | | 175 | ` |
| 6dd74de | | | 176 | %%{init: { 'logLevel': 0, 'theme': '${theme}'} }%% |
| 6dd74de | | | 177 | stateDiagram |
| 6dd74de | | | 178 | accTitle: This is a title |
| 6dd74de | | | 179 | accDescr: This is a description |
| 6dd74de | | | 180 | |
| 6dd74de | | | 181 | [*] --> Active |
| 6dd74de | | | 182 | |
| 6dd74de | | | 183 | state Active { |
| 6dd74de | | | 184 | [*] --> NumLockOff |
| 6dd74de | | | 185 | NumLockOff --> NumLockOn : EvNumLockPressed |
| 6dd74de | | | 186 | NumLockOn --> NumLockOff : EvNumLockPressed |
| 6dd74de | | | 187 | -- |
| 6dd74de | | | 188 | [*] --> CapsLockOff |
| 6dd74de | | | 189 | CapsLockOff --> CapsLockOn : EvCapsLockPressed |
| 6dd74de | | | 190 | CapsLockOn --> CapsLockOff : EvCapsLockPressed |
| 6dd74de | | | 191 | -- |
| 6dd74de | | | 192 | [*] --> ScrollLockOff |
| 6dd74de | | | 193 | ScrollLockOff --> ScrollLockOn : EvCapsLockPressed |
| 6dd74de | | | 194 | ScrollLockOn --> ScrollLockOff : EvCapsLockPressed |
| 6dd74de | | | 195 | } |
| 6dd74de | | | 196 | state SomethingElse { |
| 6dd74de | | | 197 | A --> B |
| 6dd74de | | | 198 | B --> A |
| 6dd74de | | | 199 | } |
| 6dd74de | | | 200 | |
| 6dd74de | | | 201 | Active --> SomethingElse |
| 6dd74de | | | 202 | note right of SomethingElse : This is the note to the right. |
| 6dd74de | | | 203 | `, |
| 6dd74de | | | 204 | { theme } |
| 6dd74de | | | 205 | ); |
| 6dd74de | | | 206 | }); |
| 6dd74de | | | 207 | it('should render a state diagram (v2)', () => { |
| 6dd74de | | | 208 | imgSnapshotTest( |
| 6dd74de | | | 209 | ` |
| 6dd74de | | | 210 | %%{init: { 'logLevel': 0, 'theme': '${theme}'} }%% |
| 6dd74de | | | 211 | stateDiagram-v2 |
| 6dd74de | | | 212 | accTitle: This is a title |
| 6dd74de | | | 213 | accDescr: This is a description |
| 6dd74de | | | 214 | |
| 6dd74de | | | 215 | [*] --> Active |
| 6dd74de | | | 216 | |
| 6dd74de | | | 217 | state Active { |
| 6dd74de | | | 218 | [*] --> NumLockOff |
| 6dd74de | | | 219 | NumLockOff --> NumLockOn : EvNumLockPressed |
| 6dd74de | | | 220 | NumLockOn --> NumLockOff : EvNumLockPressed |
| 6dd74de | | | 221 | -- |
| 6dd74de | | | 222 | [*] --> CapsLockOff |
| 6dd74de | | | 223 | CapsLockOff --> CapsLockOn : EvCapsLockPressed |
| 6dd74de | | | 224 | CapsLockOn --> CapsLockOff : EvCapsLockPressed |
| 6dd74de | | | 225 | -- |
| 6dd74de | | | 226 | [*] --> ScrollLockOff |
| 6dd74de | | | 227 | ScrollLockOff --> ScrollLockOn : EvCapsLockPressed |
| 6dd74de | | | 228 | ScrollLockOn --> ScrollLockOff : EvCapsLockPressed |
| 6dd74de | | | 229 | } |
| 6dd74de | | | 230 | state SomethingElse { |
| 6dd74de | | | 231 | A --> B |
| 6dd74de | | | 232 | B --> A |
| 6dd74de | | | 233 | } |
| 6dd74de | | | 234 | |
| 6dd74de | | | 235 | Active --> SomethingElse2 |
| 6dd74de | | | 236 | note right of SomethingElse2 : This is the note to the right. |
| 6dd74de | | | 237 | `, |
| 6dd74de | | | 238 | { theme } |
| 6dd74de | | | 239 | ); |
| 6dd74de | | | 240 | }); |
| 6dd74de | | | 241 | it('should render a er diagram', () => { |
| 6dd74de | | | 242 | imgSnapshotTest( |
| 6dd74de | | | 243 | ` |
| 6dd74de | | | 244 | erDiagram |
| 6dd74de | | | 245 | accTitle: This is a title |
| 6dd74de | | | 246 | accDescr: This is a description |
| 6dd74de | | | 247 | |
| 6dd74de | | | 248 | CUSTOMER }|..|{ DELIVERY-ADDRESS : has |
| 6dd74de | | | 249 | CUSTOMER ||--o{ ORDER : places |
| 6dd74de | | | 250 | CUSTOMER ||--o{ INVOICE : "liable for" |
| 6dd74de | | | 251 | DELIVERY-ADDRESS ||--o{ ORDER : receives |
| 6dd74de | | | 252 | INVOICE ||--|{ ORDER : covers |
| 6dd74de | | | 253 | ORDER ||--|{ ORDER-ITEM : includes |
| 6dd74de | | | 254 | PRODUCT-CATEGORY ||--|{ PRODUCT : contains |
| 6dd74de | | | 255 | PRODUCT ||--o{ ORDER-ITEM : "ordered in" |
| 6dd74de | | | 256 | |
| 6dd74de | | | 257 | `, |
| 6dd74de | | | 258 | { theme } |
| 6dd74de | | | 259 | ); |
| 6dd74de | | | 260 | }); |
| 6dd74de | | | 261 | it('should render a user journey diagram', () => { |
| 6dd74de | | | 262 | imgSnapshotTest( |
| 6dd74de | | | 263 | ` |
| 6dd74de | | | 264 | %%{init: { 'logLevel': 0, 'theme': '${theme}'} }%% |
| 6dd74de | | | 265 | journey |
| 6dd74de | | | 266 | accTitle: This is a title |
| 6dd74de | | | 267 | accDescr: This is a description |
| 6dd74de | | | 268 | |
| 6dd74de | | | 269 | title My working day |
| 6dd74de | | | 270 | section Go to work |
| 6dd74de | | | 271 | Make tea: 5: Me |
| 6dd74de | | | 272 | Go upstairs: 3: Me |
| 6dd74de | | | 273 | Do work: 1: Me, Cat |
| 6dd74de | | | 274 | section Go home |
| 6dd74de | | | 275 | Go downstairs: 5: Me |
| 6dd74de | | | 276 | Sit down: 5: Me |
| 6dd74de | | | 277 | `, |
| 6dd74de | | | 278 | { theme } |
| 6dd74de | | | 279 | ); |
| 6dd74de | | | 280 | }); |
| 6dd74de | | | 281 | it('should render a gantt diagram', () => { |
| 6dd74de | | | 282 | cy.clock(new Date('2014-01-06').getTime()); |
| 6dd74de | | | 283 | imgSnapshotTest( |
| 6dd74de | | | 284 | ` |
| 6dd74de | | | 285 | gantt |
| 6dd74de | | | 286 | accTitle: This is a title |
| 6dd74de | | | 287 | accDescr: This is a description |
| 6dd74de | | | 288 | |
| 6dd74de | | | 289 | dateFormat :YYYY-MM-DD |
| 6dd74de | | | 290 | title :Adding GANTT diagram functionality to mermaid |
| 6dd74de | | | 291 | excludes :excludes the named dates/days from being included in a charted task.. |
| 6dd74de | | | 292 | section A section |
| 6dd74de | | | 293 | Completed task :done, des1, 2014-01-06,2014-01-08 |
| 6dd74de | | | 294 | Active task :active, des2, 2014-01-09, 3d |
| 6dd74de | | | 295 | Future task : des3, after des2, 5d |
| 6dd74de | | | 296 | Future task2 : des4, after des3, 5d |
| 6dd74de | | | 297 | |
| 6dd74de | | | 298 | section Critical tasks |
| 6dd74de | | | 299 | Completed task in the critical line :crit, done, 2014-01-06,24h |
| 6dd74de | | | 300 | Implement parser and jison :crit, done, after des1, 2d |
| 6dd74de | | | 301 | Create tests for parser :crit, active, 3d |
| 6dd74de | | | 302 | Future task in critical line :crit, 5d |
| 6dd74de | | | 303 | Create tests for renderer :2d |
| 6dd74de | | | 304 | Add to mermaid :1d |
| 6dd74de | | | 305 | |
| 6dd74de | | | 306 | section Documentation |
| 6dd74de | | | 307 | Describe gantt syntax :active, a1, after des1, 3d |
| 6dd74de | | | 308 | Add gantt diagram to demo page :after a1 , 20h |
| 6dd74de | | | 309 | Add another diagram to demo page :doc1, after a1 , 48h |
| 6dd74de | | | 310 | |
| 6dd74de | | | 311 | section Last section |
| 6dd74de | | | 312 | Describe gantt syntax :after doc1, 3d |
| 6dd74de | | | 313 | Add gantt diagram to demo page :20h |
| 6dd74de | | | 314 | Add another diagram to demo page :48h |
| 6dd74de | | | 315 | `, |
| 6dd74de | | | 316 | { theme } |
| 6dd74de | | | 317 | ); |
| 6dd74de | | | 318 | }); |
| 6dd74de | | | 319 | }); |
| 6dd74de | | | 320 | }); |
| 6dd74de | | | 321 | }); |