Skip to content

Commit

Permalink
test(integration): Fix not being run, use latest Mermaid (#56)
Browse files Browse the repository at this point in the history
The integration test for server-side prudently added a skip if 'mmdc'
wasn't on $PATH.
However, with the conditons it runs under, mmdc is never on PATH.
It's under node_modules/.bin.
So this was just always being skipped.

Re-enable the test, and upgrade it to the latest version of MermaidJS.
  • Loading branch information
abhinav authored Nov 1, 2023
1 parent 8f072fc commit 178efc0
Show file tree
Hide file tree
Showing 4 changed files with 338 additions and 101 deletions.
7 changes: 4 additions & 3 deletions integration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package mermaid_test
import (
"bytes"
"os"
"os/exec"
"path/filepath"
"regexp"
"strings"
"testing"
Expand Down Expand Up @@ -57,8 +57,9 @@ func TestIntegration_Client(t *testing.T) {
func TestIntegration_Server(t *testing.T) {
t.Parallel()

if _, err := exec.LookPath("mmdc"); err != nil {
t.Skip("mmdc not found")
mmdcPath := filepath.Join("node_modules", ".bin", "mmdc")
if _, err := os.Stat(mmdcPath); err != nil {
t.Fatalf("mmdc not found at %s", mmdcPath)
}

testdata, err := os.ReadFile("testdata/server.yaml")
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"dependencies": {
"@mermaid-js/mermaid-cli": "^9.1.7"
"@mermaid-js/mermaid-cli": "^10.6.0"
}
}
4 changes: 2 additions & 2 deletions testdata/server.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
```
want: |
<p>Transforms mermaid blocks.</p>
<div class="mermaid"><svg viewBox="0 0 45.4375 144" style="max-width: 45.4375px; background-color: white;" aria-labelledby="chart-title-mermaid-0 chart-desc-mermaid-0" role="img" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="100%" id="mermaid-0"><title id="chart-title-mermaid-0"/><desc id="chart-desc-mermaid-0"/><style>#mermaid-0 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-0 .error-icon{fill:#552222;}#mermaid-0 .error-text{fill:#552222;stroke:#552222;}#mermaid-0 .edge-thickness-normal{stroke-width:2px;}#mermaid-0 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-0 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-0 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-0 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-0 .marker{fill:#333333;stroke:#333333;}#mermaid-0 .marker.cross{stroke:#333333;}#mermaid-0 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-0 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-0 .cluster-label text{fill:#333;}#mermaid-0 .cluster-label span{color:#333;}#mermaid-0 .label text,#mermaid-0 span{fill:#333;color:#333;}#mermaid-0 .node rect,#mermaid-0 .node circle,#mermaid-0 .node ellipse,#mermaid-0 .node polygon,#mermaid-0 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-0 .node .label{text-align:center;}#mermaid-0 .node.clickable{cursor:pointer;}#mermaid-0 .arrowheadPath{fill:#333333;}#mermaid-0 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-0 .flowchart-link{stroke:#333333;fill:none;}#mermaid-0 .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-0 .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-0 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-0 .cluster text{fill:#333;}#mermaid-0 .cluster span{color:#333;}#mermaid-0 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-0 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><g class="output"><g class="clusters"/><g class="edgePaths"><g style="opacity: 1;" id="L-A-B" class="edgePath LS-A LE-B"><path style="fill:none" marker-end="url(#arrowhead7)" d="M22.71875,47L22.71875,51.166666666666664C22.71875,55.333333333333336,22.71875,63.666666666666664,22.71875,72C22.71875,80.33333333333333,22.71875,88.66666666666667,22.71875,92.83333333333333L22.71875,97" class="path"/><defs><marker orient="auto" markerHeight="6" markerWidth="8" markerUnits="strokeWidth" refY="5" refX="9" viewBox="0 0 10 10" id="arrowhead7"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowheadPath" d="M 0 0 L 10 5 L 0 10 z"/></marker></defs></g></g><g class="edgeLabels"><g style="opacity: 1;" transform="" class="edgeLabel"><g class="label" transform="translate(0,0)"><rect height="0" width="0" ry="0" rx="0"/><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span style="" class="edgeLabel L-LS-A' L-LE-B" id="L-L-A-B"></span></div></foreignObject></g></g></g><g class="nodes"><g style="opacity: 1;" transform="translate(22.71875,27.5)" id="flowchart-A-4" class="node default"><rect class="label-container" height="39" width="29.4375" y="-19.5" x="-14.71875" ry="0" rx="0"/><g transform="translate(0,0)" class="label"><g transform="translate(-4.71875,-9.5)"><foreignObject height="19" width="9.4375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml">A</div></foreignObject></g></g></g><g style="opacity: 1;" transform="translate(22.71875,116.5)" id="flowchart-B-5" class="node default"><rect class="label-container" height="39" width="29.0625" y="-19.5" x="-14.53125" ry="0" rx="0"/><g transform="translate(0,0)" class="label"><g transform="translate(-4.53125,-9.5)"><foreignObject height="19" width="9.0625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml">B</div></foreignObject></g></g></g></g></g></g></svg></div>
<div class="mermaid"><svg aria-roledescription="flowchart-v0" role="graphics-document document" viewBox="-0 -0 0 0" style="max-width: 0px; background-color: white;" xmlns:xlink="http://www.w0.org/0/xlink" xmlns="http://www.w0.org/0/svg" width="0%" id="my-svg"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:0px;fill:#0;}#my-svg .error-icon{fill:#0;}#my-svg .error-text{fill:#0;stroke:#0;}#my-svg .edge-thickness-normal{stroke-width:0px;}#my-svg .edge-thickness-thick{stroke-width:0px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:0;}#my-svg .edge-pattern-dotted{stroke-dasharray:0;}#my-svg .marker{fill:#0;stroke:#0;}#my-svg .marker.cross{stroke:#0;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:0px;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#0;}#my-svg .cluster-label text{fill:#0;}#my-svg .cluster-label span,#my-svg p{color:#0;}#my-svg .label text,#my-svg span,#my-svg p{fill:#0;color:#0;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#0DB;stroke-width:0px;}#my-svg .flowchart-label text{text-anchor:middle;}#my-svg .node .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .arrowheadPath{fill:#0;}#my-svg .edgePath .path{stroke:#0;stroke-width:0px;}#my-svg .flowchart-link{stroke:#0;fill:none;}#my-svg .edgeLabel{background-color:#e0e0e0;text-align:center;}#my-svg .edgeLabel rect{opacity:0;background-color:#e0e0e0;fill:#e0e0e0;}#my-svg .labelBkg{background-color:rgba(0, 0, 0, 0);}#my-svg .cluster rect{fill:#ffffde;stroke:#aaaa0;stroke-width:0px;}#my-svg .cluster text{fill:#0;}#my-svg .cluster span,#my-svg p{color:#0;}#my-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:0px;padding:0px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:0px;background:hsl(0, 0%, 0%);border:0px solid #aaaa0;border-radius:0px;pointer-events:none;z-index:0;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:0px;fill:#0;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker orient="auto" markerHeight="0" markerWidth="0" markerUnits="userSpaceOnUse" refY="0" refX="0" viewBox="0 0 0 0" class="marker flowchart" id="my-svg_flowchart-pointEnd"><path style="stroke-width: 0; stroke-dasharray: 0, 0;" class="arrowMarkerPath" d="M 0 0 L 0 0 L 0 0 z"/></marker><marker orient="auto" markerHeight="0" markerWidth="0" markerUnits="userSpaceOnUse" refY="0" refX="0" viewBox="0 0 0 0" class="marker flowchart" id="my-svg_flowchart-pointStart"><path style="stroke-width: 0; stroke-dasharray: 0, 0;" class="arrowMarkerPath" d="M 0 0 L 0 0 L 0 0 z"/></marker><marker orient="auto" markerHeight="0" markerWidth="0" markerUnits="userSpaceOnUse" refY="0" refX="0" viewBox="0 0 0 0" class="marker flowchart" id="my-svg_flowchart-circleEnd"><circle style="stroke-width: 0; stroke-dasharray: 0, 0;" class="arrowMarkerPath" r="0" cy="0" cx="0"/></marker><marker orient="auto" markerHeight="0" markerWidth="0" markerUnits="userSpaceOnUse" refY="0" refX="-0" viewBox="0 0 0 0" class="marker flowchart" id="my-svg_flowchart-circleStart"><circle style="stroke-width: 0; stroke-dasharray: 0, 0;" class="arrowMarkerPath" r="0" cy="0" cx="0"/></marker><marker orient="auto" markerHeight="0" markerWidth="0" markerUnits="userSpaceOnUse" refY="0" refX="0" viewBox="0 0 0 0" class="marker cross flowchart" id="my-svg_flowchart-crossEnd"><path style="stroke-width: 0; stroke-dasharray: 0, 0;" class="arrowMarkerPath" d="M 0,0 l 0,0 M 0,0 l -0,0"/></marker><marker orient="auto" markerHeight="0" markerWidth="0" markerUnits="userSpaceOnUse" refY="0" refX="-0" viewBox="0 0 0 0" class="marker cross flowchart" id="my-svg_flowchart-crossStart"><path style="stroke-width: 0; stroke-dasharray: 0, 0;" class="arrowMarkerPath" d="M 0,0 l 0,0 M 0,0 l -0,0"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-A LE-B" id="L-A-B-0" d="M0,0L0,0C0,0,0,0,0,0C0,0,0,0,0,0L0,0"/></g><g class="edgeLabels"><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w0.org/0/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(0, 0)" id="flowchart-A-0" class="node default default flowchart-label"><rect height="0" width="0" y="-0" x="-0" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-0, -0)" style="" class="label"><rect/><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w0.org/0/xhtml"><span class="nodeLabel">A</span></div></foreignObject></g></g><g transform="translate(0, 0)" id="flowchart-B-0" class="node default default flowchart-label"><rect height="0" width="0" y="-0" x="-0" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-0, -0)" style="" class="label"><rect/><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w0.org/0/xhtml"><span class="nodeLabel">B</span></div></foreignObject></g></g></g></g></g></svg></div>
- desc: container tag
containerTag: pre
Expand All @@ -21,4 +21,4 @@
```
want: |
<p>Transforms mermaid blocks.</p>
<pre class="mermaid"><svg viewBox="0 0 45.4375 144" style="max-width: 45.4375px; background-color: white;" aria-labelledby="chart-title-mermaid-0 chart-desc-mermaid-0" role="img" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="100%" id="mermaid-0"><title id="chart-title-mermaid-0"/><desc id="chart-desc-mermaid-0"/><style>#mermaid-0 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-0 .error-icon{fill:#552222;}#mermaid-0 .error-text{fill:#552222;stroke:#552222;}#mermaid-0 .edge-thickness-normal{stroke-width:2px;}#mermaid-0 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-0 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-0 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-0 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-0 .marker{fill:#333333;stroke:#333333;}#mermaid-0 .marker.cross{stroke:#333333;}#mermaid-0 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-0 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-0 .cluster-label text{fill:#333;}#mermaid-0 .cluster-label span{color:#333;}#mermaid-0 .label text,#mermaid-0 span{fill:#333;color:#333;}#mermaid-0 .node rect,#mermaid-0 .node circle,#mermaid-0 .node ellipse,#mermaid-0 .node polygon,#mermaid-0 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-0 .node .label{text-align:center;}#mermaid-0 .node.clickable{cursor:pointer;}#mermaid-0 .arrowheadPath{fill:#333333;}#mermaid-0 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-0 .flowchart-link{stroke:#333333;fill:none;}#mermaid-0 .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-0 .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-0 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-0 .cluster text{fill:#333;}#mermaid-0 .cluster span{color:#333;}#mermaid-0 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-0 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><g class="output"><g class="clusters"/><g class="edgePaths"><g style="opacity: 1;" id="L-A-B" class="edgePath LS-A LE-B"><path style="fill:none" marker-end="url(#arrowhead7)" d="M22.71875,47L22.71875,51.166666666666664C22.71875,55.333333333333336,22.71875,63.666666666666664,22.71875,72C22.71875,80.33333333333333,22.71875,88.66666666666667,22.71875,92.83333333333333L22.71875,97" class="path"/><defs><marker orient="auto" markerHeight="6" markerWidth="8" markerUnits="strokeWidth" refY="5" refX="9" viewBox="0 0 10 10" id="arrowhead7"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowheadPath" d="M 0 0 L 10 5 L 0 10 z"/></marker></defs></g></g><g class="edgeLabels"><g style="opacity: 1;" transform="" class="edgeLabel"><g class="label" transform="translate(0,0)"><rect height="0" width="0" ry="0" rx="0"/><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span style="" class="edgeLabel L-LS-A' L-LE-B" id="L-L-A-B"></span></div></foreignObject></g></g></g><g class="nodes"><g style="opacity: 1;" transform="translate(22.71875,27.5)" id="flowchart-A-4" class="node default"><rect class="label-container" height="39" width="29.4375" y="-19.5" x="-14.71875" ry="0" rx="0"/><g transform="translate(0,0)" class="label"><g transform="translate(-4.71875,-9.5)"><foreignObject height="19" width="9.4375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml">A</div></foreignObject></g></g></g><g style="opacity: 1;" transform="translate(22.71875,116.5)" id="flowchart-B-5" class="node default"><rect class="label-container" height="39" width="29.0625" y="-19.5" x="-14.53125" ry="0" rx="0"/><g transform="translate(0,0)" class="label"><g transform="translate(-4.53125,-9.5)"><foreignObject height="19" width="9.0625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml">B</div></foreignObject></g></g></g></g></g></g></svg></pre>
<pre class="mermaid"><svg aria-roledescription="flowchart-v0" role="graphics-document document" viewBox="-0 -0 0 0" style="max-width: 0px; background-color: white;" xmlns:xlink="http://www.w0.org/0/xlink" xmlns="http://www.w0.org/0/svg" width="0%" id="my-svg"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:0px;fill:#0;}#my-svg .error-icon{fill:#0;}#my-svg .error-text{fill:#0;stroke:#0;}#my-svg .edge-thickness-normal{stroke-width:0px;}#my-svg .edge-thickness-thick{stroke-width:0px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:0;}#my-svg .edge-pattern-dotted{stroke-dasharray:0;}#my-svg .marker{fill:#0;stroke:#0;}#my-svg .marker.cross{stroke:#0;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:0px;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#0;}#my-svg .cluster-label text{fill:#0;}#my-svg .cluster-label span,#my-svg p{color:#0;}#my-svg .label text,#my-svg span,#my-svg p{fill:#0;color:#0;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#0DB;stroke-width:0px;}#my-svg .flowchart-label text{text-anchor:middle;}#my-svg .node .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .arrowheadPath{fill:#0;}#my-svg .edgePath .path{stroke:#0;stroke-width:0px;}#my-svg .flowchart-link{stroke:#0;fill:none;}#my-svg .edgeLabel{background-color:#e0e0e0;text-align:center;}#my-svg .edgeLabel rect{opacity:0;background-color:#e0e0e0;fill:#e0e0e0;}#my-svg .labelBkg{background-color:rgba(0, 0, 0, 0);}#my-svg .cluster rect{fill:#ffffde;stroke:#aaaa0;stroke-width:0px;}#my-svg .cluster text{fill:#0;}#my-svg .cluster span,#my-svg p{color:#0;}#my-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:0px;padding:0px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:0px;background:hsl(0, 0%, 0%);border:0px solid #aaaa0;border-radius:0px;pointer-events:none;z-index:0;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:0px;fill:#0;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker orient="auto" markerHeight="0" markerWidth="0" markerUnits="userSpaceOnUse" refY="0" refX="0" viewBox="0 0 0 0" class="marker flowchart" id="my-svg_flowchart-pointEnd"><path style="stroke-width: 0; stroke-dasharray: 0, 0;" class="arrowMarkerPath" d="M 0 0 L 0 0 L 0 0 z"/></marker><marker orient="auto" markerHeight="0" markerWidth="0" markerUnits="userSpaceOnUse" refY="0" refX="0" viewBox="0 0 0 0" class="marker flowchart" id="my-svg_flowchart-pointStart"><path style="stroke-width: 0; stroke-dasharray: 0, 0;" class="arrowMarkerPath" d="M 0 0 L 0 0 L 0 0 z"/></marker><marker orient="auto" markerHeight="0" markerWidth="0" markerUnits="userSpaceOnUse" refY="0" refX="0" viewBox="0 0 0 0" class="marker flowchart" id="my-svg_flowchart-circleEnd"><circle style="stroke-width: 0; stroke-dasharray: 0, 0;" class="arrowMarkerPath" r="0" cy="0" cx="0"/></marker><marker orient="auto" markerHeight="0" markerWidth="0" markerUnits="userSpaceOnUse" refY="0" refX="-0" viewBox="0 0 0 0" class="marker flowchart" id="my-svg_flowchart-circleStart"><circle style="stroke-width: 0; stroke-dasharray: 0, 0;" class="arrowMarkerPath" r="0" cy="0" cx="0"/></marker><marker orient="auto" markerHeight="0" markerWidth="0" markerUnits="userSpaceOnUse" refY="0" refX="0" viewBox="0 0 0 0" class="marker cross flowchart" id="my-svg_flowchart-crossEnd"><path style="stroke-width: 0; stroke-dasharray: 0, 0;" class="arrowMarkerPath" d="M 0,0 l 0,0 M 0,0 l -0,0"/></marker><marker orient="auto" markerHeight="0" markerWidth="0" markerUnits="userSpaceOnUse" refY="0" refX="-0" viewBox="0 0 0 0" class="marker cross flowchart" id="my-svg_flowchart-crossStart"><path style="stroke-width: 0; stroke-dasharray: 0, 0;" class="arrowMarkerPath" d="M 0,0 l 0,0 M 0,0 l -0,0"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"><path marker-end="url(#my-svg_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-A LE-B" id="L-A-B-0" d="M0,0L0,0C0,0,0,0,0,0C0,0,0,0,0,0L0,0"/></g><g class="edgeLabels"><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w0.org/0/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(0, 0)" id="flowchart-A-0" class="node default default flowchart-label"><rect height="0" width="0" y="-0" x="-0" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-0, -0)" style="" class="label"><rect/><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w0.org/0/xhtml"><span class="nodeLabel">A</span></div></foreignObject></g></g><g transform="translate(0, 0)" id="flowchart-B-0" class="node default default flowchart-label"><rect height="0" width="0" y="-0" x="-0" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-0, -0)" style="" class="label"><rect/><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w0.org/0/xhtml"><span class="nodeLabel">B</span></div></foreignObject></g></g></g></g></g></svg></pre>
Loading

0 comments on commit 178efc0

Please sign in to comment.