From afad93d646eb1f6f0174b1b39e0a577dfecadc41 Mon Sep 17 00:00:00 2001 From: Aliaksandr Dziarkach <18146690+AliaksandrDziarkach@users.noreply.github.com> Date: Thu, 14 Nov 2024 21:39:13 +0300 Subject: [PATCH] #2513 - Elliptical arrows can not be saved to the png Add UT --- .../ref/rendering/render_reactions.py.out | 2 + .../tests/rendering/reactions/issue_2513.ket | 102 +++++++++++++++ .../tests/rendering/ref/mac/issue_2513.png | Bin 0 -> 8482 bytes .../tests/rendering/render_reactions.py | 12 ++ .../backend/service/tests/api/indigo_test.py | 123 ++++++++++++++++++ 5 files changed, 239 insertions(+) create mode 100644 api/tests/integration/tests/rendering/reactions/issue_2513.ket create mode 100644 api/tests/integration/tests/rendering/ref/mac/issue_2513.png diff --git a/api/tests/integration/ref/rendering/render_reactions.py.out b/api/tests/integration/ref/rendering/render_reactions.py.out index 7d74ddb834..5fdd2c5b3a 100644 --- a/api/tests/integration/ref/rendering/render_reactions.py.out +++ b/api/tests/integration/ref/rendering/render_reactions.py.out @@ -13,3 +13,5 @@ issue 2444 wrong arrow and plus width issue_2444.png rendering status: OK issue 2512 two short equilibrium half arrows issue_2512.png rendering status: OK +issue 2513 elliptical-arc-arrow render error +issue_2513.png rendering status: OK diff --git a/api/tests/integration/tests/rendering/reactions/issue_2513.ket b/api/tests/integration/tests/rendering/reactions/issue_2513.ket new file mode 100644 index 0000000000..07c0ccfcc3 --- /dev/null +++ b/api/tests/integration/tests/rendering/reactions/issue_2513.ket @@ -0,0 +1,102 @@ +{ + "root": { + "nodes": [ + { + "$ref": "mol0" + }, + { + "$ref": "mol1" + }, + { + "$ref": "mol2" + }, + { + "type": "arrow", + "data": { + "mode": "elliptical-arc-arrow-open-angle", + "pos": [ + { + "x": 5.799999999999997, + "y": -8.200000000000003, + "z": 0 + }, + { + "x": 7.205569279687058, + "y": -8.200000000000003, + "z": 0 + } + ], + "height": 1 + } + }, + { + "type": "arrow", + "data": { + "mode": "open-angle", + "pos": [ + { + "x": 7.775, + "y": -8.225, + "z": 0 + }, + { + "x": 8.875, + "y": -8.225, + "z": 0 + } + ] + } + }, + { + "type": "plus", + "location": [ + 6.525, + -8.225, + 0 + ], + "prop": {} + } + ], + "connections": [], + "templates": [] + }, + "mol0": { + "type": "molecule", + "atoms": [ + { + "label": "N", + "location": [ + 5.749999999999999, + -8.350000000000001, + 0 + ] + } + ] + }, + "mol1": { + "type": "molecule", + "atoms": [ + { + "label": "O", + "location": [ + 7.3999999999999995, + -8.3, + 0 + ] + } + ] + }, + "mol2": { + "type": "molecule", + "atoms": [ + { + "label": "C", + "location": [ + 9.15, + -8.3, + 0 + ] + } + ] + } +} \ No newline at end of file diff --git a/api/tests/integration/tests/rendering/ref/mac/issue_2513.png b/api/tests/integration/tests/rendering/ref/mac/issue_2513.png new file mode 100644 index 0000000000000000000000000000000000000000..1fb5b46e2e48c700e729baf5d6802708711a4155 GIT binary patch literal 8482 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