collab/mermaid/cypress/integration/rendering/imageShape.spec.tsblame
View source
6dd74de1import { imgSnapshotTest } from '../../helpers/util';
6dd74de2
6dd74de3const looks = ['classic', 'handDrawn'] as const;
6dd74de4const directions = [
6dd74de5 'TB',
6dd74de6 //'BT',
6dd74de7 'LR',
6dd74de8 // 'RL'
6dd74de9] as const;
6dd74de10const labelPos = [undefined, 't', 'b'] as const;
6dd74de11
6dd74de12looks.forEach((look) => {
6dd74de13 directions.forEach((direction) => {
6dd74de14 labelPos.forEach((pos) => {
6dd74de15 describe(`Test imageShape in ${look} look and dir ${direction} with label position ${pos ? pos : 'not defined'}`, () => {
6dd74de16 it(`without label`, () => {
6dd74de17 let flowchartCode = `flowchart ${direction}\n`;
6dd74de18 flowchartCode += ` nA --> A@{ img: 'https://cdn.pixabay.com/photo/2020/02/22/18/49/paper-4871356_1280.jpg', w: '100', h: '100' }\n`;
6dd74de19 imgSnapshotTest(flowchartCode, { look });
6dd74de20 });
6dd74de21
6dd74de22 it(`with label`, () => {
6dd74de23 let flowchartCode = `flowchart ${direction}\n`;
6dd74de24 flowchartCode += ` nA --> A@{ img: 'https://cdn.pixabay.com/photo/2020/02/22/18/49/paper-4871356_1280.jpg', label: 'This is a label for image shape'`;
6dd74de25
6dd74de26 flowchartCode += `, w: '100', h: '200'`;
6dd74de27 if (pos) {
6dd74de28 flowchartCode += `, pos: '${pos}'`;
6dd74de29 }
6dd74de30 flowchartCode += ` }\n`;
6dd74de31 imgSnapshotTest(flowchartCode, { look });
6dd74de32 });
6dd74de33
6dd74de34 it(`with very long label`, () => {
6dd74de35 let flowchartCode = `flowchart ${direction}\n`;
6dd74de36 flowchartCode += ` nA --> A@{ img: 'https://cdn.pixabay.com/photo/2020/02/22/18/49/paper-4871356_1280.jpg', label: 'This is a very very very very very long long long label for image shape'`;
6dd74de37
6dd74de38 flowchartCode += `, w: '100', h: '250'`;
6dd74de39 if (pos) {
6dd74de40 flowchartCode += `, pos: '${pos}'`;
6dd74de41 }
6dd74de42 flowchartCode += ` }\n`;
6dd74de43 imgSnapshotTest(flowchartCode, { look });
6dd74de44 });
6dd74de45
6dd74de46 it(`with markdown htmlLabels:true`, () => {
6dd74de47 let flowchartCode = `flowchart ${direction}\n`;
6dd74de48 flowchartCode += ` nA --> A@{ img: 'https://cdn.pixabay.com/photo/2020/02/22/18/49/paper-4871356_1280.jpg', label: 'This is **bold** </br>and <strong>strong</strong> for image shape'`;
6dd74de49
6dd74de50 flowchartCode += `, w: '550', h: '200'`;
6dd74de51 if (pos) {
6dd74de52 flowchartCode += `, pos: '${pos}'`;
6dd74de53 }
6dd74de54 flowchartCode += ` }\n`;
6dd74de55 imgSnapshotTest(flowchartCode, { look, htmlLabels: true });
6dd74de56 });
6dd74de57
6dd74de58 it(`with markdown htmlLabels:false`, () => {
6dd74de59 let flowchartCode = `flowchart ${direction}\n`;
6dd74de60 flowchartCode += ` nA --> A@{ img: 'https://cdn.pixabay.com/photo/2020/02/22/18/49/paper-4871356_1280.jpg', label: 'This is **bold** </br>and <strong>strong</strong> for image shape'`;
6dd74de61 flowchartCode += `, w: '250', h: '200'`;
6dd74de62
6dd74de63 if (pos) {
6dd74de64 flowchartCode += `, pos: '${pos}'`;
6dd74de65 }
6dd74de66 flowchartCode += ` }\n`;
6dd74de67 imgSnapshotTest(flowchartCode, {
6dd74de68 look,
6dd74de69 htmlLabels: false,
6dd74de70 flowchart: { htmlLabels: false },
6dd74de71 });
6dd74de72 });
6dd74de73
6dd74de74 it(`with styles`, () => {
6dd74de75 let flowchartCode = `flowchart ${direction}\n`;
6dd74de76 flowchartCode += ` nA --> A@{ img: 'https://cdn.pixabay.com/photo/2020/02/22/18/49/paper-4871356_1280.jpg', label: 'new image shape'`;
6dd74de77 flowchartCode += `, w: '550', h: '200'`;
6dd74de78
6dd74de79 if (pos) {
6dd74de80 flowchartCode += `, pos: '${pos}'`;
6dd74de81 }
6dd74de82 flowchartCode += ` }\n`;
6dd74de83 flowchartCode += ` style A fill:#f9f,stroke:#333,stroke-width:4px \n`;
6dd74de84 imgSnapshotTest(flowchartCode, { look });
6dd74de85 });
6dd74de86
6dd74de87 it(`with classDef`, () => {
6dd74de88 let flowchartCode = `flowchart ${direction}\n`;
6dd74de89 flowchartCode += ` classDef customClazz fill:#bbf,stroke:#f66,stroke-width:2px,color:#000000,stroke-dasharray: 5 5\n`;
6dd74de90 flowchartCode += ` nA --> A@{ img: 'https://cdn.pixabay.com/photo/2020/02/22/18/49/paper-4871356_1280.jpg', label: 'new image shape'`;
6dd74de91
6dd74de92 flowchartCode += `, w: '500', h: '550'`;
6dd74de93 if (pos) {
6dd74de94 flowchartCode += `, pos: '${pos}'`;
6dd74de95 }
6dd74de96 flowchartCode += ` }\n`;
6dd74de97 flowchartCode += ` A:::customClazz\n`;
6dd74de98 imgSnapshotTest(flowchartCode, { look });
6dd74de99 });
6dd74de100 });
6dd74de101 });
6dd74de102 });
6dd74de103});