Skip to content

Commit

Permalink
[TEST] Add more BPMN rendering visual tests for labels and waypoints (#…
Browse files Browse the repository at this point in the history
…1023)

Add new tests to check BPMN rendering for
  - label fonts: ensure the font properties of BPMN Label Styles are used in rendering
  - waypoints: check how the lib behaves when there is no waypoints and when terminal waypoints are defined inside or outside of the source/target shapes

Also always copy test diagrams to destination.
On Ubuntu, not overriding files takes 6ms, overriding 12ms.
The copy is very fast, and not copying the files has side effects: when editing the diagram it is not updated and we don't see the change in tests. This is hard to debug and error prone.
  • Loading branch information
tbouffard authored Jan 19, 2021
1 parent 141fc89 commit d94a2ae
Show file tree
Hide file tree
Showing 10 changed files with 558 additions and 1 deletion.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions test/e2e/bpmn.rendering.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,17 @@ describe('no BPMN elements visual regression', () => {
windows: 0.003,
},
],
[
'labels.04.fonts',
{
// Expected image to match or be a close match to snapshot but was 0.00019304876757164635%
linux: 0.000002,
// Expected image to match or be a close match to snapshot but was 0.18334725431882193%
macos: 0.0019,
// Expected image to match or be a close match to snapshot but was 0.18553107384994272%
windows: 0.0019,
},
],
// ubuntu: Expected image to match or be a close match to snapshot but was 0.19665548561466073%
// macOS: Expected image to match or be a close match to snapshot but was 0.15006201878846603%
// windows: Expected image to match or be a close match to snapshot but was 0.12200021675353723%
Expand Down
2 changes: 1 addition & 1 deletion test/e2e/config/copy.bpmn.diagram.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
import { copySync } from 'fs-extra';

function copyDirectoryContentIfNotExists(dirName: string): void {
copySync(`${__dirname}/../../fixtures/bpmn/${dirName}`, `${__dirname}/../../../build/public/static/diagrams/`, { overwrite: false });
copySync(`${__dirname}/../../fixtures/bpmn/${dirName}`, `${__dirname}/../../../build/public/static/diagrams/`, { overwrite: true });
}

copyDirectoryContentIfNotExists('diagram');
Expand Down
124 changes: 124 additions & 0 deletions test/fixtures/bpmn/non-regression/flows.waypoints.01.none.bpmn
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_0f7xung" targetNamespace="http://bpmn.io/schema/bpmn" exporter="bpmn-js (https://demo.bpmn.io)" exporterVersion="8.0.1">
<bpmn:process id="Process_0ztjz3c" isExecutable="false">
<bpmn:startEvent id="StartEvent_0a4f505">
<bpmn:outgoing>Flow_1hnsfp9</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:task id="Activity_0w0xl86">
<bpmn:incoming>Flow_1oipotf</bpmn:incoming>
<bpmn:outgoing>Flow_000dpuh</bpmn:outgoing>
</bpmn:task>
<bpmn:sequenceFlow id="Flow_1oipotf" sourceRef="Gateway_0apkkfa" targetRef="Activity_0w0xl86" />
<bpmn:exclusiveGateway id="Gateway_1cgbghi">
<bpmn:incoming>Flow_000dpuh</bpmn:incoming>
<bpmn:outgoing>Flow_197fuw2</bpmn:outgoing>
<bpmn:outgoing>Flow_13mc4au</bpmn:outgoing>
<bpmn:outgoing>Flow_0jdyysu</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:sequenceFlow id="Flow_000dpuh" sourceRef="Activity_0w0xl86" targetRef="Gateway_1cgbghi" />
<bpmn:task id="Activity_1xjfxj6">
<bpmn:incoming>Flow_197fuw2</bpmn:incoming>
<bpmn:outgoing>Flow_0419yr4</bpmn:outgoing>
</bpmn:task>
<bpmn:sequenceFlow id="Flow_197fuw2" sourceRef="Gateway_1cgbghi" targetRef="Activity_1xjfxj6" />
<bpmn:task id="Activity_1gvrcyl">
<bpmn:incoming>Flow_13mc4au</bpmn:incoming>
<bpmn:outgoing>Flow_1goujru</bpmn:outgoing>
</bpmn:task>
<bpmn:sequenceFlow id="Flow_13mc4au" sourceRef="Gateway_1cgbghi" targetRef="Activity_1gvrcyl" />
<bpmn:task id="Activity_0guzyi2">
<bpmn:incoming>Flow_0jdyysu</bpmn:incoming>
<bpmn:outgoing>Flow_1iox1ze</bpmn:outgoing>
</bpmn:task>
<bpmn:sequenceFlow id="Flow_0jdyysu" sourceRef="Gateway_1cgbghi" targetRef="Activity_0guzyi2" />
<bpmn:exclusiveGateway id="Gateway_050l34l">
<bpmn:incoming>Flow_1iox1ze</bpmn:incoming>
<bpmn:incoming>Flow_1goujru</bpmn:incoming>
<bpmn:incoming>Flow_0419yr4</bpmn:incoming>
<bpmn:outgoing>Flow_0pzc84r</bpmn:outgoing>
<bpmn:outgoing>Flow_0qcl0fh</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:sequenceFlow id="Flow_1iox1ze" sourceRef="Activity_0guzyi2" targetRef="Gateway_050l34l" />
<bpmn:sequenceFlow id="Flow_1goujru" sourceRef="Activity_1gvrcyl" targetRef="Gateway_050l34l" />
<bpmn:sequenceFlow id="Flow_0419yr4" sourceRef="Activity_1xjfxj6" targetRef="Gateway_050l34l" />
<bpmn:endEvent id="Event_0wr1ah1">
<bpmn:incoming>Flow_0pzc84r</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_0pzc84r" sourceRef="Gateway_050l34l" targetRef="Event_0wr1ah1" />
<bpmn:endEvent id="Event_0h7rgvm">
<bpmn:incoming>Flow_0qcl0fh</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_0qcl0fh" sourceRef="Gateway_050l34l" targetRef="Event_0h7rgvm" />
<bpmn:exclusiveGateway id="Gateway_0apkkfa">
<bpmn:incoming>Flow_1hnsfp9</bpmn:incoming>
<bpmn:incoming>Flow_1d8gyp6</bpmn:incoming>
<bpmn:outgoing>Flow_1oipotf</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:sequenceFlow id="Flow_1hnsfp9" sourceRef="StartEvent_0a4f505" targetRef="Gateway_0apkkfa" />
<bpmn:startEvent id="Event_0faupiw">
<bpmn:outgoing>Flow_1d8gyp6</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:sequenceFlow id="Flow_1d8gyp6" sourceRef="Event_0faupiw" targetRef="Gateway_0apkkfa" />
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_0ztjz3c">
<bpmndi:BPMNEdge id="Flow_1oipotf_di" bpmnElement="Flow_1oipotf">
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_000dpuh_di" bpmnElement="Flow_000dpuh">
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_197fuw2_di" bpmnElement="Flow_197fuw2">
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_13mc4au_di" bpmnElement="Flow_13mc4au">
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0jdyysu_di" bpmnElement="Flow_0jdyysu">
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1iox1ze_di" bpmnElement="Flow_1iox1ze">
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1goujru_di" bpmnElement="Flow_1goujru">
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0419yr4_di" bpmnElement="Flow_0419yr4">
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0pzc84r_di" bpmnElement="Flow_0pzc84r">
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0qcl0fh_di" bpmnElement="Flow_0qcl0fh">
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1hnsfp9_di" bpmnElement="Flow_1hnsfp9">
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1d8gyp6_di" bpmnElement="Flow_1d8gyp6">
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_0a4f505">
<dc:Bounds x="156" y="81" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_1cgbghi_di" bpmnElement="Gateway_1cgbghi" isMarkerVisible="true">
<dc:Bounds x="475" y="195" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1xjfxj6_di" bpmnElement="Activity_1xjfxj6">
<dc:Bounds x="570" y="320" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1gvrcyl_di" bpmnElement="Activity_1gvrcyl">
<dc:Bounds x="570" y="180" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0guzyi2_di" bpmnElement="Activity_0guzyi2">
<dc:Bounds x="570" y="40" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_050l34l_di" bpmnElement="Gateway_050l34l" isMarkerVisible="true">
<dc:Bounds x="755" y="195" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_0wr1ah1_di" bpmnElement="Event_0wr1ah1">
<dc:Bounds x="902" y="132" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_0h7rgvm_di" bpmnElement="Event_0h7rgvm">
<dc:Bounds x="902" y="262" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0w0xl86_di" bpmnElement="Activity_0w0xl86">
<dc:Bounds x="320" y="180" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_0apkkfa_di" bpmnElement="Gateway_0apkkfa" isMarkerVisible="true">
<dc:Bounds x="195" y="255" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_0faupiw_di" bpmnElement="Event_0faupiw">
<dc:Bounds x="156" y="372" width="36" height="36" />
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_0f7xung" targetNamespace="http://bpmn.io/schema/bpmn" exporter="bpmn-js (https://demo.bpmn.io)" exporterVersion="8.0.1">
<bpmn:process id="Process_0ztjz3c" isExecutable="false">
<bpmn:startEvent id="StartEvent_01">
<bpmn:outgoing>Flow_startevent01_to_exclusivegateway01</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:task id="AbstractTask_01">
<bpmn:incoming>Flow_exclusivegateway01_to_abstracttask01</bpmn:incoming>
<bpmn:outgoing>Flow_abstracttask01_exclusivegateway02</bpmn:outgoing>
</bpmn:task>
<bpmn:sequenceFlow id="Flow_exclusivegateway01_to_abstracttask01" sourceRef="ExclusiveGateway_01" targetRef="AbstractTask_01" />
<bpmn:exclusiveGateway id="ExclusiveGateway_02">
<bpmn:incoming>Flow_abstracttask01_exclusivegateway02</bpmn:incoming>
<bpmn:outgoing>Flow_exclusivegateway02_to_abstracttask0203</bpmn:outgoing>
<bpmn:outgoing>Flow_exclusivegateway02_to_abstracttask0202</bpmn:outgoing>
<bpmn:outgoing>Flow_exclusivegateway02_to_abstracttask0201</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:sequenceFlow id="Flow_abstracttask01_exclusivegateway02" sourceRef="AbstractTask_01" targetRef="ExclusiveGateway_02" />
<bpmn:task id="AbstractTask_02_03">
<bpmn:incoming>Flow_exclusivegateway02_to_abstracttask0203</bpmn:incoming>
<bpmn:outgoing>Flow_abstracttask0203_to_endevent03</bpmn:outgoing>
</bpmn:task>
<bpmn:sequenceFlow id="Flow_exclusivegateway02_to_abstracttask0203" sourceRef="ExclusiveGateway_02" targetRef="AbstractTask_02_03" />
<bpmn:task id="AbstractTask_02_02">
<bpmn:incoming>Flow_exclusivegateway02_to_abstracttask0202</bpmn:incoming>
<bpmn:outgoing>Flow_abstracttask0202_to_endevent02</bpmn:outgoing>
</bpmn:task>
<bpmn:sequenceFlow id="Flow_exclusivegateway02_to_abstracttask0202" sourceRef="ExclusiveGateway_02" targetRef="AbstractTask_02_02" />
<bpmn:task id="AbstractTask_02_01">
<bpmn:incoming>Flow_exclusivegateway02_to_abstracttask0201</bpmn:incoming>
<bpmn:outgoing>Flow_abstracttask0201_to_endevent01</bpmn:outgoing>
</bpmn:task>
<bpmn:sequenceFlow id="Flow_exclusivegateway02_to_abstracttask0201" sourceRef="ExclusiveGateway_02" targetRef="AbstractTask_02_01" />
<bpmn:endEvent id="EndEvent_01">
<bpmn:incoming>Flow_abstracttask0201_to_endevent01</bpmn:incoming>
</bpmn:endEvent>
<bpmn:endEvent id="EndEvent_02">
<bpmn:incoming>Flow_abstracttask0202_to_endevent02</bpmn:incoming>
</bpmn:endEvent>
<bpmn:exclusiveGateway id="ExclusiveGateway_01">
<bpmn:incoming>Flow_startevent01_to_exclusivegateway01</bpmn:incoming>
<bpmn:incoming>Flow_startevent02_to_exclusivegateway01</bpmn:incoming>
<bpmn:outgoing>Flow_exclusivegateway01_to_abstracttask01</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:sequenceFlow id="Flow_startevent01_to_exclusivegateway01" sourceRef="StartEvent_01" targetRef="ExclusiveGateway_01" />
<bpmn:startEvent id="StartEvent_02">
<bpmn:outgoing>Flow_startevent02_to_exclusivegateway01</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:sequenceFlow id="Flow_startevent02_to_exclusivegateway01" sourceRef="StartEvent_02" targetRef="ExclusiveGateway_01" />
<bpmn:endEvent id="EndEvent_03">
<bpmn:incoming>Flow_abstracttask0203_to_endevent03</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_abstracttask0201_to_endevent01" sourceRef="AbstractTask_02_01" targetRef="EndEvent_01" />
<bpmn:sequenceFlow id="Flow_abstracttask0202_to_endevent02" sourceRef="AbstractTask_02_02" targetRef="EndEvent_02" />
<bpmn:sequenceFlow id="Flow_abstracttask0203_to_endevent03" sourceRef="AbstractTask_02_03" targetRef="EndEvent_03" />
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_0ztjz3c">
<bpmndi:BPMNEdge id="Flow_startevent02_to_exclusivegateway01_di" bpmnElement="Flow_startevent02_to_exclusivegateway01">
<!-- x="192" y="390" is on the start event perimeter -->
<di:waypoint x="182" y="395" />
<di:waypoint x="220" y="390" />
<!-- x="220" y="305" is on bottom of the exclusive gateway perimeter -->
<di:waypoint x="230" y="280" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_startevent01_to_exclusivegateway01_di" bpmnElement="Flow_startevent01_to_exclusivegateway01">
<!-- x="192" y="99" is on the start event perimeter -->
<di:waypoint x="180" y="93" />
<di:waypoint x="220" y="99" />
<!-- x="220" y="255" is on top of the exclusive gateway perimeter -->
<di:waypoint x="210" y="280" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_exclusivegateway02_to_abstracttask0201_di" bpmnElement="Flow_exclusivegateway02_to_abstracttask0201">
<!-- x="500" y="195" is on top of the exclusive gateway perimeter -->
<di:waypoint x="500" y="205" />
<di:waypoint x="500" y="80" />
<!-- x="570" y="80" is on left center of the abstract task perimeter -->
<di:waypoint x="585" y="80" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_exclusivegateway02_to_abstracttask0202_di" bpmnElement="Flow_exclusivegateway02_to_abstracttask0202">
<!-- x="525" y="220" is on right of the exclusive gateway perimeter -->
<di:waypoint x="508" y="229" />
<!-- x="570" y="220" is on left center of the abstract task perimeter -->
<di:waypoint x="587" y="220" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_exclusivegateway02_to_abstracttask0203_di" bpmnElement="Flow_exclusivegateway02_to_abstracttask0203">
<!-- x="500" y="245" is on bottom of the exclusive gateway perimeter -->
<di:waypoint x="500" y="235" />
<di:waypoint x="500" y="360" />
<!-- x="570" y="360" is on left center of the abstract task perimeter -->
<di:waypoint x="580" y="360" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_abstracttask01_exclusivegateway02_di" bpmnElement="Flow_abstracttask01_exclusivegateway02">
<!-- x="420" y="220" is on right center of the abstract task perimeter -->
<di:waypoint x="406" y="211" />
<!-- x="475" y="220" is on left of the exclusive gateway perimeter -->
<di:waypoint x="479" y="226" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_exclusivegateway01_to_abstracttask01_di" bpmnElement="Flow_exclusivegateway01_to_abstracttask01">
<!-- x="245" y="280" is on right of the exclusive gateway perimeter -->
<di:waypoint x="228" y="287" />
<di:waypoint x="370" y="280" />
<!-- x="370" y="260" is on bottom center of the abstract task perimeter -->
<di:waypoint x="363" y="255" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_abstracttask0201_to_endevent01_di" bpmnElement="Flow_abstracttask0201_to_endevent01">
<!-- x="670" y="80" is on right of the task perimeter -->
<di:waypoint x="650" y="70" />
<!-- x="763" y="80" is on left of the end event perimeter -->
<di:waypoint x="768" y="80" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_abstracttask0202_to_endevent02_di" bpmnElement="Flow_abstracttask0202_to_endevent02">
<!-- x="670" y="220" is on right of the task perimeter -->
<di:waypoint x="658" y="220" />
<!-- x="763" y="220" is on left of the end event perimeter -->
<di:waypoint x="773" y="215" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_abstracttask0203_to_endevent03_di" bpmnElement="Flow_abstracttask0203_to_endevent03">
<!-- x="670" y="360" is on right of the task perimeter -->
<di:waypoint x="668" y="350" />
<!-- x="763" y="360" is on left of the end event perimeter -->
<di:waypoint x="783" y="368" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="StartEvent_01_di" bpmnElement="StartEvent_01">
<dc:Bounds x="156" y="81" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="AbstractTask_01_di" bpmnElement="AbstractTask_01">
<dc:Bounds x="320" y="180" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ExclusiveGateway_02_di" bpmnElement="ExclusiveGateway_02" isMarkerVisible="true">
<dc:Bounds x="475" y="195" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="AbstractTask_02_03_di" bpmnElement="AbstractTask_02_03">
<dc:Bounds x="570" y="320" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="AbstractTask_02_02_di" bpmnElement="AbstractTask_02_02">
<dc:Bounds x="570" y="180" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="AbstractTask_02_01_di" bpmnElement="AbstractTask_02_01">
<dc:Bounds x="570" y="40" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ExclusiveGateway_01_di" bpmnElement="ExclusiveGateway_01" isMarkerVisible="true">
<dc:Bounds x="195" y="255" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="StartEvent_02_di" bpmnElement="StartEvent_02">
<dc:Bounds x="156" y="372" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="EndEvent_01_di" bpmnElement="EndEvent_01">
<dc:Bounds x="763" y="62" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="EndEvent_02_di" bpmnElement="EndEvent_02">
<dc:Bounds x="763" y="202" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="EndEvent_03_di" bpmnElement="EndEvent_03">
<dc:Bounds x="763" y="342" width="36" height="36" />
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
Loading

0 comments on commit d94a2ae

Please sign in to comment.