diff --git a/allure-commandline/src/main/java/io/qameta/allure/Commands.java b/allure-commandline/src/main/java/io/qameta/allure/Commands.java index 972bdfd6a..f1f6e427a 100644 --- a/allure-commandline/src/main/java/io/qameta/allure/Commands.java +++ b/allure-commandline/src/main/java/io/qameta/allure/Commands.java @@ -218,10 +218,15 @@ protected Server setUpServer(final String host, final int port, final Path repor */ protected void openBrowser(final URI url) throws IOException { if (Desktop.isDesktopSupported()) { - Desktop.getDesktop().browse(url); + try { + Desktop.getDesktop().browse(url); + } catch (UnsupportedOperationException e) { + LOGGER.error("Browse operation is not supported on your platform." + + "You can use the link below to open the report manually.", e); + } } else { LOGGER.error("Can not open browser because this capability is not supported on " - + "your platform. You can use the link below to open the report manually."); + + "your platform. You can use the link below to open the report manually."); } } diff --git a/allure-generator/.prettierrc b/allure-generator/.prettierrc index c4b43364b..f29337f98 100644 --- a/allure-generator/.prettierrc +++ b/allure-generator/.prettierrc @@ -1,4 +1,6 @@ { + "tabWidth": 4, + "singleQuote": true, "printWidth": 100, "trailingComma": "all" } diff --git a/allure-generator/package-lock.json b/allure-generator/package-lock.json index a656fef6d..1d2184836 100644 --- a/allure-generator/package-lock.json +++ b/allure-generator/package-lock.json @@ -1005,9 +1005,9 @@ } }, "acorn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.5.tgz", - "integrity": "sha512-i33Zgp3XWtmZBMNvCr4azvOFeWVw1Rk6p3hfi3LUDvIFraOMywb1kAtrbi+med14m4Xfpqm3zRZMT+c0FNE7kg==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", "dev": true }, "acorn-dynamic-import": { @@ -1020,9 +1020,9 @@ }, "dependencies": { "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true } } @@ -3715,9 +3715,9 @@ } }, "dot-prop": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", - "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", + "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", "dev": true, "requires": { "is-obj": "^1.0.0" @@ -4021,12 +4021,6 @@ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", "dev": true }, - "eventemitter3": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", - "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", - "dev": true - }, "events": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", @@ -5090,12 +5084,6 @@ "dev": true, "optional": true }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, @@ -5966,14 +5954,22 @@ "dev": true }, "http-proxy": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", - "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, "requires": { - "eventemitter3": "^3.0.0", + "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" + }, + "dependencies": { + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + } } }, "http-proxy-middleware": { @@ -6453,9 +6449,9 @@ "dev": true }, "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, "inquirer": { @@ -7127,9 +7123,9 @@ }, "dependencies": { "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true }, "jsdom": { @@ -7436,9 +7432,9 @@ } }, "jquery": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.0.tgz", - "integrity": "sha512-ggRCXln9zEqv6OqAGXFEcshF5dSBvCkzj6Gm2gzuR5fWawaX8t7cxKVkkygKODrDAzKdoYw3l/e3pm3vlT4IbQ==" + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.0.tgz", + "integrity": "sha512-Xb7SVYMvygPxbFMpTFQiHh1J7HClEaThguL15N/Gg37Lri/qKyhRGZYzHRyLH8Stq3Aow0LsHO2O2ci86fCrNQ==" }, "js-base64": { "version": "2.5.0", @@ -7747,9 +7743,9 @@ } }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", "dev": true }, "lodash.assign": { @@ -12785,9 +12781,9 @@ }, "dependencies": { "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true }, "arr-diff": { @@ -13456,9 +13452,9 @@ } }, "websocket-extensions": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true }, "whatwg-encoding": { diff --git a/allure-generator/package.json b/allure-generator/package.json index b2a803a11..f0a88332a 100644 --- a/allure-generator/package.json +++ b/allure-generator/package.json @@ -71,7 +71,7 @@ "handlebars": "^4.1.2", "highlight.js": "^9.12.0", "i18next": "^8.4.3", - "jquery": "^3.4.0", + "jquery": "^3.5.0", "normalize-css": "^2.3.1", "sortablejs": "^1.6.0", "split.js": "^1.3.5", diff --git a/allure-generator/src/main/javascript/components/attachment/AttachmentView.hbs b/allure-generator/src/main/javascript/components/attachment/AttachmentView.hbs index 023f392d8..7e5d05448 100644 --- a/allure-generator/src/main/javascript/components/attachment/AttachmentView.hbs +++ b/allure-generator/src/main/javascript/components/attachment/AttachmentView.hbs @@ -1,4 +1,6 @@ -{{#if (eq type "code")}} +{{#if (eq type "custom")}} +
+{{else if (eq type "code")}}
{{content}}
diff --git a/allure-generator/src/main/javascript/components/attachment/AttachmentView.js b/allure-generator/src/main/javascript/components/attachment/AttachmentView.js index 8d6ac90fe..6fc5e284e 100644 --- a/allure-generator/src/main/javascript/components/attachment/AttachmentView.js +++ b/allure-generator/src/main/javascript/components/attachment/AttachmentView.js @@ -1,15 +1,17 @@ import './styles.scss'; import highlight from '../../utils/highlight'; -import {View} from 'backbone.marionette'; +import { View } from 'backbone.marionette'; import $ from 'jquery'; import router from '../../router'; -import {className, on, behavior} from '../../decorators'; +import { className, on, behavior, regions } from '../../decorators'; import attachmentType from '../../utils/attachmentType'; import template from './AttachmentView.hbs'; - @className('attachment') -@behavior('TooltipBehavior', {position: 'bottom'}) +@behavior('TooltipBehavior', { position: 'bottom' }) +@regions({ + customView: '.attachment__custom-view', +}) class AttachmentView extends View { template = template; @@ -21,9 +23,14 @@ class AttachmentView extends View { } onRender() { - if(this.needsFetch() && !this.content) { + if (this.attachmentInfo.type === 'custom') { + this.showChildView('customView', new this.attachmentInfo.View({ + sourceUrl: this.sourceUrl, + attachment: this.attachment + })); + } else if (this.needsFetch() && !this.content) { this.loadContent().then(this.render); - } else if(this.attachmentInfo.type === 'code') { + } else if (this.attachmentInfo.type === 'code') { const codeBlock = this.$('.attachment__code'); codeBlock.addClass('language-' + this.attachment.type.split('/').pop()); highlight.highlightBlock(codeBlock[0]); @@ -31,7 +38,7 @@ class AttachmentView extends View { } onDestroy() { - router.setSearch({attachment: null}); + router.setSearch({ attachment: null }); } @on('click .attachment__media-container') @@ -40,12 +47,12 @@ class AttachmentView extends View { if (el.hasClass('attachment__media-container_fullscreen')) { this.onDestroy(); } else { - router.setSearch({attachment: this.attachment.uid}); + router.setSearch({ attachment: this.attachment.uid }); } } loadContent() { - return $.ajax(this.sourceUrl, {dataType: 'text'}).then((responseText) => { + return $.ajax(this.sourceUrl, { dataType: 'text' }).then(responseText => { const parser = this.attachmentInfo.parser; this.content = parser(responseText); }); @@ -61,7 +68,7 @@ class AttachmentView extends View { content: this.content, sourceUrl: this.sourceUrl, attachment: this.attachment, - fullScreen: this.fullScreen + fullScreen: this.fullScreen, }; } } diff --git a/allure-generator/src/main/javascript/utils/attachmentType.js b/allure-generator/src/main/javascript/utils/attachmentType.js index c35063a1e..4539e40cf 100644 --- a/allure-generator/src/main/javascript/utils/attachmentType.js +++ b/allure-generator/src/main/javascript/utils/attachmentType.js @@ -1,6 +1,13 @@ -import {csvParseRows, tsvParseRows} from 'd3-dsv'; +import { csvParseRows, tsvParseRows } from 'd3-dsv'; +import pluginsRegistry from './pluginsRegistry'; export default function typeByMime(type) { + if (pluginsRegistry.attachmentViews[type]) { + return { + type: 'custom', + ...pluginsRegistry.attachmentViews[type] + }; + } switch (type) { case 'image/bmp': case 'image/gif': @@ -67,12 +74,12 @@ export default function typeByMime(type) { type: 'uri', icon: 'fa fa-list-alt', parser: d => d.split('\n') - .map(line => line.trim()) - .filter(line => line.length > 0) - .map(line => ({ - comment: line.indexOf('#') === 0, - text: line - })) + .map(line => line.trim()) + .filter(line => line.length > 0) + .map(line => ({ + comment: line.indexOf('#') === 0, + text: line + })) }; case 'application/x-tar': case 'application/x-gtar': diff --git a/allure-generator/src/main/javascript/utils/pluginsRegistry.js b/allure-generator/src/main/javascript/utils/pluginsRegistry.js index 7f7fc14b7..ddeea44ba 100644 --- a/allure-generator/src/main/javascript/utils/pluginsRegistry.js +++ b/allure-generator/src/main/javascript/utils/pluginsRegistry.js @@ -1,25 +1,26 @@ -import {addTranslation} from './translation'; +import { addTranslation } from './translation'; import router from '../router'; -import {showView, notFound} from '../app'; +import { showView, notFound } from '../app'; import translate from '../helpers/t.js'; import WidgetsModel from '../data/widgets/WidgetsModel'; - class AllurePluginsRegistry { tabs = []; testResultTabs = []; + attachmentViews = {}; + testResultBlocks = { tag: [], before: [], - after: [] + after: [], }; widgets = {}; - addTab(tabName, {title, icon, route, onEnter = notFound} = {}) { + addTab(tabName, { title, icon, route, onEnter = notFound } = {}) { title = title || tabName; - this.tabs.push({tabName, title, icon}); + this.tabs.push({ tabName, title, icon }); router.route(route, tabName); router.on('route:' + tabName, showView(onEnter)); } @@ -28,7 +29,7 @@ class AllurePluginsRegistry { if (!this.widgets[tabName]) { this.widgets[tabName] = {}; } - this.widgets[tabName][widgetName] = {widget, model}; + this.widgets[tabName][widgetName] = { widget, model }; } addTranslation(lang, json) { @@ -39,12 +40,16 @@ class AllurePluginsRegistry { return translate(name, options); } - addTestResultBlock(view, {position}) { + addTestResultBlock(view, { position }) { this.testResultBlocks[position].push(view); } + addAttachmentViewer(mimeType, { View, icon = 'fa fa-file-o' }) { + this.attachmentViews[mimeType] = { View, icon }; + } + addTestResultTab(id, name, View) { - this.testResultTabs.push({id, name, View}); + this.testResultTabs.push({ id, name, View }); } } diff --git a/allure-generator/test-data/screen-diff/3-1-combined-attachment.json b/allure-generator/test-data/screen-diff/3-1-combined-attachment.json new file mode 100644 index 000000000..b2ed3d96b --- /dev/null +++ b/allure-generator/test-data/screen-diff/3-1-combined-attachment.json @@ -0,0 +1,5 @@ +{ + "expected": "data:image/png;base64,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", + "actual": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAowAAABnCAYAAACKLxO+AAASDElEQVR42u3dCXRV1b3HcVpoa1taCghSKSVlnpQhMgTCnDD6BJ/v6ZLqKgqKwqMqs5WnxYIMgvCAokHEAVAEZJQ5zIjMkASKE0YRBR/IPCii/8d/8w7cHM7d5ya5JyHJ97PWb5Gbe+7OPTeulZ97n6GQAAAAABaF+AgAAABAYQQAAACFEQAAABRGAAAAUBgBAABAYQQAAACFEQAAABRGAAAAUBgBAAAACiMAAAAojAAAAKAwAgAAgMIIAAAACiMAAAAojAAAAKAw5obvDoic3iRybFYUMzugzAko7wSUufYcz0rmBZT5AWVBQFkYQBZFnhOZybsBZXFAWRJQlgaQZZnLyUizPKCsCCgrA0hyQFmV+ZyKJKsDypqAsjaArAso67Oe07ZsKBjJN4VRy+L2Qh75iSU/DZ8dhS0p4pOfWfJzS35hz84bLPmlJb+y5Nc+KWrJb0R2hctvLSlmye98UtySEpez2yslfXKjJaUsKe2Tmy4nxStlLPm9JTdbUtYnf7iaVHfKWfJHS8r7JMaSP11NmjsVfFLRkkqWVLakSsbscaeqJdUsqW5JDZ/UzJi9oallyS0+udWS2pbUyZh/haauT+pZEmvJbZbUvzb7nDTwSUNLGlkS55PG1+YDJ00sifdJU0uaWdLcOx9qWljS0ietLGltSUL4fJTokzaWtLWknU/ah8/HHSzpaMntV3NoeN7Ppf3IH4VRZwQpjBRGCiOFkcJIYaQwUhivt8KY/peMj/No8l9hBAAAuF580ZfCSGEEAACw+P8lXQojhREAAIDCSGEEAACgMFIYAQAAKIwURgAAAApjLhTGixcvyunTp+Xw4cPyxRdfyJEjR+TcuXPy448/UhgBAACFMb8Uxh07dsiCBQtkw4YNkp6eLt9//73Zx6NHj8ru3btl0aJFsnLlStm3b58phw79es+ePTJv3jyZOHGivPDCC/Liiy/K3LlzJTU1VY4dO5YzxZHCCAAAKIzBFsYpU6ZIt27dZPjw4bJmzRr59ttv5fz587JlyxYZN26cPPjgg/Lcc8/J6tWrrxTGs2fPmqI5YcIE6dKli7Ro0UIaN24sCQkJcv/995sx9+7dKz/88AOFEQAAXDc+/vhjWbZsmSxfvtysjuaVwnhse1vZu7S5yVebEjI89/2+DvLpmlbmuQ9WtJCzqe0jHlfHSl/byuTQpkT5fF1rk5O72mUsjD179pRSpUpJhw4d5NVXX5UzZ87IwYMHJSkpyRTAmJgY6dq1qyxevNgURi2UaWlpMnbsWElMTJQaNWpIw4YNzdexsbGmOA4ePNgUSgpjdLRt21YqVqyYoz9TZ5wLFSok+/fvz9OfVRD7oePrzwEAZN8333wjmzdvvrLCaaPb6Lb6mqz4/PPPZeHChRkS6N+5KBbG/atbyZyJsSY7FzTN8Nz5Pe1l9bRGMntCrCxMqi9HtraJeFwtislvNJLXRtaWSUNqmfE3z2niXxiPHz8u69evl969e0ulSpUkLi7OLDd/8sknZon50KFDMmPGDLnzzjtNWWzXrp0MGTJEJk+ebGYi9es333xTPv30U5ak83BhfPTRR/NFYQxiPyiMABA92jm0uG3cuNFaGvU53Ua31ddkhbssZjc5WRh3zG8q/3iiqsniKQ0yPHc6pZ1MHVFbhjxWRUYPqmFmCAMvjDpVq+VPZwy1MPbo0UOSk5PNMrTOGG7dulX69+8vVapUMTOLQ4cONcvPeszihx9+aI5f1HKpy9o5gsJIYczh/aAwAkD06MqlHvZmK42hZVG31ddQGP0Loy43b30nXt75Z6zMGl9Plr/a0Cxbaxn8dm8H+SS5pZmtXD61ocn00XVMFk2uL9vmxZt4FsaXX37ZnODyxBNPSPXq1aVly5YyadIkOXDggNnvU6dOycyZM+Wuu+6ScuXKmeMV9QPTMql0RtFJjslCYdQCoUXCWa7UhBYyLQPO93U7t9DXORk5cqRnyXNv695OvfXWWxm20deEK4x+Y2kxcr+3cKUndBt9D1777/4MIhlfX6+v0fcXbp/8yrC7lEX6eYaOl9398PrdUBgBIGdLY7TKovJakv7oo4+C27FcLIxaFle90UheH1VbXhl+q0y7VAR1BnHmuHqmCB56P9GURF3G1n+1RH6yqqUpjCMHVJc3nq9jlrnN3z93YdQ/vnoiS/v27aVmzZry+OOPm1+S88v57LPPZPTo0WZmsWrVquZYxZSUlNz9ryyLhdFdJpxC4cxIhSsl7gIRaekKt1248UJnxJwS5C557rG8iqzXeF7jhI4VrmhFOr6+PnQM2+xoZgpjpJ+7X2GMdD+8fjfO74HCCADBl8ZolkWHXvVlyZIlsnTpUrOqGuj5FlEujM/0rizd/rOcPPlIJTNj6ETL3aNdyssj95Y3hXHf8haydkacTHi6pgz5axVJ+sctpjDq657qWcmUy90Lm8mkv9eSZy+VTP1Xj5Fc+koDefA/ykm7pqVkUI9KsuCl+tfOMLZp08b8QdXHderUubJErccsOrZv3y4DBw6UChUqSJMmTcxZ1F9++WWeLIzuIhhaotwFLLQcONt5zep5FZzQ7zkFxGs8p6g4PzP0vdnGCp01c8YKnc1z74PzXkPH93r/Xku5kYwf+n69ZkCzWxj9Ps9IjmGMdD9sZZvCCADBl8Zol8Ucl8uFcY6eBHOp9Omy9MrXG0nPP5eXP99RVp7+r8qyZnpchsK47s04mTq8trRvVko6tigtzz5e1YxzTWGsW7euxMfHm9SuXdscp6jHK4ZOC+tld5zt9WSXV155xSxT58XC6C4pzvJp6GyVV3EJVz7DlSZbEfIqb+FKVXbGcvYtdLtwy+3hilak49vebzQKYyTb2QpjpPvhVdzDlWsAQDClMU+XxeugMOqJLKMGVJd/XiqEOsvY/e5ypjAO6lHRLEM7hXFE/2pm24nP1JJ/a1Xa/IywhbF8+fJXUq9ePXNdRj15JZRO4T7wwANStGhR6dSpk0yfPl2+++67PFkY3WXJKQvuY+3chcS2nGkrLl7jOWO5S2pWSpXtfbmPI/RadneP7y5amRk/MyfpZPYYxuwWxkj3w5m99Dr2kiVpAAhO6DJ0JGdPF6TCGOkxjHuWNDfHL742qraMebKGKYvhCqPONmrZHN63mrz47C3S674YGdyzcmSFsVq1avLUU0+ZO704a/t6IovexeXee++VIkWKSOfOnc3ldS5cuFCgCmO4Y+fyUmF0zzR6nfhBYaQwAkBulkWdWfQ7e5rC6F0YN8xsbGYLBz5c0cxG6tnRKe82M6WxX7cKGQpj7/tjpG18Kfn7X6vI2/9TT174Ww1TFsMWxttuu02aN29uUrZsWXMmtJ4R7VwcUwvjnDlz5J577pHChQvLHXfcIdOmTcv9aeIcLIzhCl64Yxj9Ck5mlqQjHcuvfNp+htcspHspN5Lxs1sYs/p5RlIYI92PcEvSXv9zAACIflnUfhHJJXeiKfQuMHpGdbav+pJLhXHFpYL4XN9q8kzvKvLW2LrmEjoH1rc2s43uGcZ7OtwsjesVl5H9q8n7s5uYk2OshTH0pJfKlSubi3LrWdC7du2Sixcvmg9N7zl93333yQ033GC218vwnDhxosAVRvdrs7ok7Tx2n1iR3bG89sGZPXRmztxFyL3/zmO/k0Xc42e2MDqFzusM82gUxuzsh9d2Xu8NABD9sujIqdLodckdLZB5sTC+P6uJvHrp8eCeleRvj1QyJVCPUezbrYL8e5sypjC+MzHWFMbOiTdJ54SbZMaYuvK/WxLNMZHWwuhcVmfixInm6zJlylw5TvHIkSNmv/UajQ8//LAUL15cGjVqJGPGjLlyjcaCUBhDS4RX3NdyjKTghLusTrhLxdjGsi23hjsjPNwxmKHXUIzkcjTus7ojLYxe+++8PpqFMSv7wWV1ACB3y2K0S2NevnB3Zm4NqNdh3Dy7iSmB4/+7pimMen1FvczOs49XMd/fOLOxmWUcPejySTE6pt6TetOlsqlnV2sObkwIf+HuVatWSd++fc0fRb2bi15GZ9u2beaXs2XLFunXr585zlEvrTNgwADzXI5eqDuXC2PojGLoMW/OzJMzkxVpwfEqJu7l0syM5XVsotfyq7s0ep0x7VUkIxk/s3emCS11zuuiVRizsx9e5TLc5w4AyBq9N3QkZ0OHlkZ9TUErjMe2tzV3adHoRblDn9Oi9+maVua5D1a0kLOp7c32qe82M7OROmuY/HojUyI1+n29y4tm29x481i317F06dr5Oc7tAT1vDah/SLU46pLzjTfeKB07dpTXXntNvv76a3N/6Oeff14aNGggxYoVMzOQehyjzkDmWmksALcGBAAgv9JzJfTe0JGcE6Hb6LbO+RXRFMhdYKJYGHMznoXx+PHjZrr3sccek5iYGDObojOO2ua1GDonvpQoUcLc7eWhhx6S2bNnS1pamqSnp5tL8egdYXTbHDmjicIIAACiIOp3gcnPhfHMmTPy1VdfyeTJkyUxMdHMMury25QpU+TgwYOmGOo1GmNjY82xjHoLwbvvvluefvppGTVqlHlOt9WlPC2fFEYAAFAg5afC2KtXLylduvSVpeezZ8+ai3G/99570qdPHzPDqMcr6n2l9Xs6c6jHEOidYPTuMCVLljSvr169utSvX1+aNm1qxtRrNh49epTCCAAAKIx5vTDqbGD37t3NzODatWuvHEOgs4zz5883J7107dpVxo8fb24VqGVSj2dMTk6WYcOGSZcuXSQhIcEUxdatW5vlah1r3bp1OXPJHQojAACgMAZbGHfu3GkO7NQlZD32UK+5qPQOLvpYv6/HLWoB1JNe9Pt6gsuxY8ckJSVF5s2bJ0lJSaZQvvTSS2bb7du3m1LpjEVhBAAAFMY8XBizQ4vj+fPnzdlKhw4dMkvQ+jjbB4lSGAEAAIUxfxTG6wKFEQAAUBgpjBRGAABAYaQwUhgBAED+8kVfCuN1WRgz5CeW/DR8dhS2pIhPfmbJzy35hT07b7Dkl5b8ypJf+6SoJb8R2RUuv7WkmCW/80lxS0pczm6vlPTJjZaUsqS0T266nBSvlLHk95bcbElZn/zhalLdKWfJHy0p75MYS/50NWnuVPBJRUsqWVLZkioZs8edqpZUs6S6JTV8UjNj9oamliW3+ORWS2pbUidj/hWauj6pZ0msJbdZUv/a7HPSwCcNLWlkSZxPGl+bD5w0sSTeJ00taWZJc+98qGlhSUuftLKktSUJ4fNRok/aWNLWknY+aR8+H3ewpKMlIWUr/S8UxuvG6U0URgojhZHCSGGkMFIYKYzXX2HUJem8nnxTGL87cLk06kxj1DI7oMwJKO8ElLn2HM9K5gWU+QFlQUBZGEAWRZ4Tmcm7AWVxQFkSUJYGkGWZy8lIszygrAgoKwNIckBZlfmciiSrA8qagLI2gKwLKOuzntO2bCgYuYSD/gAAAGBFYQQAAACFEQAAABRGAAAAUBgBAABAYQQAAACFEQAAABRGAAAAUBgBAABAYQQAAAAojAAAAKAwAgAAgMIIAAAACiMAAAAojAAAAKAwAgAAgMIIAAAACiMAAAAojAAAAACFEQAAABRGAAAAUBgBAABAYQQAAACFEQAAABRGAAAAUBgBAABAYQQAAACFEQAAAKAwAgAAgMIIAAAACiMAAAAojAAAAKAwAgAAgMIIAAAACiMAAAAojAAAAKAwAgAAABRGAAAAUBgBAABAYQQAAACFEQAAANlx+PBh2bdvn2zevFnS0tLkwIEDcuLECbl48aLva8+cOUNhBAAAyO9SUlLk7bfflqFDh8rYsWNl1qxZsmvXLjl58qT1defOnZO9e/fK1KlTKYwAAAD52cqVK2Xw4MHSsmVLuf3226VXr14yY8YMSU9Pt75OZybnz58vsbGxFEYAAID8XhgHDhwocXFxEh8fb0rjsGHDZNOmTXLhwoWwr0tNTZVx48ZRGAEAAApKYWzevLl07NhROnXqJIMGDTKzh3osoxddjk5OTpYhQ4aY11EYAQAACkBhbN26tXTt2tWkT58+kpSUJPv37/d8jS5H67L1k08+aZazKYwAAAAFpDD269fPfD1gwADrsrSzHK2FcfHixRRGAACAglIYdYl5zJgx5t9wy9Khy9EaRWEEAADI5/TEFU337t3N4xEjRpjHeskcLzqrqM/rcrT6P92MCY9PrfhGAAAAAElFTkSuQmCC", + "diff": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAowAAABnCAMAAAC98eOMAAAABlBMVEUA////AAAPnkxfAAAAAXRSTlMAQObYZgAAANtJREFUeNrt2UEKgzAQQFGtvf+VpztpYUhSO1EL763E5fDJEF0WAAAAAAAAAAAAAAAAAAAAAIApViPgx35CjJwXXKTPez5VNT7Nmn6O0Ty7Pt8eT/Nh0nTEnttauJOtaY5WEmmLtWtajIzWmJ2LLjBccmueu6PFyDehTG7RBYa7Hb9gTfPnF5jSJS5GBltsfGYsOjfFyGiLSY1ZPv7AcEKLb/9iptjMmm6M0dmk1jT3umyHMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATS96Ox8boz++DgAAAABJRU5ErkJggg==" +} \ No newline at end of file diff --git a/allure-generator/test-data/screen-diff/3-2-combined-attachment.json b/allure-generator/test-data/screen-diff/3-2-combined-attachment.json new file mode 100644 index 000000000..110b313aa --- /dev/null +++ b/allure-generator/test-data/screen-diff/3-2-combined-attachment.json @@ -0,0 +1,5 @@ +{ + "expected": null, + "actual": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAowAAAESCAYAAAB3t4R4AABENklEQVR42u2dCZhdRZm/M3+Z0ZlhdFxAZhRBwr5IICxhX0MgzAiOgIqoCAgEBwmrqAwRFTHsQkTDIkjAQCDsBIFAgCAQEiAL2VdCFiB7ujtNIOn651edr1NdOefcc7v73r63+32f53u6+/ZZq+pUvaeqzrldHAAAAABABl1IAgAAAABAGAEAAAAAYQQAAAAAhBEAAAAAEEYAAAAAQBgBAAAAAGEEAAAAAIQRAAAAABBGAAAAAACEEQAAAAAQRgAAAABAGAEAAAAAYQQAAAAAhBEAAAAAEEYAAAAAQBjbg9Vznat5xbmlQ9owHihRPFiiGFqieCg7lrUkHi5RPFKieLRE8VgJ4vH8sbyYeKJE8WSJYliJ4qkSxN+KixV54+kSxTMlimdLEMNLFM8VHyvzxPMlihElihdKEC+WKF5qedRkxcjOER1GGCWLY7okxD9kxP9Ljzc+kRGbFIh/zIh/yohPZsebn8qIf86If8mIfy0Qm2bEvzn3Vlp8OiM+kxH/XiA+mxGfa4yxSfH5AvGFjNgsIzYvEF9sjHFJsUVG/EdG/GdGfKlAfHlDjI9jy4z4SkZsVSC2zoivbogJcWxTILpmxLYZsV1GbN883o5jh4zYMSN2yoidC8QuzWNiGLtmxG4F4msZsXtGdGsek8LYo0DsmRHdM2KvjNh745hssU+B2DcjemTEfgVi/41jisUBGXFggTgoIw7OiEOSY6ri0Iw4rEAcnhFHZMSR6TGtZ4E4KiN6ZcTRBeKY9JjeOyOOzYj/2hALr6r+WHceHUMY1SOIMCKMCCPCiDAijAgjwlhpwjj7B83/rtLoeMIIAAAAUCm8eyHCiDACAAAAZLB+SBdhRBgBAAAAEEaEEQAAAABhRBgBAAAAEEaEEQAAAABhbAdhXLNmjaupqXHvvfeee/fdd92iRYvcqlWrXENDA8IIAAAACGNHEcY33njDPfroo27kyJFu9uzZ7uOPP/bnuHjxYjd27Fj3+OOPu2effdZNnjzZy6Gh399++2338MMPuwEDBrjrr7/e/fGPf3QPPfSQGz9+vFu6dGl5xBFhBAAAAISxtMJ4++23u9NPP91dddVVbsSIEe7DDz909fX1btSoUe7GG290p512mvvtb3/rnn/++SZhrKur86J58803u5NPPtkdeuihbv/993dHHnmk+973vue3OXHiRLd27VqEEQAAACqGO++80x1xxBHuqKOOck8++WTVCOPSMb3cxKcO8bHglSOb/e/jyb3drBGH+/9NeeZQVzf+mNzb1bZmv3C4j4Wv9HTvvHiEjxVvHd1cGM855xy32Wabud69e/tErK2tdfPmzXMDBw70Arj11lu7U0891SeqhFFCOWHCBHfDDTe4nj17up133tntu+++/vfu3bt7cbzsssu8UCKMbUOvXr1c165dy7pP9Th36dLFzZw5s6rTqhTnoe1rPwAA0HqWLFniXnvttaYRziy0jJbVOi1Bo6JylTDuvffeqhDGmc8f7h4c0N3Hm48e1Ox/9W8f454f1MM9cHN399jAvd2i14/KvV2J4vC7e7i7+u/ubrliV7/91x48oLAwLlu2zL300kvu3HPPddtuu63bb7/9/HDzjBkz/BDzwoULfeJ+4xvf8LJ49NFHuyuuuMLdeuutvidSv//1r391s2bNYki6ioWxT58+HUIYS3EeCCMAQNsh53jsscfcyy+/nCmN+p+W0bJapyXEstjaKKcwvvHIQe7X5+/g48nb92n2v5pxR7s//253d8V527trL93Z9xCWXBinT5/u5U89hhLGs846yw0fPtwPQ6vH8PXXX3cXX3yx23777X3P4m9+8xs//Kw5i1OnTvXzFyWXGtYuCwgjwljm80AYAQDaDo1catpbljSGsqhltQ7CWFgYNdz8+tAD3dA/dHdDbtrTPX3nvn7YWjL44cTebsbww3xv5dN/3tfHPdd28/H4rXu70Q8f6CNRGG+77Tb/gMv555/vdtppJ3fYYYe5W265xc2dO9ef98qVK919993nvvnNb7ott9zSz1dU5kkmhXoULcpGC4RRAiGRsOFKRShkkgH7XMvFhOtZ9O/fP1Hy4mXj5cTgwYObLaN10oSx0LYkRvGxpUlPuIyOIen84zTIs32tr3V0fGnnVEiGYynLm57h9lp7Hkl5gzACAJRXGttKFkXSkLSeuygZ7SiMksXn7u7h/nL17u6Oq77mBq0TQfUg3nfjnl4EF77a00uihrH1UxI547nDvDD2v2Qnd/c13fwwt2//YmFU46sHWY455hi3yy67uL59+/pMssyZM2eOu/baa33P4g477ODnKo4bN659S1kLhTGWCRMK65FKk5JYIPJKV9py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", + "diff": null +} \ No newline at end of file diff --git a/allure-generator/test-data/screen-diff/3-3-combined-attachment.json b/allure-generator/test-data/screen-diff/3-3-combined-attachment.json new file mode 100644 index 000000000..86105ad91 --- /dev/null +++ b/allure-generator/test-data/screen-diff/3-3-combined-attachment.json @@ -0,0 +1,5 @@ +{ + "expected": null, + "actual": "data:image/png;base64,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", + "diff": null +} \ No newline at end of file diff --git a/allure-generator/test-data/screen-diff/3-4-combined-attachment.json b/allure-generator/test-data/screen-diff/3-4-combined-attachment.json new file mode 100644 index 000000000..31801a80a --- /dev/null +++ b/allure-generator/test-data/screen-diff/3-4-combined-attachment.json @@ -0,0 +1,5 @@ +{ + "expected": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqAAAACvCAYAAAAi9Ww5AABATklEQVR42u2dB5ifVZ3vw+Lus89e97neR+/dvbvSVu4i6iIgICtRQekbESlikC4gShFZ6qIrSAlFBAzFACFACCGQShpJSO/JJJNJnclkesn0yfQ+vzvfM/7+nDlz3vL/T0n7fp7nJPN/y3lPP9/3d8o7QgghhBBCCBlGRjAJCCGEEEIIBSghhBBCCKEAJYQQQgghhAKUEEIIIYRQgBJCCCGEEEIBSgghhBBCKEAJIYQQQggFKCGEEEIIIRSghBBCCCGEApQQQgghhBAKUEIIIYQQQgFKCCGEEEIIBSghhBBCCKEAJYQQQgghFKCEEEIIIYRQgBJCCCGEEApQQgghhBBCKEAJIYQQQggFKCGEEEIIIRSghBBCCCGEApQQQgghhFCAEkIIIYQQQgFKCCGEEEIoQAkhhBBCCKEAJYQQQgghFKCEEEIIIYQClBBCCCGEEApQQgghhBBCAUoIIYQQQggFKCGEEEIIoQAlhBBCCCGEApQQQgghhFCAEkIIIYQQClBCCCGEEEIoQAkhhBBCCAUoIYQQQgghFKCEEEIIIYQClBBCCCGEEApQQgghhBBCAUoIIYQQQihACSGEEEIIoQAlhBBCCCEUoIQQQgghhFCAEkIIIYQQClBCCCGEEEIoQAkhhBBCCAUoIYQQQgihACWEEEIIIYQClBBCCCGEUIASQgghhBBCAUoIIYQQQihAh5vuLpH2UpG24t7/8ZsQQgghhFCADikdtSI7T+79nxBCCCGEUIAOKU3pIumfE0njjANCCCGEEArQoaZqwqficxAE6Le/nSkjRqT1cThGDl1mzao1+aw8+GDxYZfnP/1pbiINXnqpwvyNdAFHH721T33YsqW5z7347daZsPrkc0jzqHqo4XHzDeE1jV3P34hHFHiWLwxx7iWsP4nO1SqTbhoQQg51AVryu0+F5wAFqDYgYc7tAMmhgytKDjeSEaCuWPQJulQFaFQ9tIVNKgLUjQvrN+vPYPUZLD+EHA4CFPM891zaX3ymKEB9Fpwg51p/CDncBKhr3fKJzFQEaNx6qIIzWQGq8XIFNCGEEArQaDDfc9uxfURn/uxel6oA1c4XDp1tmNXE7uCSGVaMY2HVjjToervjt8McZSnSjjeV4UY3HHYYg9LItQZEhTXs2jjWtrBpElEvELjPzXONs68sBImaICtIkMXNTcew8mGH2X2e7Y8KODfNNE3DhBfOaXw1LPpcjYMtJn1pbMc1CL3GV/7svHfP2/mu4dT42kI5LI7wE84VukF1wVfW3Pz13a/pp2Hx5Yumpe2f+zzXX189DiqnUfXWfuGwr3fr0VDWH/dejZ8db1+c3bjoPW6c7bBGvQiFXes+T/PJTQsaKQg51AWoIz63vHeEHHnkkfK90//K/K7Y8ahxZngeLoS2tu4+DUfYvCVf5ztUAjTsWg1jXAEa1GnFEaFB4bA7zTCrlcYnrgANEmt2OIMEqHtdWBra4fd1oJrXUR1oUNraHVCcId8oy5/6F5UfPqFj+x0mzuCHXf7tcm6LRv3bnfum5wciQKPqIe5xz8E/TR+cD3pB0nwNKj9uXoeVWTt/UxGgdrnRdAwSSFEvkmFTE+K86Ln5ov4MR/1x73XrcVhdt8Pgvhz58iquAI3TlvsEqB1WClBCDlUB6gy5z3zuCPn85440/+P3zg//2rg4Q/KNjV19Ouiwzstu/N3Gyu3YowSo3Xjax/X52lgGCa8gcRxmvbXDop1PnA7CJ3DscOk1QXENsiq5jbQeD7LAaBj0Op8lyr5X423nqeahHW+3E7TDHpU++gxXINppgWtcfzQcGjb3d1BaaVq74lLzwydAbSGV6tCzLRrVP1ckIGwDEaBx6+FA0GcHCSZXMLpl0TeEn4oAhb8+YemGyy3DQeXELWNx6q0tQDW8dp0ajvpj36t+u+I+yLrqG4nytZe+lxlXfLvHbX/scqlh87VhnKZFyGEoQF2XjACtre08IAVoUMecigANs2hGXR/HShrUyAcJxSAB6oqroM48jgD1dbhuJ2OLOjsd8Lda+sLSJ2i42yd6BkuARoXB/W2n3WAJUFeE2C84B4sA9aVnmOXVrTcDEaA+seeWyaAXjLgCNE69tUWYK4iHo/649+p9UfUtaCqU71lBbUqQAA0Ks5vubr3U+AblIyEUoBSgB40FNGpINhkBGjaUNlCBFXaNu0AkSlQhLGHzOOMMy7mWSF9+ugtsfFaYsM4oKn5BoidqzmrYUL2bVnZZtMPos7TZc+MGQ4DaZdMuWzh+MAjQoDLmCqmwcuYK0Kjr3Poc9eygMIcNwYdNwwgToL5rh6P+2O1W1LOiptsEieWgtiZIgAb546ap7a89D5kClJDDWIBWfnJkUgLUnQMa1mD6FlgMlQD1LXpKdQje1yHGGYI/GAWoXpNqB2rHZagFaNC2Lb7rwwSo78UFcbCHNAdTgNq/3XI3HHNA4ywMCxM8cQRo0GIWXzomI0DtfImaR5msAHWt/3EFqK/uDUf98d0bNPQdNZ1gfwpQu0xRgBJyGArQ9nVHSO6szyTEZ1wB6rMGpLIKfjAFaJAlKBUBGvTMuHNAD6YheLvxT2UIUf2183yohuCD0s3Nk6gheFc82GGyhzQHW4C6C3R8x1MRoHFXwae6z2SQ8HDzIyjdB3MOqJ3PAx2Cd+tEskPwruAcjvoTZD3VOPiEuh3WA2EI3g0jBSghh5kA3bfsryRr2qfCM3vGZ6RswZFJCdBU9wFNRoD6Vr5GCVB3cclABKhvo+9kFyH5GukDZRGS2/gnu4jCvTZOB+qbU+hbDBVHgGr4fdvy2FM+wkSrlhMNV5AgGqgADbLADlSAxq2HqcYjaHsgN/9tgRFWl1IVoK7gG+giJLdOxKm3rgjzzeUc6vrje6Zr7Q3a0SHuIqQwER10PO4iJHfeKgUoIYeJAO3cMEKK5h7ZR3S2rDki5Y3pU/kSUlwBGjaHM2oIPs6cwLhD8HHmk8ZJk6BOIWq/viir3kC3YQpajRu1jUxQ55/qNkxuRxz36z9BVj97sUPcuYa+F4LBEqBuufKFLxUBGqceDvQTj3G2O4oSwlHDv3H3AfW9yKW6DZPvhSOs3gbtAxpnK7jBqj9B+4Daltw45cDdgzZqRXqUJTzuNkyu/xSghBwGArRpVe+Qe6DoHMCXkZL5FnwqAjRsA/Ig4aLPD/IjahW823m6C0mSEaFBIibuF6OihpXjbgIdR0wns4OAbwP5VDai961QjhIxGoYgq7Cvk/P5Y1tAwwTRYAhQX5kbDAEaVg8Ha3GSm4a++u0TYK7FeSAC1DfPMuojDGEC1C07UfXWJ8JcQTjU9cc399U3pcSNp2vhd3doiBrdCROgvjobNI0oKE0pQAk5VAVo1QQz5zNqNfxAvw1PCCHkIOjkkviyGyGEAjQ1OhuluzlTuusWSXf1ByI1Ea5hjUhbIUsBIYRQgBJCKEAJIYQQClBCKEAJIYQQClBCCAUoIYQQQgihACWEEEIIISRKgDY3N0tNTY1x1dXVib/hKisrjSsvL5fa2lrj2tvbpaGhQaqqqoxraWlhShJCCCGEkPgCFEIzNzfXuD179pj/s7KyjMvJyZHCwkJzLC8vzziI1Pz8fNm6davs3r1b9u3bx5QkhBBCCCHxBWhpaals3rzZuI0bN5r/ly9fLqtWrZL09HQjSiE28XdaWppkZ2fLhg0bZP78+bJ+/XpjHSWEEEIIISS2AIWoXLp0qRGfcBCX8+bNkxUrVhjxiWF3WEIhQFeuXGkE6pIlS2Tu3LnmXgrQYF5c9aIc9eRRg37t/gbhvG/ufQd13ox8dWRoeuM8XFw2l2yWEQ+M6OMOlvwkhBBChlWAjhs3zitAZ8+ebaygOsQOAYpzsHri/LJly8w9EKMUoBSgB7MAHf3e6H7nEDeciytAIT4pNgkhhJCYAhT/+ATookWLZM2aNUaAQmBmZmaaIfmZM2ca0YlrMPx+uAhQiAu1atmiZNq2aeYYBIuetwWNKyrt69TpdfYxCBr3ua7ftvjBOYTFFVh6TMNpOz2n99thc8WUHT4VbrYAdeOl4df78L+COGi8fems5/G3htuNly8dbP/jClBc6xOZGj/3XFA5wLWa17688sXDFb9uXtv54Lu/T0V28t8Ne1C5C3u2W57c8uaWkzgWYPe8r6y44fPlAyGEkENAgPrmgK5du9b8v23bNiNCN23aZIbkYQHF4iQIUr3nUBWgTe1NgUJBf6swsDtIFXOuANUO1u2Q1S9XrLpCS+/3CQNcZ19rW+R8AtUeftbzdhxsganPVaGgYkbPq7XQFVvu9b5zPuHn8ysZAer6ESVA4ey0wd845gqfsHKgotkW2r5y4gpC1z9X1A+GAI0qd27+Bb3Q2PdqPPEMDXNQOdPzrti3y4Leq+XCvpYClBBCDlEB6lsFD1dcXCxFRUXGQXDu2LHDCFIITji97lBdBV/eUO7t+O2O0yeoXNEZNc8wSIAGWZ58wsANJ/wKGyK3RYfPX1vQ2iLCJ7LVUunGy77HtmyGhcsVYakIUFsQxhGgKjjtezX9VPhElQOfJdW+x71fBf9wCNCocud7eYlbzvT6oPvsOLllwhWgbv5RgBJCyCEuQIP2AW1qajLiEq6srKzPvp84p9cdqvuA5lTnBIpC7Wjh3PN2J+273x0OjxKgKqaihkZxr22Z8l3nGx51rU+uALD9dQWmb9g1bAg6yjLpPitVAZqs+Lev0+e5VsSwcuCKODdd7XjY1tVkBajt7Gt96R8kiN38cdM4TICGpWnUELx7b9DLm28IPu70AEIIIQeRACXDI0BtAaAdaJgF1J4LGSUMbMHkWxDjihafBXQgAjRoSH1/CdBkLKCaHniubQ0dCgFq581ALaD2UHiYBTSq3AWJ2FQFqGtJt4WwT6T6yo4dd9cCGjWNgxBCCAXoQU0yQ/BBnbT9t0+khAlQtzOPEqD2YqKwhVDJClCfWLHFkjv30VvQ/hKuqNXzgyFAk50Dqs+xh+SDRFxQOfANE9tzL/VaHd4PEqB23KMEqD2kHSZAo8qd/tbrkx2CDyufbtnzzYv1CUn7Ob60pRWUEEIoQA9ZklmEZJ8PWoTkWoPchSg+AeouaonqeOG/TwTYosG1RkYJ0KBFRbY11b3fPg+/XCEVtgjJjrOGTY/50tsl2VXwQcI1mUVIbpzd377FagMRoG66RAnQsHLn5kkyi5Bsv6MsoEHlEPe55+wy4+aDuyiOEEIIBeghS9T2OvY8TVuE+CxAtj/uCmR7WNKds6fD/bawc8VWnHmk9vZGvhXIPtGS7DZMKlB84tQeHveJPNea6j7bF+9UcAWgazmO2oYpaMg9rJy4K8TV4urbGilqDqgrfsMWIYWVO9evuJZ2N8xB84Htc0GLkNwy6nvh8ZUvQgghFKCHJVGrk/dHeAZDnBFCCCGEUIBSgMbC3dOSEEIIIYQClAJ0SPBtJk8IIYQQQgFKCCGEEEIoQJkEhBBCCCGEApQQQgghhFCAEkIIIYQQQgFKCCGEEEIoQAkhhBBCCKEATZG2tjYmAiGEEEIIBejw0dDQIBs3bqSjozvMXHd3p+zNnCBb510kadO+QZeC27nkWqkvX8+OhBBCAZos1dXVpjMi5ECB5XGY0rjmQ5HsH9ANwDXuvEEyF18uDZVpLFSEEApQClBCAUoi0zjvRorIwRChu240llBCCKEApQAlFKAkKo0pHgfH5f/MDMcTQggFKAUooQAlFKAUoIQQClAKUEIoQClAKUBtuioqpeWl8VL3o+ul9vTzpPqLJ5n/6y65RppfHGfO96MhT7pzJknXpoela8mV0vnRadK56D+ka+3t0p0/XaSjKeVykV7dJnevq5IvTy2UL0zKl8++kycj55SYYxP3NEhHV3e/e9oXLZfG+x6RfSNHSc0JZxqHvxvuesicI4QClFCAEgpQQgF6gAjQtlnzpearI6XmqK8b4ek6HMf51g9m9t7Q3SndWa9L5+wze0TnqdI565T+DscXjZLumq1JhQXC8qG0Gvnrt3JlxPgcrzvizRw5sUeYzi/qFbjd1bVSf+OdUh0QfuN6zuGartIyVjpCAUooQAkFKNOYAnR/CdDuunppuO3ecOHmiLjGu26WjgU/DBae/YTo6dK14wUjWqPYVtMmp8wsChSePiH66NRNUvP178YLP8R0j5BumzaHFY9QgJLkBei4ceP6uWnTpjEByX4ToCUlJf3KJBk+ATpixIg+LmfJ9ylAY2DEZ0zhpq5h9Nel5ZlLeofb4wjQv7juPW+Hh6W9S477oCC2+IT7TI8AveOWP8qjP/7v5OJx3KnSsSmDlY9QgJLkBeiOHTv6HJs4caIsXbqUiUiGXYCuX7++X5lEWTyYRChe4Hwvdm49O9AE6MrJZxnBOfn5UxPHID7dYxSg/cGwe1Ki7ZiTpOnmk6Xx572uY8YFSQnQzjlnmjmjQfxiTVVS4vN/vpMrD94zTu6/9knj0r92blLx2XfOpdLd2spGjlCAkoEJ0Hnz5hlHyHALULz8QIT6RN3B8lLkC6sKa1h3D1QB+qWj/4dXaKowpQD1gwVFGIpORrDVnnRSQnzCNd11hnTMPy8pEdq18npveDCXMxnxCff1cekJ8aku9/h/TypOTWNesEywPeI47T6R1Tf2uvV39nRK6X3C+bsX0+XGB1bLq5MypbKm1fwNN3txUeKa9J3V8usnNsoPbl1szj37+vY+fmTn15vz7n2EUIAexBZQ7SjV+mQ7uxN1z9vA36B73U4av+F898DptWHPCxPREACIV1S49fmuAHevU0HhxkuHj23/aU2OJ0A17aMspG7eaLmJk3dx8xfnfeUvVQEaVNcOFAEaJTIv+Pb/TohTd4jetpA+ff+J/c5B2Ko/v7j62D7ncL2KX999brj0N/5HmHxh0TDimuEQoFjtnsrQuy1A4TqnJmkFxVD8vsx+4blwwd6kBejdt77QT4CuO+XipOKEVfLSYc1N7WgWyZ0snVOOEXmrJ19mnpg4VbS3ST7zr2/LiC+9JR/Oz5e16RXmb/2tAvWI499KHIf7wmmT+8T1xAtmJs5dc88KNrKEAvRgE6A+ZwtQe06o/VtFmH3OFnm2WFBh5hOg6o8799TtsKOeF1eAukO69m8VKLa/tii2f2tc7HBpPO244LfPqkcB2l9cBuWnWy4UpLfek0zehV3jhiNZ62WYBXRY0jgFsQUBaQtF10E4qlh0xZ1tOcU1EIY+f91n4Lc7xxTPgQsSxipU7ee7zxxuAYqtlhZcdbfkrNsqBReOlq3zV0vuGx94Rdruk8+T0tcm9Rl+V9f63Pcle+rVUpC/RyrL8swWTEHCM3v+vVKQMavfXFDM/fxba8X7heM3CDZYWpJTLV/84xpp7+yS+tYO+cyEXDl2SoG59rMTcvqJT7iJ595iwrzqkzSpfG9mfyvuKd/rd6x9xdp+6XPLfQukZt51vSK0rdYcG/PqViMav3jWBz2atVten7I7ISS3ZdXKrj37Er/Pvvpjmb4gX/709k558NlNn1p6lxf3Eadfu2gmO35CAXqwW0DVGukToLaw83W0tn9xBSg6e1wXJUCjnhdXgMIfVxDinGtFU3/VLxUQvikKOnTsxlPTkFMaBk+AIi01/5C2Wibi5F2ca1yh6cvTMPEZ9FJ3IM8BHQ4B6i5m0vmlcQUo/FIL6oEkQLG/57jn3peWtg5Z/sQ48//S9xfKuqWbJW9bttT99inZNO0TaWlslo+eHG/u2XvHQ5K7aJXsy8qRXeePlsL1GTL5pfdleVqmvPLaq/LQw3fL6nVre9rxKqnLmi7zZrwuLXlzpXjbHGmor5Hs3FxZuHC2dG1/vk9Ysuva+1g27524RmobWmRpVrmM+WCdVNY2ysa8Knnzk+2yJCPfiNGTZxTJvR/vlo05FZJeUi/HvrZV9tY0SXl1vWx+9g3JK62Wyt35smLBeinNKZbcnXmSvS1H6usapTIjU2q+dHpCgLa+138BKyyZ/+vrb0vNzEtEimabY8d/b5oRjTgH7h2z0fyGVRSCFFZQFZY/+dVyaWnttax2d3+6X+moWz5JCFS9tqGpg50/oQA9mAWoPRQaNgQPsRDW0driIEiA2i5KgEY9zxUp7nUqbnzzDPWYxt0Wz/oMTZMgkREmQLmzwMCG4O30xHWanvhfz8XJuzjX2OU1aOpJshbQYU3jYRiCT0WA2qIzaJV9mAANGl4PEqC2s/0cbAEK4fXh3A2yM7NItm/Oks1bc2XTmJ4ydvOD8smKbVKStr1HlLbL4pseklceHidbFqyR9x9/Q7YuTZPl6zJlx5zeoeOr731DKqtrjIWzsee56ZNvkI/mfiRdXZ3y8coM2ZSxVar3Ncq0ic/Ixp2FsnD6WOna/Ls+YVla2txHgE5YkCEfrs6StVl7ZW91g8xekyVjV+fL2VOy5JEFWbK3qr5HfGZLc49onrguTxqa2+Q30zYbv56dniZvfuMy8/eac0bLtj17ZePaHTLhw1WSn10kz510uWTmlUvxbQ8mBGjzc6/0S5+l6/Yacfi9q6aK7H5dVm4sT4hNDMWDS29bYo59+fwZ5jeOf/bf3k0Iy//3/WlmmF7JK2pI+LE1syZx3catVez8CQXowS5A7eFqWzy5QixsaFnn5gUJUAiAoOcEWUDjDmUP1AJqP9+em6p+BwkMWkBTF6BBLwea5u60Bnv43S2bQXkXN399YnSgFtDheAkZjkVIqQpQtV6mYgHFsSABHMcCmtJK/pgCNP+0C2RrVrFMmbhQygrKZHlatqyd/LFs2pgp03uEaeWMj+X+W5+R3IIK+fCDZZI99m2ZPH21LF2yWZ747XiZ8+pUydlVIE+Puk5aW1ukc/GPJGPyaCksLZN3pi+QmooeYZtTKrmrxprnVc4aJdmFlbJ68h3StevlYAvonzMlPatE7ni3tz5BYEK4vroqVwor6+XcMb1t0t2T1hsr6dmPz5FzetznXt0qFz0y1Vhy5/WEzdSJr10oHZ1dUnzLvfL+3I1SsnqTzDn/BmloapXCfx8VagGFRVPF5IxZ6+WG+1eZv2HBVCA8cQxCVNmQUSmnXTo7IS7/+oR3EguN1GJ64Y2LzG8Mv+P32Hd2sfMnFKAHswBVcRglQN25lPbcSFvEBglQe25kHAEa9rxkBGicOaAaRtcyqn75Fh7hGv3bnXowHMOvh4IADduGyc5nFaT2i0CcvItzjW+B3KFuAY3ahkmH3wciQHHc9kcXEcURoLYV9UAToJ+cd720tbbLU4+8JateeEeqaxvk5ZdmSmVZtWzf0yMcV2+RktwSKSmrlcefmiytTS3y4B3PS2VxhZTtzJEtyzYZwbrul5fJU+PnSFtbs2Rs3y6tbe2yIi1TtmVskKbmVqmZdaGszciRbVl7zHPL514t3Xkf9glLbVuXmd9pBOjjq2RXQaWc/MJKySutkZPHrpVd+RXykz8v77WGrtsteeV18rePLJHJn2RIYXWjGar/aFO+rM0qlQUrtsvjo38juYUVsuTNWT3lv0pqz7xQxlz5gKxc1yNut+fLjDETZN/ZP/x0DujSVd40glCEQDz3ugUJMYo5nCpQdUGSPccTtHd0mbmfKkKvuH2pGY7/3CnvJRYeTZiaLSOvmmd+3/zQanb+hAL0YBKgYZYa3xC8baFyz9tWxCCnnXTQ4qYwcex7XrIWUJ8/PhFjLxxxh2jdVfCaJrYA9aUXBWg0vvITdI07NB+Vd3GucYff7WH7MCvtwS5Ag4av3bmUQQJUBaUtMt05oK6/rjAMEqCumDyQhuDznn5F1h33LVl23Fmy++hvyLJ/GSmLjxspy752viz4l+/IluO/JQvPulJye86lH3OGubbsslNl0tUXy+wbR8l7N1wuG267SDo+GCVz//h9ueOXP5HlY8+Rmc/9QDJe/45seu27suSNa8zQPI7Djf997wIlae7/Kcxz55f2CtCx2+SIp9f3/v/U2t7/n1xtLKP4/wj8/kOaufaGW/4ko694VG6/+nG54crH5KarHpNlZ1wqpUedYuKj4Vahue3Yb8ruY07rtwo+aC/Q59/c0WfB0LHfnZo4Zy84mjw7V2rr2ow4hTAFWJT0t1+ZaM7DemovWII74vi3E3+fPOojNrSEAvRgEaBDgWv99AmEQ5VkhmspQAeWznEWLA1V+T5QXyr4Kc79tA/oV85KasuiuvP7bsPUfN/piRXuHXH3AU170BueVPYBveLlFX1WwP/hR/clvbVUn31AHbCfpy0asQpembGwoM8cTsz1hKjEFkxHjfwgsRUTRCjOQ2Ti95mXzzWCFE4trLhGhSshFKAUoBSgZNAFKATg/rIyHsgLyihA98+XkFqnzEhasNVf9qkI7Zg2Ork9QOefI921OwK/CX/DioqkRehND0xMCNAPzr4+uS8hjRwlXXV1oWn0j2dOSSwc2lvRnDiOzeXtVexYpITtmfQYRCWG7ldsKEssYILbvKPKrIqHKyxtTByfu7So34b1hFCAHiYC9HCGAnToBajuhkAoQA+kb8HX33BHcl9DOrP3a0jt489KfgP64oWB4hPUtHbKF99P7lvw33x/t9x//ZikN6A3cz9Xb4hMn9LyZsktbOgRi019jmPIHcfhFOy2VN/YYa7F37r9ku9aRY9jjii3YyIUoBSghAyJBZRQgB5oArSrvCJpEdrw0+uT+wTn7G9Kd/ZbscKzoaJVvjy1MCkRet+kDUlNJ8C8z9ZJU1nxCAUooQAlFKAUoBSP+0OAqukOw/FRIg7njXCDZa+9Trq2/D56zueK60QacpMKTnNHt9y7oerTlfEBDkJ1xd4WY2nsKtkbS0jjmq7CYlY6QgFKKEAJBSjTmAJ0vwrQvwBraPPYN8xnOvGlJDPk3vN/3SXXSNMLfzbnXeHaXZMh3ZmvSdf6e6Rz4YXG2onPcXZteli6i+b3XJPasDJE5eaqNrl7XZURml+YlC+ffSdPzpxdLLetrpRXdtYZoeqGp33hMmm87xEzvxOWTjj83XDXQ+acdHOxD6EAJRSghAKUUIAeMAKUEEIBSgFKCAXo4ZXGeTdSPA6Ca9x5nexcci0LFSGEApQClFCAksg0rn6XAnIQxGfWkh9LXdkaFipCCAVoMjQ0NJjOiI6O7vBy3d2dUrpznGydd5EZQqZL3sHySfFJCKEATYG2tjYjQmEJpaOjOzwc6nxzY7W01OdJXfk6qSleLDVFi+iScLUlS6Whaou0NpVKV2crOxNCCAUoIYQQQgihACWEEEIIIRSghBBCCCGEUIASQgghhBAKUEIIIYQQQihACSGEEEIIBSghhBBCCCEUoIQQQgghhAKUEEIIIYRQgBJCCCGEEEIBSgghhBBCKEAJIYQQQgihACWEEEIIIRSghBBCCCGEApQQQgghhBAKUEIIIYQQQgFKCCGEEEIIBSghhBBCCKEAJYQQQgghhAKUEEIIIYRQgBJCCCGEEApQQgghhBBCKEAJIYQQQggFKCGEEEIIIRSghBBCCCGEApQQQgghhBAKUEIIIYQQQgFKCCGEEEIoQAkhhBBCCKEA3a+Ul7fLpk1NMnNmrXzwQY1x+BvHcO5wTovFi+tk9+4WaW7uSlxTWNgma9Y0JNJq+fJ6yclplb1722XLliaZM2df4pzP4Tyuq6rqMP7hf/e+hQvrZOfOFmlo6Ew6Dvv2dcq2bc0yf74/HNOm1cj69Y1SWtp+wKQ50hgOYUf66m873QcL+Am/V61qiCzjWh7gEK79jYZ98+amlMvHcLYjPodyifKJvN6foPyjHqA+DLTODbRuum0CSa4+wKF+In319+HWdxEK0CGju7tbupvqpau2QrrLC6R7b550FWRKe16mtJQUSMu+WmlrbZXOzk7p6urqvf4vLqryvv9+tTz4YLH89Ke5cuWVOcbhbxzDuaESAgci6Bxef71Sbropz6TDPfcUyocf1khxca/4QOeEjurRR0sTafXYY6WyaFGd6UDefrtKfvGLgsQ5n8N5XLdjR7MRrtOn18rDDxfL9dfnJa655ZZ8eeKJ0h4BXJ+0UCwoaDP59qtfFXqfj7x96aVyIxYOFOGyZEm9SROkPdz06TWycWPjkJS76uoOmTt3n8m33/++1OSnr+PHMZzDNUgvvHTsbzTs48dXmnKDl54Dte4EOZRLlE+U0/0FxAqE5733FslPfvJpnXv++TJZu7ZxSMQx6rGWJzeN3HaGxBegaCfQXmjbgXYE7QkFKKEAHaDohJhsbWmRptJCaUpfI23LP5KOZTOkY9Vs6Vg9W1rXfiyN29ZLY48Qbd5bKG1lhdJeUWSEaUdpgXRWVXj9bmvrlu3bm+WNNyrl8sv3yJe+tE3+5m82yYgRacbhbxzDOVyDa3HPoQ4aLgjEL3xhi0mH447bKvffX2QaOZCf3ybPPlsmZ5yxK5FW5523W157rVI+/rhO/vM/i+Too7cmzvkczuO6996rlnffrZbRo3PlX/91m/zd321OXPO5z6XLySfvMM9Gp5VMh7h1a7P89rclctZZu4wfo0ZlU4BalJS0yQsvlPXkW5ZJHwh9vDy44BjO4Rq8HMBStb/RsN9xR4E8+eReyc5uPWAF6Pnn75YTT9xu6pBdDve3AEVdggUSdfCii3Yb98Mf7pHvfz9LfvSjPUaEIi6DCV5c8TKJl54f/zjHtKsUoBSghAL0gBagLT3iszYzSyqnfSh141+WlsnjegXoylnSOuN1aZj4vOyb9Y7UbVkrjQW7pTlzkzRnrJLGxdOlZfMqac/J9PoNywkEEBrcf/iHLXLMMVtl5MjMRIOIv3EM53ANrsU97vBz2PCaWlgxjB10vT3s5bvengrgG6q2nX0t/IO/8D+ZYS4VoP/8zxlGhEOIXnttrnz0Ua0R4LCO3HNPkelUjzwyzTgVoBs2NPaxgH73u5lGxP/93282/+O3WkD/9Kdyee65MuP3UUdt7XMeHeLXvrZDPv/5LfJv/7bDWEyS6RBVgP7wh9lyww158uc/V4QOwSO9kC5wekzzAtML9FrEHxZbHPOlvztdwTcki7KjQ9n2cDLySfMKaQiHNEceVlS0e4eddTgTHVAyVnoVcf/xH9nyT/+UIT/7Wb4RRPbQK/6GILj55nxzDUSVLUDdsugOK/vKnz1do66us19Z9w1Nu3ViypRqufvuQlOGfvnLAnnnnarA4WNfftnpr1Y5zXvtsPU+pGsyw8Jufv/hD2VGaH3ve1l9ymFYG+GbHhLVjmia6guyGw43beDXU0/tNXUPVk+IFrwIPvRQsVxySbZJV63vYRZUbQfjtCt4cR03rkJuu63APAPPRl3Hiw1GP1DW7DLsa+vseGoeoU74yh3aIvwPi7l7naYPpqDoM92pAW6cgspznPxy01/jBod0DJoSEzTVyc5n+IHjeAbCrm3Hu+9WhU4zcts8jR/CoPH2xdmOi50H6Bfg9Fq7nrlTPVyHazUsmiZBFnSdDnSgTJ8ih7AAbW9vl7qs3VK+6BOpeGms1L/3trTNny4dO9OkIytdWj+aLI3PPy4NY5+R5uULpbVoT4/4XC31c96Vqqfvk/qJr0jzmmVev9G5wLr25S9vN9Y3NIQvvlieqBT4G8dwDteoFRCVBcIpzvCaDhf+5jfFgdffd1+RGUrMzW2VjIwm00nddlt+H2vdf/93iWlcVq9uCB3ihkhAZ7JuXaNpgCHy0MHoecQHFi2IzKDOQgUoBCbEJwQ4OgxYgcvK2k3HhM4DogTCEk4FKBoju9NAuGEFgpjF//itjbsOkcMypOkPqyTOv/lmpRG53/52pnzrW7tSFqA/+1meEVoQXFGWK2241Sqan99qwoh8V2tpY2OXmWoAK44v/ZHPyG/kOxpIxBOdqz21A0OeaIhx3jecjM4IncCzz+7t8a/EHMdUBd+ws041ePXVisRzkxGgo0fnyPHHbzPhQ1mBSFCQlxAMOIfyD4ujClB0XjqUqtMmUPYgatAZomwhjAgryredRkg7CKOVKxvk5ZfL+5R1+KFDwPpC5taJa67JlbPPzjTWW5QPWM91+Bj+oTPEfbg/I6PZ3Iuw6zN+/etCI7a0I0e+at5rGdN8RrriOMRBKkSVQ4QR4bXTAcPhWka0I45qR3QKDMLtK3fu0DriM2lStbzySkVidAFpsXRpvRGfuH7ChCrjX5D4RFlAWmq7onkfNFKBtlNfOBFHW4Bq+2a/ELrlCw75qHmneYQ6YVuTtdwhbvh/z57WPtehLiGcCC/SDemamdli2j20jWq9xnN1egrCE1SeERekNdIc1/nKrFs2kf5a5tCfID4QjHgBQPutL5Q4r2ms8dfROPgTt92K0+ZBVKLdRRhwDGFAeUG5sfsQOy6VlR2JeoL74PRahBtlBGUF/iMsdjtoO5QLDYumiQ/4o1beA2X0ihzCArStsEhqpkyVigcelqobb5WmRx6X1tlzpbOkVLo7ezqo+XOldswTUvPYo9K0bo20lBRJw+IFUvP0I1J57eVS98xj0rxssXf4HY0JOi8ILVgpUGnttyr8jWM4h2twLe5BA4hKA+GF4TUIK/w+88xd8sUvZpjOGp0OOh/t6DEU/PnPpyeG4eDwN46dcspOM5SIt+UJEyrliiv2GNEFqwn8xnXf/OYu00gjPCpA1bqIYWu13qoAnTGjtqeRqJAf/CDb+AV/4B/8+s53Mk3jGyToVIAiHupwLxprNEhoAC++ONukCYbSIURVgNbWdgb6hf/xW0HDjsYK/lx66R7TIeqbPzpmPAuiCJ2A3RkPhgXUtUggXBiOhENHgsYdDeutt+YbgYbOCMcRP8QTw5UQzUgX22ILiyLyOyurxQw3QkAibjr0qnmKzgGd4J49Lf2Gk9GBIN4QVyhTOI5rfcPOyQptV4DiPpQjlG34C+Gr9eOTT+rkj3/sFQwIM9IGaYc0Q3jwXMQNcUfcEEcMrT75JMpJgwkb/DznnCyTNnodyhE6LPiNvNG0QZqefXaW6dBRdtEpIy1QJ66+uld06nAx/Dv22K1ywgnbzbDxBRfsNudxHcon7kP+It+vuirHnMdzEA84WHx1uBf5qnmv5VPzGdfhOF7ohkKAIozozDWMSANtH/AChrBBzGt+XXjh7j5tjg7xX3bZHhNevECgbKN8wQ87b5DH6OghHBBv1+IPEE+ICLwYYsTHJ0B1+B7XaHrCIe8hVnbtaglsVx55pPeFFC+0OgSPMCJ8OtUGQg/lEOUE12j5wH0oH3feWWhEY1FRm4kzfmt7C1A3UO5uuinf/L9xY1Of6/DyA3GKcn3nnQXGoo72Uuuqphmeh2cjPVDe09ObvOUZ9Qd/o51CemqZve663ETZxP833phnjiPtkc5a5tCef/zxPnnggSLT9qPu4yUfghT1Q8s8HPxBGYc/qB9x262g/NB70a+gb8PIAuof6hDSBGFBudE8wP+oZ4gbwgAhjLTFNejHkK8oB2jn4NDm4/nIVxWgSC+0nXA64ohyibKj4Qma6gO/4Kf6SyhAh5T67D1S9vI4KfrZbVJ5xdWy7+d3SsMjT0jTa+Ol+aM5sq9HkFZdf7NUXH297Hv2j7JvwttS8/vHpfLHV0nF6WdI3a9/LS3zP+7nLxpWvOFDSKETQ+MDa4kLjuEcrsG1uAcOlQbCCw0khtnUGgDBECRATzhhW0IMweFvHLMFKBoCNHhojOHQSKKDgSUSlRdvqGphVOsizqFSY8GUDsGjAUfDpv7AoWFApUe4IfzQKEQJ0JEjdxkH/yF+0NigYzjrrEw59dSdxqGhS0WAQlSisYMA9XXy6OjQmcElO9wSNQfUtQi5Dbla/9B5QGRD2NsCVBtlWEyQ99pQI49sAaoCGmUE+YUODvmJKR1o5PESYAtLdHLojNARoGzgZWGoBSjCjPSAvzoMX1HRIRMnVpk0wjPRkWnHAJGDeKH8Il3Uao3/4Q8saIgbLJzwE+IIaYN7dBgRc4VxDdIPnQ8cnvONb+yU00/fmSgPKMcou+jYcB7lH4vf0Blj2gYECeoL/MIcQnTg+I1OeNasWhMWvITBD51fi3II/3Ad8n9/CVCIBYQRIuiKK3JMO4OXW8QR4g7pqy+Kml8ou3abo0P8uFanwOCYDq1D6OM6zNnGNbffXmCEpc9Sjpc/vATedVehKasrVjR4h+B9w/cYLUJeIo2DBKiKVuQvwoIwablB+UL7BH9hPUS+Q5ij7uA65DnOo+6gHUZZwnOSFaCwLGNkAfFD2YCIQll55pm9pi1COdVw4X/8xnE8D/XZV57R7qItQLlCHBF2lC2URZRJlE3E6+mn9yZeemwBivAgrqjzuA9WaOQRfqPsIs1QJrRc4BjOIdwLFtTFareiBCjqORzSCC8JsH6inuKZmgeIA8ox2lO0q7DGr1hRb9IWaQIjCcKH8oByh2ejbKoVWYfgkfb6koW00yH4qVNrTFjwMqbWU9dYQAFKATqsVGzfIZtefElWjL5ONl1yuRRcMVqKe/4uueZGKbv1dim+5AopPH+UFJ53sZT2HCu96qdScvZ5UnzCSVL6pROl5q7/lJaFn/TzVzsYCCcVgL7FDNqY4RoVWXDoCGyhCVBZ3OO2AIXTTsg+rs9ftqzeNFC41xWgsLbCb/vNUMUdGhr3Tdce0nEFKARr1JuxikYIJbhzz80yjQkabTRCENr6Vo7rUhGgvvQaLMIEKMIM6yI6Ml1s4VoDYGGBJQ/xRsOKjtYWoK4w0XICkaQCFA04LHnomG0BijzA8DGuQ0NvC8t58/aZDgSNN8oFLGK2AIVYtDs/FSCIV6oCFI09hhDxHPiLsoMXrxdeKDcdDzoQiBIVoDp1BWmji7lUSOD3xRfvNp0TFkXYQsCuX1o+0am5AvSrX+0tK+hcUR9Q5jAPFVYhHbJGuYYlCh0mhBLmk0K441qEFR0g4gerEwQeOkqd5wfLDgQQroX/sPzg2cgbnSKCl0xYkVBuhkqAYl4vhAeeC8uWK0CRvj//eW+88/JaE/ll1xX1H+mAcglBi3uRNihDtgBVa6KvrYP4hHiCXw88UCxTpgQvBkJZRP4jbBCsSNM4c/NQf1CPII7s6R54NkQL2jqkNfIRFnTUA9QdV4DqS5kKS+SlLcr1ZRCiyL0OZRPlAWIQ5RPWSpRnlCeUXbQHGi78j984jvOTJ1cHClBMZUGaQDyiTKEMonwhLiib7nxiFaAQWwiXjgpAvGKaE4Qx0gppjJc1lHs4/I1jvVMkKo3BIU67FdTOQ8gi7dCeIQxIJ4QTLx4QfXih0DywBeipp+74S17VJV7IYZlF3UJ5QBxRNpCnKI8oWz7ha4dN0wQjduhffMYC+EkBSgE6bFRWVsrKefPkwzFPy+Q7fiUzb7td5vaIzJWXXiHbLr1SMs+5QHZ89RTZ8Y/HyK7/e6xk9risv7jMnuMlDz4sdatWh1pAYcFDA4OOzUU7O1zjWkAHW4DiDVvnRaJCw+GZqQhQnT+EOUhoHOHQ8CcrQNE4osFDIwXRpg7DMOjg4FIVoHEsoBCHcMnuPxk2BI8OHoID1jM0vOjgbUsCGlt0LrAEoAFFx6cNXlwBunNnc2JOGdIajSgc0hH5iaFUV4Ci48ez0RHAUoXOCffaAhRD/Pbwnw7Bqn+pCFCkEzo/PAcd/ezZtcYagQ4HIhTpZQ+NISwI72mn7ezTUeg0FLWEoPwFCVC7fGrawOF+dHBI79mz95m6hmfZuzBgrh/EBgQi0grz9+y6imf/7nclxsEfiA3Mr3bnfsNf+A+xhWdjsZsugoPwd62xgy1AESaEDS8jdp7qVA3kK+oHFlkhveIIUIgkjYu9oFLjg5ELt63TOaPwBxZC5AvSNGgBkq6ehwsaRQm6D4LHt8BJz8FBwPXOgS7rU3fQHiKdIK5tYQlBaE9L0Cka7nVoByBeISgff7w0MWca5RlxgWjEszVc+F/FJM6jHviG4JHOaBNRpnqnUVWZMhjUp9hiC3UcLyD/9V/FZloA2joI0LFjy03ZRRuEOasK/sYxnMM1yO847VaUAIVD/kP0o6wh7jp/GmmPcgeHoXe7XqgARV2066i+qCAd4NDWpypAkc4q+FHvKUApQIdvCL6uTtLT02Xe3Hny3qT35N0JE2TCE2Nk0v0PyrQ7fyUfXXujLLr8J7Lukssl/ZzzZXOP6Ez7P0fJpn84WtaecZbseuxJKcvICJ0DiqE8NNCwPrhzQHEM53CNOwd0MAUoOn5YAdA4f+Ur280WR9qIoXHAsHlcAQpLDxpXHeLXxlHnhfkEa5hoRFzw/0kn7TDh0DmzsJqhw0pVgMaZA4o3X1il7EUjA+34dXU3Gmh08OgwIHbQ+MHShnRDI45nQ4TZDV5cAQprNu7HM9AxIp0wTAn/EFd0mq4ARccI4Yln4zoIUhVvQy1AEX808CiH6JzxfIhnpI09RK0CFB0XhKYtctyFcLDO+ASolk/4gRcZ1Cs8VxcL4UXpcBKgyDvfNBF7cVEyAhRxhn8aF9/+u/BPVzijbqGOIe0w9BsmPgciQFH3tR2yLWKuAIUI0jmaEOKw0OscQdQnHRVIRYCibKGNRbqiDdAdEgYiQPFcWBxRx2GBRtiTEaCIJ+o88rd3Xnhr0gI0qt2KEqB6L/yE9RnlFPUCL4iooziP9gDnUQYR96ESoO4QPPoZhFH9ogClAB02sAdo3T7MbcmRNatXy5yPZsv0adNlzuw5svDjj2XRpMmy+KVXZPGjj8v8n98uC358tSy+YJSs+MFlsvCW22TLO+9KWUGB12/tiGDdxGIeCAB3FTyO4Ryu0QoWNHTsO66dJTrrMAH68MO9HSbm90DsolFCpYVDg5mMAMVbPTpzDOtB3MGCCasWOhc0JMkK0BdfLDNDqhCg2JYJYek9Xm7imaoAxRwuDO+GrYLH2zCEgKb9YApQDBkhf2FhUgEKMYDOBI0xrnGHfFSAug2uK0ARB/iH6QuIByw6iK/uIOAKUMQdFsXrrutdBe6Kt6Ecgkc6YQ4WrO8QgrCWI37oxLAQCXM5bQGqQ5bozN08w/26ihbTCXwCVMsnrCm6xy6EECwueKYK0KAheMwRRHmE5RBpqyvmIWpR1g+2IXjMFUScUf8hBvF8CK7e+YplpuzoEDzCZIsS3xA8wosybM8BxQsB4oZhfuQzRCbEUe/c2SJzTgVZVB3zDcHrtkIoG0F+4HkIO+5DuPRlH//jN+qFrtzWOZQQQLAqonzo4hpXgMYdgkcaQdhgziUsjnAoMxg2H8gQPJ6LtgTp/dprFcbZQ/Aod+4UBXsOKMo8ygHCBj/T0hqTHoKParei5oCinCGuCANeAFDnUQZ19Ax9BxYcoZ1AurkCNGgIHnnjvqhECVB3EZJO3VBHAUoBOqxgL1Bsx9RQ3yAV5RU9oq5AsjIzJX3zZtm4YaNsSd8iGT1u/dx5svHdSbK5R5Bue228bJo8RXI2pkntPn9BTXUf0LgCFI0bOgRsGwMBC0GIjhcdcJQARYOKxg4NH4aKMQSvVlpt3OMKUDQgsLRgQjwEHTZ4R6OKxiuOAEW80UDiTRh7fsKqCgGAOXwDEaBoqFSQhe0DCusG0gGdm+4dGfUZxjhD8GoNQSMKsQNrAOYfoiFHRwD/7Unv6MR1mxrkj23hcAUo5pehM8XiEry1I99wv85zhBUFHResDbgei2Kw0A2dJARRWlqTV4DGWYTk29cySoDCH4QFizFgdYJlGJYciAm3Y0DHjHMQhegQXAGKjgwWLTcOtgCF8IE4hEVLF32gI0YZR1nRRXIQl0hn1D9dhARLDIQhyrZu7aXzJnHdUC1C0ikhyPO41vg4i5BQ7mD1cQWoLurB1Bwd0VCrqFp9XQGKRUhIf6Qt4mkLULzs6WIa/QAH0gGjLe4WdGGf5PQtQsJz4D/EC9LUlzaYU4p2BPGwn6fb3UHA6MsX2hekCQQo0sB+IcU0AqQB8iSVVfB4GVfBh+fhJQvpkuoiJH0JxAsV2hn4by9CQvjdRVruKniUVwg7rITH9BcIubiLkKLarbir4FEW8XyEA207+gzECf0H/EXZRBlFuwljBJ6Lcqm7gqBdQx21FyGhfiPe9sI0WkApQA9qMaoO1lEjTBsapLSkRLKysiQ3N1eKioplb1lPY19a2tOR1JprfKT6JaS4AhSNMTpk3TIGQhSVHB2Pbwj+rbeqTCOLoUCILjQoqMBodLG9ky1go4bgYTVA4w1/4NBooHOGlQ0WTAgzNDK+jctd0YhGBoIKDRGEMIb00SChkxqIAAW9i1H8X0LCs5AWOokdb9VxP8MYZxES0gOLhNChIlxoPNGwQizgGe6qS3Sw6LCQH+i40fHo3oOuAO3d47LCdF54gdDtdZCnEPAQoOhElyypS3yRCP7Cf4TH7USTEaC+fS3jCFAVCLpJOCwpSANXgIZtw6Tb6YQJUJQ5taLp9mB6/xln9O6qAJGC/IXlDy9AEFQo/7plD/IU1+lQKJxuwwTLkG7DpBZG3KvbEsHBipTsNky65yrKnu65ORABCnzbMGla6IuTLgRBB4+4oFxpuXcFaNg2TMgrWEAhpGCZQ72CiLdf/Ny9iX31y7cNE54D/3WrNp8A1f1tIS51Syyd74r7dWsyiGvdxgh5quUK6YPpSTqPFXmVigDFamxb8KF8ob7DTztcGiekWdg2TLo9FAQZ0tUOv13uUDZ19X7/l7rWPqIY/uj2Y1ru1aFcoO3WbZii2q04AhTXoN1RKyheRCEikWaIG+KIsok1CeivdKEg6hDSFv0UjiGP0F9qWOE3yoq9N2yyc0DtLb44B5QC9JAilW/B60b07uf03ONwumE9LAV4g0WHo1Yg3VhaG3tYVvD2j2dCuOjz4dAooCG0NxvXz/6hMrobDvs2itb5V2iwer+xXucVoOovGlT8rwuB9BODei8aWl00ZW+EHeWX+xIQ9C14PEu38NDhOsQdHQaOYz5S0GcYo74Fj/xAZwCLERpsDSc6IW3cgb3xMZyu9NaNs7Vh1U2qIU6QR3i+zmHVja1xn77FI70QPnRq+k123cgb4XE3005mI3o8d8yYvca5gl/R8of7tAzriwvCjOP6aU5302zg2yjc3UDdjYMtZpCf+h1yzRO8MCFtYDVC3kCsoDz1duhVic3kgzaix/0QbBii143ogzZ5R5yT3YgeaYRwIa9wzH3ZCiuHQR8K8IVR46KbfSOd0Y4g7L11rz5hmfSJYt9G9PhfN0vX4eCwjcHDBKivfbHrRNjnH33lxr0XeadpopuaI+5adzDMjPRH+UxlI3pcB8EH8QSRh/REWfB9WEE/2hG2Eb27Qb5vI3r4BfGEMq0fArDrlIpzhAdhxP1qHHE/oqDlUTeij2q34m5Er59KRRiQNhjtQZzs5+Nv5AH6EZRpXK8vahCfGBVBXLXvQn/mLiD1bZ5vtzPuR1bstENecCN6CtBDDt8nE+3PWrqNLxoN97OB7nE4/YyaO6Rlf6rNPmd/skyfDwd/XD80zOhUfJ9ccz+VhyFs3d/N/WSkLy0QD98nQPUTa/an69xPxIX55cP32T3fZxkxBI8hKnROmLsZ1EG6n9UL+/ypHU7703wqlDQP4DRv3M856oIOdJxBn/ZDfsJ/OAx3I76wwPk+wed+TjCZT3Hib3QOcPaiAN+LF867ZViH7/VLWe5nA4PyzP0koRsHdzjX/cwgyuSn6dPY75OL+jnNoE9x+sp0nM9cxv0UJ/IKoxSwQCIv41hA43wq1feZTTsumk6+sAdNC3DbM7cti/qccNgQvC//gtrKOHXdd6/7CUjE3S4buB75keqnOO1P4Go8U/20rO8TmW6eun756pT7acw4n5GN027F/RSnWxc0fe3n42/NB5RFxEmty5j3CuMA4hpWHnzPDeoD3LTjpzgpQAnZb+j2IPgkKTr1sA7ycAUdBzoqOFh6DjV0+oA7HWGoQVnTT/FiuDfugjhCDlV0qoo7DYIQClBySApQzHOD4xuwBFo2IDzhfBY3CtDUBaiWPbUOE0IBSgFKKEAJIYcBcReiEUKGFp0r7c7DJYQClBByyOGbv0cIGX50nqo7D5cQClBCCCGEEDKs/H/t2PGMDN6GUQAAAABJRU5ErkJggg==", + "actual": "data:image/png;base64,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", + "diff": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqAAAACvCAMAAAAVK5wLAAAABlBMVEUA////AAAPnkxfAAAAAXRSTlMAQObYZgAAA2dJREFUeNrt3Yty2kAMBVCr7f//sgr4tWuvgQTTYuecmaQJMWEG30orw2S7DgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+E/CU7DHs5jDc5mvnoYsbsrbx3d/YX7/zp/kl3Ttlc+dXeL5UsROUnp+i9cO+YxXM9FHUTtb++Mp2GOdFGN3vrXW20ffoWMohlk08emb7GJs6znGc7h3jvedDhsOnv+NRb0tvonxFx6/yWvx+7Tjof5tldIsPg35uiaoyuQcrbxTTLP55fJRztPjVdDdRs2MRS6iDGxG38ejjvJcCGMR8taD5KX45vA5hkEohpqcfcU8x2ikgr6rlGaz3OX0VSwOvvwkx4KZW5VxnMT6A+O2ooiqHsf8PyK6ONOQpILuksuxSw/LvpiXo1Upncf9XNbKKHtzrpeZWS8f4tHofpaBSwXdqcXP8YpYhiTzmfvHnbhNzf82UGU58mcX0VyjpoDSTkMsbrpe0Mw6qNGtL5+WU3trCM8x7fFE5q1B2Sh36+VmDs26j1zV5vs1ZXVzOdU3HyHmx4llgnOKdQooXVkkx2AU+RkvcfaTy7UZR+bUp4u5/TKGT4vQzFa7n8f//m7DJL+s49HVHV9AWXX5bAz3xeg05m3VwqP4ydYDlMNW5HopcbIVqFfX3vnM5mqAejRifeW1n7Nd8FRBEVDYmXczWZwBAAAAAAAAAAAAAAAAAAAAAAAAwMn5I34HO0/1DjTNY7LbPkZAefNpqreN3TimvXOSgPKvz9IzW8ceOqH+BPixq0i8dncVlHefonx80JFLqM1kf0CIpy2/tjaiTwHlbdl8Kl25sUtytjZYtAblVdm8aWuL2eiK61PZbV0S2NiEUQXly/mM+YuYt6qNO0uAPObiVAU9YvXMqJIXzdhVlTK7Yuva1eI1BJQ9J6Jo1sC8NzFlkdXWbHXbJjk+bwNQLf64TT4jq4oY25N9bE5N5e873vUJDnCKMuqXNjfrZ5TBrAOa9Yv9Kij7z0vPxTyyHftPraDWoKcosPmgfkZMi89oHR4f20ntdnzwJp9fWKpF+VpS5HT1KT74epM16LEDevp3Mwno0U6T94Pyyefpp72jHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg3P4CbR3+dsFRWIMAAAAASUVORK5CYII=" +} \ No newline at end of file diff --git a/allure-generator/test-data/screen-diff/steps-testsuite.xml b/allure-generator/test-data/screen-diff/steps-testsuite.xml new file mode 100644 index 000000000..d57ea31df --- /dev/null +++ b/allure-generator/test-data/screen-diff/steps-testsuite.xml @@ -0,0 +1,50 @@ + + + multistep + Multi-step + + + test + test case + + + + buttons + Buttons + + + + + + + language + language + + + + + + + payment 1 + payment 1 + + + + + + payment 2 + payment 2 + + + + + + + Some comparison failed, check steps for more details + AssertionError: Screenshots do not match + at Context.<anonymous> (test/test.spec.js:47:15) + + + + diff --git a/plugins/screen-diff-plugin/src/dist/static/index.js b/plugins/screen-diff-plugin/src/dist/static/index.js index 01f1eb70c..3774f88e7 100644 --- a/plugins/screen-diff-plugin/src/dist/static/index.js +++ b/plugins/screen-diff-plugin/src/dist/static/index.js @@ -1,74 +1,170 @@ (function () { - var settings = allure.getPluginSettings('screen-diff', {diffType: 'diff'}); + var settings = allure.getPluginSettings('screen-diff', { diffType: 'diff' }); function renderImage(src) { - return '
' + - '' + - '
'; + return ( + '
' + + '' + + '
' + ); } - function renderDiffContent(type, data) { - function findImage(name) { - if (data.testStage && data.testStage.attachments) { - return data.testStage.attachments.filter(function (attachment) { - return attachment.name === name; - })[0]; + function findImage(data, name) { + if (data.testStage && data.testStage.attachments) { + var matchedImage = data.testStage.attachments.filter(function (attachment) { + return attachment.name === name; + })[0]; + if (matchedImage) { + return 'data/attachments/' + matchedImage.source; } - return null; - } - - var diffImage = findImage('diff'); - var actualImage = findImage('actual'); - var expectedImage = findImage('expected'); - - if (!diffImage && !actualImage && !expectedImage) { - return 'Diff, actual and expected image have not been provided.'; } + return null; + } + function renderDiffContent(type, diffImage, actualImage, expectedImage) { if (type === 'diff') { - if (!diffImage) { - return renderImage(actualImage.source); + if (diffImage) { + return renderImage(diffImage); } - return renderImage(diffImage.source); } - if (type === 'overlay') { - return '
' + - '' + + if (type === 'overlay' && expectedImage) { + return ( + '
' + + '' + '
' + - '' + + '' + '
' + - '
'; + '
' + ); } + if (actualImage) { + return renderImage(actualImage); + } + return 'No diff data provided'; } + var TestResultView = Backbone.Marionette.View.extend({ + regions: { + subView: '.screen-diff-view', + }, + template: function () { + return '
'; + }, + onRender: function () { + var data = this.model.toJSON(); + var testType = data.labels.filter(function (label) { + return label.name === 'testType'; + })[0]; + var diffImage = findImage(data, 'diff'); + var actualImage = findImage(data, 'actual'); + var expectedImage = findImage(data, 'expected'); + if (!testType || testType.value !== 'screenshotDiff') { + return; + } + this.showChildView( + 'subView', + new ScreenDiffView({ + diffImage: diffImage, + actualImage: actualImage, + expectedImage: expectedImage, + }), + ); + }, + }); + var ErrorView = Backbone.Marionette.View.extend({ + templateContext: function () { + return this.options; + }, + template: function (data) { + return '
' + data.error + '
'; + }, + }); + var AttachmentView = Backbone.Marionette.View.extend({ + regions: { + subView: '.screen-diff-view', + }, + template: function () { + return '
'; + }, + onRender: function () { + jQuery + .getJSON(this.options.sourceUrl) + .then(this.renderScreenDiffView.bind(this), this.renderErrorView.bind(this)); + }, + renderErrorView: function (error) { + console.log(error); + this.showChildView( + 'subView', + new ErrorView({ + error: error.statusText, + }), + ); + }, + renderScreenDiffView: function (data) { + this.showChildView( + 'subView', + new ScreenDiffView({ + diffImage: data.diff, + actualImage: data.actual, + expectedImage: data.expected, + }), + ); + }, + }); + var ScreenDiffView = Backbone.Marionette.View.extend({ className: 'pane__section', - events: { - 'click [name="screen-diff-type"]': 'onDiffTypeChange', - 'mousemove .screen-diff__overlay': 'onOverlayMove' + events: function () { + return { + ['click [name="screen-diff-type-' + this.cid + '"]']: 'onDiffTypeChange', + 'mousemove .screen-diff__overlay': 'onOverlayMove', + }; + }, + initialize: function (options) { + this.diffImage = options.diffImage; + this.actualImage = options.actualImage; + this.expectedImage = options.expectedImage; + this.radioName = 'screen-diff-type-' + this.cid; }, templateContext: function () { return { - diffType: settings.get('diffType') - } + diffType: settings.get('diffType'), + diffImage: this.diffImage, + actualImage: this.actualImage, + expectedImage: this.expectedImage, + radioName: this.radioName, + }; }, template: function (data) { - var testType = data.labels.filter(function (label) { - return label.name === 'testType' - })[0]; - - if (!testType || testType.value !== 'screenshotDiff') { + if (!data.diffImage && !data.actualImage && !data.expectedImage) { return ''; } - return '

Screen Diff

' + + return ( + '

Screen Diff

' + '
' + '
' + - '' + - '' + + '' + + '' + '
' + - renderDiffContent(data.diffType, data) + - '
'; + renderDiffContent( + data.diffType, + data.diffImage, + data.actualImage, + data.expectedImage, + ) + + '' + ); }, adjustImageSize: function (event) { var overImage = this.$(event.target); @@ -76,7 +172,10 @@ }, onRender: function () { const diffType = settings.get('diffType'); - this.$('[name="screen-diff-type"][value="' + diffType + '"]').prop('checked', true); + this.$('[name="' + this.radioName + '"][value="' + diffType + '"]').prop( + 'checked', + true, + ); if (diffType === 'overlay') { this.$('.screen-diff__image-over img').on('load', this.adjustImageSize.bind(this)); } @@ -91,7 +190,11 @@ onDiffTypeChange: function (event) { settings.save('diffType', event.target.value); this.render(); - } + }, + }); + allure.api.addTestResultBlock(TestResultView, { position: 'before' }); + allure.api.addAttachmentViewer('application/vnd.allure.image.diff', { + View: AttachmentView, + icon: 'fa fa-exchange', }); - allure.api.addTestResultBlock(ScreenDiffView, {position: 'before'}); })(); diff --git a/plugins/screen-diff-plugin/src/dist/static/styles.css b/plugins/screen-diff-plugin/src/dist/static/styles.css index 43a83e2e3..6cf221952 100644 --- a/plugins/screen-diff-plugin/src/dist/static/styles.css +++ b/plugins/screen-diff-plugin/src/dist/static/styles.css @@ -24,3 +24,7 @@ overflow: hidden; box-shadow: 2px 0 1px -1px #aaa; } + +.screen-diff-error { + color: #fd5a3e; +}