allure-commandline 2.13.0 → 2.13.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +1 -1
  2. package/dist/bin/allure +19 -3
  3. package/dist/bin/allure.bat +17 -1
  4. package/dist/lib/allure-commandline-2.13.8.jar +0 -0
  5. package/dist/lib/{allure-generator-2.13.0.jar → allure-generator-2.13.8.jar} +0 -0
  6. package/dist/lib/allure-model-2.13.0.jar +0 -0
  7. package/dist/lib/{allure-plugin-api-2.13.0.jar → allure-plugin-api-2.13.8.jar} +0 -0
  8. package/dist/lib/commons-lang3-3.9.jar +0 -0
  9. package/dist/lib/flexmark-0.50.36.jar +0 -0
  10. package/dist/lib/flexmark-util-0.50.36.jar +0 -0
  11. package/dist/lib/freemarker-2.3.29.jar +0 -0
  12. package/dist/lib/{httpclient-4.5.7.jar → httpclient-4.5.9.jar} +0 -0
  13. package/dist/lib/jcommander-1.78.jar +0 -0
  14. package/dist/lib/jetty-http-9.4.20.v20190813.jar +0 -0
  15. package/dist/lib/jetty-io-9.4.20.v20190813.jar +0 -0
  16. package/dist/lib/jetty-server-9.4.20.v20190813.jar +0 -0
  17. package/dist/lib/jetty-util-9.4.20.v20190813.jar +0 -0
  18. package/dist/lib/{opencsv-4.5.jar → opencsv-4.6.jar} +0 -0
  19. package/dist/lib/slf4j-api-1.7.28.jar +0 -0
  20. package/dist/lib/slf4j-log4j12-1.7.28.jar +0 -0
  21. package/dist/lib/{tika-core-1.20.jar → tika-core-1.22.jar} +0 -0
  22. package/dist/plugins/behaviors-plugin/{behaviors-plugin-2.13.0.jar → behaviors-plugin-2.13.8.jar} +0 -0
  23. package/dist/plugins/behaviors-plugin/static/index.js +178 -150
  24. package/dist/plugins/custom-logo-plugin/custom-logo-plugin-2.13.8.jar +0 -0
  25. package/dist/plugins/jira-plugin/jira-plugin-2.13.8.jar +0 -0
  26. package/dist/plugins/jira-plugin/lib/allure-jira-commons-2.13.8.jar +0 -0
  27. package/dist/plugins/{xray-plugin/lib/converter-jackson-2.5.0.jar → jira-plugin/lib/converter-jackson-2.6.1.jar} +0 -0
  28. package/dist/plugins/jira-plugin/lib/retrofit-2.6.1.jar +0 -0
  29. package/dist/plugins/junit-xml-plugin/{junit-xml-plugin-2.13.0.jar → junit-xml-plugin-2.13.8.jar} +0 -0
  30. package/dist/plugins/packages-plugin/{packages-plugin-2.13.0.jar → packages-plugin-2.13.8.jar} +0 -0
  31. package/dist/plugins/packages-plugin/static/index.js +104 -88
  32. package/dist/plugins/screen-diff-plugin/screen-diff-plugin-2.13.8.jar +0 -0
  33. package/dist/plugins/screen-diff-plugin/static/index.js +148 -45
  34. package/dist/plugins/screen-diff-plugin/static/styles.css +4 -0
  35. package/dist/plugins/trx-plugin/{trx-plugin-2.13.0.jar → trx-plugin-2.13.8.jar} +0 -0
  36. package/dist/plugins/xctest-plugin/{xctest-plugin-2.13.0.jar → xctest-plugin-2.13.8.jar} +0 -0
  37. package/dist/plugins/xray-plugin/lib/allure-jira-commons-2.13.8.jar +0 -0
  38. package/dist/plugins/{jira-plugin/lib/converter-jackson-2.5.0.jar → xray-plugin/lib/converter-jackson-2.6.1.jar} +0 -0
  39. package/dist/plugins/xray-plugin/lib/retrofit-2.6.1.jar +0 -0
  40. package/dist/plugins/xray-plugin/{xray-plugin-2.13.0.jar → xray-plugin-2.13.8.jar} +0 -0
  41. package/dist/plugins/xunit-xml-plugin/{xunit-xml-plugin-2.13.0.jar → xunit-xml-plugin-2.13.8.jar} +0 -0
  42. package/package.json +1 -1
  43. package/dist/lib/allure-commandline-2.13.0.jar +0 -0
  44. package/dist/lib/allure-model-2.9.0.jar +0 -0
  45. package/dist/lib/commons-lang3-3.8.1.jar +0 -0
  46. package/dist/lib/flexmark-0.40.16.jar +0 -0
  47. package/dist/lib/flexmark-util-0.40.16.jar +0 -0
  48. package/dist/lib/freemarker-2.3.28.jar +0 -0
  49. package/dist/lib/jcommander-1.72.jar +0 -0
  50. package/dist/lib/jetty-http-9.4.14.v20181114.jar +0 -0
  51. package/dist/lib/jetty-io-9.4.14.v20181114.jar +0 -0
  52. package/dist/lib/jetty-server-9.4.14.v20181114.jar +0 -0
  53. package/dist/lib/jetty-util-9.4.14.v20181114.jar +0 -0
  54. package/dist/lib/slf4j-api-1.7.25.jar +0 -0
  55. package/dist/lib/slf4j-log4j12-1.7.25.jar +0 -0
  56. package/dist/plugins/custom-logo-plugin/custom-logo-plugin-2.13.0.jar +0 -0
  57. package/dist/plugins/jira-plugin/jira-plugin-2.13.0.jar +0 -0
  58. package/dist/plugins/jira-plugin/lib/allure-jira-commons-2.13.0.jar +0 -0
  59. package/dist/plugins/jira-plugin/lib/retrofit-2.5.0.jar +0 -0
  60. package/dist/plugins/screen-diff-plugin/screen-diff-plugin-2.13.0.jar +0 -0
  61. package/dist/plugins/xray-plugin/lib/allure-jira-commons-2.13.0.jar +0 -0
  62. package/dist/plugins/xray-plugin/lib/retrofit-2.5.0.jar +0 -0
package/README.md CHANGED
@@ -38,6 +38,6 @@ generation.on('exit', function(exitCode) {
38
38
  Allure package should be downloaded from external storage. Repository content doesn't have actual code.
39
39
 
40
40
  1. Update package version `$ npm version 2.13.0`
41
- 1. Download Allure-commandline package: `./fetch-sources`
41
+ 1. Download Allure-commandline package: `./fetch-source`
42
42
  1. Pubslish result to NPM: `npm publish`
43
43
 
package/dist/bin/allure CHANGED
@@ -1,5 +1,21 @@
1
1
  #!/usr/bin/env sh
2
2
 
3
+ #
4
+ # Copyright 2015 the original author or authors.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # https://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
3
19
  ##############################################################################
4
20
  ##
5
21
  ## allure start up script for UN*X
@@ -64,7 +80,7 @@ case "`uname`" in
64
80
  ;;
65
81
  esac
66
82
 
67
- CLASSPATH=$APP_HOME/lib/allure-commandline-2.13.0.jar:$APP_HOME/lib/jcommander-1.72.jar:$APP_HOME/lib/allure-generator-2.13.0.jar:$APP_HOME/lib/allure-plugin-api-2.13.0.jar:$APP_HOME/lib/jackson-dataformat-xml-2.9.8.jar:$APP_HOME/lib/allure-model-2.9.0.jar:$APP_HOME/lib/jackson-module-jaxb-annotations-2.9.8.jar:$APP_HOME/lib/jackson-databind-2.9.8.jar:$APP_HOME/lib/jackson-dataformat-yaml-2.9.8.jar:$APP_HOME/lib/commons-io-2.6.jar:$APP_HOME/lib/jetty-server-9.4.14.v20181114.jar:$APP_HOME/lib/slf4j-log4j12-1.7.25.jar:$APP_HOME/lib/jackson-annotations-2.9.0.jar:$APP_HOME/lib/jackson-core-2.9.8.jar:$APP_HOME/lib/snakeyaml-1.23.jar:$APP_HOME/lib/javax.servlet-api-3.1.0.jar:$APP_HOME/lib/jetty-http-9.4.14.v20181114.jar:$APP_HOME/lib/jetty-io-9.4.14.v20181114.jar:$APP_HOME/lib/allure1-model-1.0.jar:$APP_HOME/lib/slf4j-api-1.7.25.jar:$APP_HOME/lib/log4j-1.2.17.jar:$APP_HOME/lib/httpclient-4.5.7.jar:$APP_HOME/lib/tika-core-1.20.jar:$APP_HOME/lib/freemarker-2.3.28.jar:$APP_HOME/lib/jetty-util-9.4.14.v20181114.jar:$APP_HOME/lib/opencsv-4.5.jar:$APP_HOME/lib/flexmark-0.40.16.jar:$APP_HOME/lib/jaxb-api-2.3.1.jar:$APP_HOME/lib/woodstox-core-5.0.3.jar:$APP_HOME/lib/stax2-api-3.1.4.jar:$APP_HOME/lib/properties-2.0.RC5.jar:$APP_HOME/lib/jaxb-utils-1.0.jar:$APP_HOME/lib/httpcore-4.4.11.jar:$APP_HOME/lib/commons-beanutils-1.9.3.jar:$APP_HOME/lib/commons-logging-1.2.jar:$APP_HOME/lib/commons-codec-1.11.jar:$APP_HOME/lib/commons-text-1.3.jar:$APP_HOME/lib/commons-lang3-3.8.1.jar:$APP_HOME/lib/commons-collections4-4.2.jar:$APP_HOME/lib/flexmark-util-0.40.16.jar:$APP_HOME/lib/javax.activation-api-1.2.0.jar:$APP_HOME/lib/commons-collections-3.2.2.jar:$APP_HOME/lib/config
83
+ CLASSPATH=$APP_HOME/lib/allure-commandline-2.13.8.jar:$APP_HOME/lib/jcommander-1.78.jar:$APP_HOME/lib/allure-generator-2.13.8.jar:$APP_HOME/lib/allure-plugin-api-2.13.8.jar:$APP_HOME/lib/jackson-dataformat-xml-2.9.8.jar:$APP_HOME/lib/allure-model-2.13.0.jar:$APP_HOME/lib/jackson-module-jaxb-annotations-2.9.8.jar:$APP_HOME/lib/jackson-databind-2.9.8.jar:$APP_HOME/lib/jackson-dataformat-yaml-2.9.8.jar:$APP_HOME/lib/commons-io-2.6.jar:$APP_HOME/lib/jetty-server-9.4.20.v20190813.jar:$APP_HOME/lib/slf4j-log4j12-1.7.28.jar:$APP_HOME/lib/jackson-annotations-2.9.0.jar:$APP_HOME/lib/jackson-core-2.9.8.jar:$APP_HOME/lib/snakeyaml-1.23.jar:$APP_HOME/lib/javax.servlet-api-3.1.0.jar:$APP_HOME/lib/jetty-http-9.4.20.v20190813.jar:$APP_HOME/lib/jetty-io-9.4.20.v20190813.jar:$APP_HOME/lib/allure1-model-1.0.jar:$APP_HOME/lib/slf4j-api-1.7.28.jar:$APP_HOME/lib/log4j-1.2.17.jar:$APP_HOME/lib/jaxb-api-2.3.1.jar:$APP_HOME/lib/httpclient-4.5.9.jar:$APP_HOME/lib/tika-core-1.22.jar:$APP_HOME/lib/freemarker-2.3.29.jar:$APP_HOME/lib/jetty-util-9.4.20.v20190813.jar:$APP_HOME/lib/opencsv-4.6.jar:$APP_HOME/lib/flexmark-0.50.36.jar:$APP_HOME/lib/woodstox-core-5.0.3.jar:$APP_HOME/lib/stax2-api-3.1.4.jar:$APP_HOME/lib/javax.activation-api-1.2.0.jar:$APP_HOME/lib/properties-2.0.RC5.jar:$APP_HOME/lib/jaxb-utils-1.0.jar:$APP_HOME/lib/httpcore-4.4.11.jar:$APP_HOME/lib/commons-beanutils-1.9.3.jar:$APP_HOME/lib/commons-logging-1.2.jar:$APP_HOME/lib/commons-codec-1.11.jar:$APP_HOME/lib/commons-text-1.3.jar:$APP_HOME/lib/commons-lang3-3.9.jar:$APP_HOME/lib/commons-collections4-4.2.jar:$APP_HOME/lib/flexmark-util-0.50.36.jar:$APP_HOME/lib/commons-collections-3.2.2.jar:$APP_HOME/lib/config
68
84
 
69
85
  # Determine the Java command to use to start the JVM.
70
86
  if [ -n "$JAVA_HOME" ] ; then
@@ -109,8 +125,8 @@ if $darwin; then
109
125
  GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
110
126
  fi
111
127
 
112
- # For Cygwin, switch paths to Windows format before running java
113
- if $cygwin ; then
128
+ # For Cygwin or MSYS, switch paths to Windows format before running java
129
+ if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
114
130
  APP_HOME=`cygpath --path --mixed "$APP_HOME"`
115
131
  CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
116
132
  JAVACMD=`cygpath --unix "$JAVACMD"`
@@ -1,3 +1,19 @@
1
+ @rem
2
+ @rem Copyright 2015 the original author or authors.
3
+ @rem
4
+ @rem Licensed under the Apache License, Version 2.0 (the "License");
5
+ @rem you may not use this file except in compliance with the License.
6
+ @rem You may obtain a copy of the License at
7
+ @rem
8
+ @rem https://www.apache.org/licenses/LICENSE-2.0
9
+ @rem
10
+ @rem Unless required by applicable law or agreed to in writing, software
11
+ @rem distributed under the License is distributed on an "AS IS" BASIS,
12
+ @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ @rem See the License for the specific language governing permissions and
14
+ @rem limitations under the License.
15
+ @rem
16
+
1
17
  @if "%DEBUG%" == "" @echo off
2
18
  @rem ##########################################################################
3
19
  @rem
@@ -63,7 +79,7 @@ set CMD_LINE_ARGS=%*
63
79
  :execute
64
80
  @rem Setup the command line
65
81
 
66
- set CLASSPATH=%APP_HOME%\lib\allure-commandline-2.13.0.jar;%APP_HOME%\lib\jcommander-1.72.jar;%APP_HOME%\lib\allure-generator-2.13.0.jar;%APP_HOME%\lib\allure-plugin-api-2.13.0.jar;%APP_HOME%\lib\jackson-dataformat-xml-2.9.8.jar;%APP_HOME%\lib\allure-model-2.9.0.jar;%APP_HOME%\lib\jackson-module-jaxb-annotations-2.9.8.jar;%APP_HOME%\lib\jackson-databind-2.9.8.jar;%APP_HOME%\lib\jackson-dataformat-yaml-2.9.8.jar;%APP_HOME%\lib\commons-io-2.6.jar;%APP_HOME%\lib\jetty-server-9.4.14.v20181114.jar;%APP_HOME%\lib\slf4j-log4j12-1.7.25.jar;%APP_HOME%\lib\jackson-annotations-2.9.0.jar;%APP_HOME%\lib\jackson-core-2.9.8.jar;%APP_HOME%\lib\snakeyaml-1.23.jar;%APP_HOME%\lib\javax.servlet-api-3.1.0.jar;%APP_HOME%\lib\jetty-http-9.4.14.v20181114.jar;%APP_HOME%\lib\jetty-io-9.4.14.v20181114.jar;%APP_HOME%\lib\allure1-model-1.0.jar;%APP_HOME%\lib\slf4j-api-1.7.25.jar;%APP_HOME%\lib\log4j-1.2.17.jar;%APP_HOME%\lib\httpclient-4.5.7.jar;%APP_HOME%\lib\tika-core-1.20.jar;%APP_HOME%\lib\freemarker-2.3.28.jar;%APP_HOME%\lib\jetty-util-9.4.14.v20181114.jar;%APP_HOME%\lib\opencsv-4.5.jar;%APP_HOME%\lib\flexmark-0.40.16.jar;%APP_HOME%\lib\jaxb-api-2.3.1.jar;%APP_HOME%\lib\woodstox-core-5.0.3.jar;%APP_HOME%\lib\stax2-api-3.1.4.jar;%APP_HOME%\lib\properties-2.0.RC5.jar;%APP_HOME%\lib\jaxb-utils-1.0.jar;%APP_HOME%\lib\httpcore-4.4.11.jar;%APP_HOME%\lib\commons-beanutils-1.9.3.jar;%APP_HOME%\lib\commons-logging-1.2.jar;%APP_HOME%\lib\commons-codec-1.11.jar;%APP_HOME%\lib\commons-text-1.3.jar;%APP_HOME%\lib\commons-lang3-3.8.1.jar;%APP_HOME%\lib\commons-collections4-4.2.jar;%APP_HOME%\lib\flexmark-util-0.40.16.jar;%APP_HOME%\lib\javax.activation-api-1.2.0.jar;%APP_HOME%\lib\commons-collections-3.2.2.jar;%APP_HOME%\lib\config
82
+ set CLASSPATH=%APP_HOME%\lib\allure-commandline-2.13.8.jar;%APP_HOME%\lib\jcommander-1.78.jar;%APP_HOME%\lib\allure-generator-2.13.8.jar;%APP_HOME%\lib\allure-plugin-api-2.13.8.jar;%APP_HOME%\lib\jackson-dataformat-xml-2.9.8.jar;%APP_HOME%\lib\allure-model-2.13.0.jar;%APP_HOME%\lib\jackson-module-jaxb-annotations-2.9.8.jar;%APP_HOME%\lib\jackson-databind-2.9.8.jar;%APP_HOME%\lib\jackson-dataformat-yaml-2.9.8.jar;%APP_HOME%\lib\commons-io-2.6.jar;%APP_HOME%\lib\jetty-server-9.4.20.v20190813.jar;%APP_HOME%\lib\slf4j-log4j12-1.7.28.jar;%APP_HOME%\lib\jackson-annotations-2.9.0.jar;%APP_HOME%\lib\jackson-core-2.9.8.jar;%APP_HOME%\lib\snakeyaml-1.23.jar;%APP_HOME%\lib\javax.servlet-api-3.1.0.jar;%APP_HOME%\lib\jetty-http-9.4.20.v20190813.jar;%APP_HOME%\lib\jetty-io-9.4.20.v20190813.jar;%APP_HOME%\lib\allure1-model-1.0.jar;%APP_HOME%\lib\slf4j-api-1.7.28.jar;%APP_HOME%\lib\log4j-1.2.17.jar;%APP_HOME%\lib\jaxb-api-2.3.1.jar;%APP_HOME%\lib\httpclient-4.5.9.jar;%APP_HOME%\lib\tika-core-1.22.jar;%APP_HOME%\lib\freemarker-2.3.29.jar;%APP_HOME%\lib\jetty-util-9.4.20.v20190813.jar;%APP_HOME%\lib\opencsv-4.6.jar;%APP_HOME%\lib\flexmark-0.50.36.jar;%APP_HOME%\lib\woodstox-core-5.0.3.jar;%APP_HOME%\lib\stax2-api-3.1.4.jar;%APP_HOME%\lib\javax.activation-api-1.2.0.jar;%APP_HOME%\lib\properties-2.0.RC5.jar;%APP_HOME%\lib\jaxb-utils-1.0.jar;%APP_HOME%\lib\httpcore-4.4.11.jar;%APP_HOME%\lib\commons-beanutils-1.9.3.jar;%APP_HOME%\lib\commons-logging-1.2.jar;%APP_HOME%\lib\commons-codec-1.11.jar;%APP_HOME%\lib\commons-text-1.3.jar;%APP_HOME%\lib\commons-lang3-3.9.jar;%APP_HOME%\lib\commons-collections4-4.2.jar;%APP_HOME%\lib\flexmark-util-0.50.36.jar;%APP_HOME%\lib\commons-collections-3.2.2.jar;%APP_HOME%\lib\config
67
83
 
68
84
  @rem Execute allure
69
85
  "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %ALLURE_OPTS% -classpath "%CLASSPATH%" io.qameta.allure.CommandLine %CMD_LINE_ARGS%
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,150 +1,178 @@
1
- 'use strict';
2
-
3
- allure.api.addTranslation('en', {
4
- tab: {
5
- behaviors: {
6
- name: 'Behaviors'
7
- }
8
- },
9
- widget: {
10
- behaviors: {
11
- name: 'Features by stories',
12
- showAll: 'show all'
13
- }
14
- }
15
- });
16
-
17
- allure.api.addTranslation('ru', {
18
- tab: {
19
- behaviors: {
20
- name: 'Функциональность'
21
- }
22
- },
23
- widget: {
24
- behaviors: {
25
- name: 'Функциональность',
26
- showAll: 'показать все'
27
- }
28
- }
29
- });
30
-
31
- allure.api.addTranslation('zh', {
32
- tab: {
33
- behaviors: {
34
- name: '功能'
35
- }
36
- },
37
- widget: {
38
- behaviors: {
39
- name: '特性场景',
40
- showAll: '显示所有'
41
- }
42
- }
43
- });
44
-
45
- allure.api.addTranslation('de', {
46
- tab: {
47
- behaviors: {
48
- name: 'Verhalten'
49
- }
50
- },
51
- widget: {
52
- behaviors: {
53
- name: 'Features nach Stories',
54
- showAll: 'Zeige alle'
55
- }
56
- }
57
- });
58
-
59
- allure.api.addTranslation('he', {
60
- tab: {
61
- behaviors: {
62
- name: 'התנהגויות'
63
- }
64
- },
65
- widget: {
66
- behaviors: {
67
- name: 'תכונות לפי סיפורי משתמש',
68
- showAll: 'הצג הכול'
69
- }
70
- }
71
- });
72
-
73
- allure.api.addTranslation('br', {
74
- tab: {
75
- behaviors: {
76
- name: 'Comportamentos'
77
- }
78
- },
79
- widget: {
80
- behaviors: {
81
- name: 'Funcionalidades por história',
82
- showAll: 'Mostrar tudo'
83
- }
84
- }
85
- });
86
-
87
- allure.api.addTranslation('ja', {
88
- tab: {
89
- behaviors: {
90
- name: '振る舞い'
91
- }
92
- },
93
- widget: {
94
- behaviors: {
95
- name: 'ストーリー別の機能',
96
- showAll: '全て表示'
97
- }
98
- }
99
- });
100
-
101
- allure.api.addTranslation('es', {
102
- tab: {
103
- behaviors: {
104
- name: 'Funcionalidades'
105
- }
106
- },
107
- widget: {
108
- behaviors: {
109
- name: 'Funcionalidades por Historias de Usuario',
110
- showAll: 'mostrar todo'
111
- }
112
- }
113
- });
114
-
115
- allure.api.addTranslation('kr', {
116
- tab: {
117
- behaviors: {
118
- name: '동작'
119
- }
120
- },
121
- widget: {
122
- behaviors: {
123
- name: '스토리별 기능',
124
- showAll: '전체 보기'
125
- }
126
- }
127
- });
128
-
129
- allure.api.addTab('behaviors', {
130
- title: 'tab.behaviors.name', icon: 'fa fa-list',
131
- route: 'behaviors(/)(:testGroup)(/)(:testResult)(/)(:testResultTab)(/)',
132
- onEnter: (function (testGroup, testResult, testResultTab) {
133
- return new allure.components.TreeLayout({
134
- testGroup: testGroup,
135
- testResult: testResult,
136
- testResultTab: testResultTab,
137
- tabName: 'tab.behaviors.name',
138
- baseUrl: 'behaviors',
139
- url: 'data/behaviors.json',
140
- csvUrl: 'data/behaviors.csv'
141
- });
142
- })
143
- });
144
-
145
- allure.api.addWidget('widgets', 'behaviors', allure.components.WidgetStatusView.extend({
146
- rowTag: 'a',
147
- title: 'widget.behaviors.name',
148
- baseUrl: 'behaviors',
149
- showLinks: true
150
- }));
1
+ 'use strict';
2
+
3
+ allure.api.addTranslation('en', {
4
+ tab: {
5
+ behaviors: {
6
+ name: 'Behaviors'
7
+ }
8
+ },
9
+ widget: {
10
+ behaviors: {
11
+ name: 'Features by stories',
12
+ showAll: 'show all'
13
+ }
14
+ }
15
+ });
16
+
17
+ allure.api.addTranslation('ru', {
18
+ tab: {
19
+ behaviors: {
20
+ name: 'Функциональность'
21
+ }
22
+ },
23
+ widget: {
24
+ behaviors: {
25
+ name: 'Функциональность',
26
+ showAll: 'показать все'
27
+ }
28
+ }
29
+ });
30
+
31
+ allure.api.addTranslation('zh', {
32
+ tab: {
33
+ behaviors: {
34
+ name: '功能'
35
+ }
36
+ },
37
+ widget: {
38
+ behaviors: {
39
+ name: '特性场景',
40
+ showAll: '显示所有'
41
+ }
42
+ }
43
+ });
44
+
45
+ allure.api.addTranslation('de', {
46
+ tab: {
47
+ behaviors: {
48
+ name: 'Verhalten'
49
+ }
50
+ },
51
+ widget: {
52
+ behaviors: {
53
+ name: 'Features nach Stories',
54
+ showAll: 'Zeige alle'
55
+ }
56
+ }
57
+ });
58
+
59
+ allure.api.addTranslation('nl', {
60
+ tab: {
61
+ behaviors: {
62
+ name: 'Functionaliteit'
63
+ }
64
+ },
65
+ widget: {
66
+ behaviors: {
67
+ name: 'Features en story’s',
68
+ showAll: 'Toon alle'
69
+ }
70
+ }
71
+ });
72
+
73
+ allure.api.addTranslation('he', {
74
+ tab: {
75
+ behaviors: {
76
+ name: 'התנהגויות'
77
+ }
78
+ },
79
+ widget: {
80
+ behaviors: {
81
+ name: 'תכונות לפי סיפורי משתמש',
82
+ showAll: 'הצג הכול'
83
+ }
84
+ }
85
+ });
86
+
87
+ allure.api.addTranslation('br', {
88
+ tab: {
89
+ behaviors: {
90
+ name: 'Comportamentos'
91
+ }
92
+ },
93
+ widget: {
94
+ behaviors: {
95
+ name: 'Funcionalidades por história',
96
+ showAll: 'Mostrar tudo'
97
+ }
98
+ }
99
+ });
100
+
101
+ allure.api.addTranslation('ja', {
102
+ tab: {
103
+ behaviors: {
104
+ name: '振る舞い'
105
+ }
106
+ },
107
+ widget: {
108
+ behaviors: {
109
+ name: 'ストーリー別の機能',
110
+ showAll: '全て表示'
111
+ }
112
+ }
113
+ });
114
+
115
+ allure.api.addTranslation('es', {
116
+ tab: {
117
+ behaviors: {
118
+ name: 'Funcionalidades'
119
+ }
120
+ },
121
+ widget: {
122
+ behaviors: {
123
+ name: 'Funcionalidades por Historias de Usuario',
124
+ showAll: 'mostrar todo'
125
+ }
126
+ }
127
+ });
128
+
129
+ allure.api.addTranslation('kr', {
130
+ tab: {
131
+ behaviors: {
132
+ name: '동작'
133
+ }
134
+ },
135
+ widget: {
136
+ behaviors: {
137
+ name: '스토리별 기능',
138
+ showAll: '전체 보기'
139
+ }
140
+ }
141
+ });
142
+
143
+ allure.api.addTranslation('fr', {
144
+ tab: {
145
+ behaviors: {
146
+ name: 'Comportements'
147
+ }
148
+ },
149
+ widget: {
150
+ behaviors: {
151
+ name: 'Thèmes par histoires',
152
+ showAll: 'Montrer tout'
153
+ }
154
+ }
155
+ });
156
+
157
+ allure.api.addTab('behaviors', {
158
+ title: 'tab.behaviors.name', icon: 'fa fa-list',
159
+ route: 'behaviors(/)(:testGroup)(/)(:testResult)(/)(:testResultTab)(/)',
160
+ onEnter: (function (testGroup, testResult, testResultTab) {
161
+ return new allure.components.TreeLayout({
162
+ testGroup: testGroup,
163
+ testResult: testResult,
164
+ testResultTab: testResultTab,
165
+ tabName: 'tab.behaviors.name',
166
+ baseUrl: 'behaviors',
167
+ url: 'data/behaviors.json',
168
+ csvUrl: 'data/behaviors.csv'
169
+ });
170
+ })
171
+ });
172
+
173
+ allure.api.addWidget('widgets', 'behaviors', allure.components.WidgetStatusView.extend({
174
+ rowTag: 'a',
175
+ title: 'widget.behaviors.name',
176
+ baseUrl: 'behaviors',
177
+ showLinks: true
178
+ }));
@@ -1,88 +1,104 @@
1
- 'use strict';
2
-
3
- allure.api.addTranslation('en', {
4
- tab: {
5
- packages: {
6
- name: 'Packages'
7
- }
8
- }
9
- });
10
-
11
- allure.api.addTranslation('ru', {
12
- tab: {
13
- packages: {
14
- name: 'Пакеты'
15
- }
16
- }
17
- });
18
-
19
- allure.api.addTranslation('zh', {
20
- tab: {
21
- packages: {
22
- name: '包'
23
- }
24
- }
25
- });
26
-
27
- allure.api.addTranslation('de', {
28
- tab: {
29
- packages: {
30
- name: 'Pakete'
31
- }
32
- }
33
- });
34
-
35
- allure.api.addTranslation('he', {
36
- tab: {
37
- packages: {
38
- name: 'חבילות'
39
- }
40
- }
41
- });
42
-
43
- allure.api.addTranslation('br', {
44
- tab: {
45
- packages: {
46
- name: 'Pacotes'
47
- }
48
- }
49
- });
50
-
51
- allure.api.addTranslation('ja', {
52
- tab: {
53
- packages: {
54
- name: 'パッケージ'
55
- }
56
- }
57
- });
58
-
59
- allure.api.addTranslation('es', {
60
- tab: {
61
- packages: {
62
- name: 'Paquetes'
63
- }
64
- }
65
- });
66
-
67
- allure.api.addTranslation('kr', {
68
- tab: {
69
- packages: {
70
- name: '패키지'
71
- }
72
- }
73
- });
74
-
75
- allure.api.addTab('packages', {
76
- title: 'tab.packages.name', icon: 'fa fa-align-left',
77
- route: 'packages(/)(:testGroup)(/)(:testResult)(/)(:testResultTab)(/)',
78
- onEnter: (function (testGroup, testResult, testResultTab) {
79
- return new allure.components.TreeLayout({
80
- testGroup: testGroup,
81
- testResult: testResult,
82
- testResultTab: testResultTab,
83
- tabName: 'tab.packages.name',
84
- baseUrl: 'packages',
85
- url: 'data/packages.json'
86
- });
87
- })
88
- });
1
+ 'use strict';
2
+
3
+ allure.api.addTranslation('en', {
4
+ tab: {
5
+ packages: {
6
+ name: 'Packages'
7
+ }
8
+ }
9
+ });
10
+
11
+ allure.api.addTranslation('ru', {
12
+ tab: {
13
+ packages: {
14
+ name: 'Пакеты'
15
+ }
16
+ }
17
+ });
18
+
19
+ allure.api.addTranslation('zh', {
20
+ tab: {
21
+ packages: {
22
+ name: '包'
23
+ }
24
+ }
25
+ });
26
+
27
+ allure.api.addTranslation('de', {
28
+ tab: {
29
+ packages: {
30
+ name: 'Pakete'
31
+ }
32
+ }
33
+ });
34
+
35
+ allure.api.addTranslation('nl', {
36
+ tab: {
37
+ packages: {
38
+ name: 'Packages'
39
+ }
40
+ }
41
+ });
42
+
43
+ allure.api.addTranslation('he', {
44
+ tab: {
45
+ packages: {
46
+ name: 'חבילות'
47
+ }
48
+ }
49
+ });
50
+
51
+ allure.api.addTranslation('br', {
52
+ tab: {
53
+ packages: {
54
+ name: 'Pacotes'
55
+ }
56
+ }
57
+ });
58
+
59
+ allure.api.addTranslation('ja', {
60
+ tab: {
61
+ packages: {
62
+ name: 'パッケージ'
63
+ }
64
+ }
65
+ });
66
+
67
+ allure.api.addTranslation('es', {
68
+ tab: {
69
+ packages: {
70
+ name: 'Paquetes'
71
+ }
72
+ }
73
+ });
74
+
75
+ allure.api.addTranslation('kr', {
76
+ tab: {
77
+ packages: {
78
+ name: '패키지'
79
+ }
80
+ }
81
+ });
82
+
83
+ allure.api.addTranslation('fr', {
84
+ tab: {
85
+ packages: {
86
+ name: 'Paquets'
87
+ }
88
+ }
89
+ });
90
+
91
+ allure.api.addTab('packages', {
92
+ title: 'tab.packages.name', icon: 'fa fa-align-left',
93
+ route: 'packages(/)(:testGroup)(/)(:testResult)(/)(:testResultTab)(/)',
94
+ onEnter: (function (testGroup, testResult, testResultTab) {
95
+ return new allure.components.TreeLayout({
96
+ testGroup: testGroup,
97
+ testResult: testResult,
98
+ testResultTab: testResultTab,
99
+ tabName: 'tab.packages.name',
100
+ baseUrl: 'packages',
101
+ url: 'data/packages.json'
102
+ });
103
+ })
104
+ });
@@ -1,74 +1,170 @@
1
1
  (function () {
2
- var settings = allure.getPluginSettings('screen-diff', {diffType: 'diff'});
2
+ var settings = allure.getPluginSettings('screen-diff', { diffType: 'diff' });
3
3
 
4
4
  function renderImage(src) {
5
- return '<div class="screen-diff__container">' +
6
- '<img class="screen-diff__image" src="data/attachments/' + src + '">' +
7
- '</div>';
5
+ return (
6
+ '<div class="screen-diff__container">' +
7
+ '<img class="screen-diff__image" src="' +
8
+ src +
9
+ '">' +
10
+ '</div>'
11
+ );
8
12
  }
9
13
 
10
- function renderDiffContent(type, data) {
11
- function findImage(name) {
12
- if (data.testStage && data.testStage.attachments) {
13
- return data.testStage.attachments.filter(function (attachment) {
14
- return attachment.name === name;
15
- })[0];
14
+ function findImage(data, name) {
15
+ if (data.testStage && data.testStage.attachments) {
16
+ var matchedImage = data.testStage.attachments.filter(function (attachment) {
17
+ return attachment.name === name;
18
+ })[0];
19
+ if (matchedImage) {
20
+ return 'data/attachments/' + matchedImage.source;
16
21
  }
17
- return null;
18
- }
19
-
20
- var diffImage = findImage('diff');
21
- var actualImage = findImage('actual');
22
- var expectedImage = findImage('expected');
23
-
24
- if (!diffImage && !actualImage && !expectedImage) {
25
- return '<span>Diff, actual and expected image have not been provided.</span>';
26
22
  }
23
+ return null;
24
+ }
27
25
 
26
+ function renderDiffContent(type, diffImage, actualImage, expectedImage) {
28
27
  if (type === 'diff') {
29
- if (!diffImage) {
30
- return renderImage(actualImage.source);
28
+ if (diffImage) {
29
+ return renderImage(diffImage);
31
30
  }
32
- return renderImage(diffImage.source);
33
31
  }
34
- if (type === 'overlay') {
35
- return '<div class="screen-diff__overlay screen-diff__container">' +
36
- '<img class="screen-diff__image" src="data/attachments/' + expectedImage.source + '">' +
32
+ if (type === 'overlay' && expectedImage) {
33
+ return (
34
+ '<div class="screen-diff__overlay screen-diff__container">' +
35
+ '<img class="screen-diff__image" src="' +
36
+ expectedImage +
37
+ '">' +
37
38
  '<div class="screen-diff__image-over">' +
38
- '<img class="screen-diff__image" src="data/attachments/' + actualImage.source + '">' +
39
+ '<img class="screen-diff__image" src="' +
40
+ actualImage +
41
+ '">' +
39
42
  '</div>' +
40
- '</div>';
43
+ '</div>'
44
+ );
41
45
  }
46
+ if (actualImage) {
47
+ return renderImage(actualImage);
48
+ }
49
+ return 'No diff data provided';
42
50
  }
43
51
 
52
+ var TestResultView = Backbone.Marionette.View.extend({
53
+ regions: {
54
+ subView: '.screen-diff-view',
55
+ },
56
+ template: function () {
57
+ return '<div class="screen-diff-view"></div>';
58
+ },
59
+ onRender: function () {
60
+ var data = this.model.toJSON();
61
+ var testType = data.labels.filter(function (label) {
62
+ return label.name === 'testType';
63
+ })[0];
64
+ var diffImage = findImage(data, 'diff');
65
+ var actualImage = findImage(data, 'actual');
66
+ var expectedImage = findImage(data, 'expected');
67
+ if (!testType || testType.value !== 'screenshotDiff') {
68
+ return;
69
+ }
70
+ this.showChildView(
71
+ 'subView',
72
+ new ScreenDiffView({
73
+ diffImage: diffImage,
74
+ actualImage: actualImage,
75
+ expectedImage: expectedImage,
76
+ }),
77
+ );
78
+ },
79
+ });
80
+ var ErrorView = Backbone.Marionette.View.extend({
81
+ templateContext: function () {
82
+ return this.options;
83
+ },
84
+ template: function (data) {
85
+ return '<pre class="screen-diff-error">' + data.error + '</pre>';
86
+ },
87
+ });
88
+ var AttachmentView = Backbone.Marionette.View.extend({
89
+ regions: {
90
+ subView: '.screen-diff-view',
91
+ },
92
+ template: function () {
93
+ return '<div class="screen-diff-view"></div>';
94
+ },
95
+ onRender: function () {
96
+ jQuery
97
+ .getJSON(this.options.sourceUrl)
98
+ .then(this.renderScreenDiffView.bind(this), this.renderErrorView.bind(this));
99
+ },
100
+ renderErrorView: function (error) {
101
+ console.log(error);
102
+ this.showChildView(
103
+ 'subView',
104
+ new ErrorView({
105
+ error: error.statusText,
106
+ }),
107
+ );
108
+ },
109
+ renderScreenDiffView: function (data) {
110
+ this.showChildView(
111
+ 'subView',
112
+ new ScreenDiffView({
113
+ diffImage: data.diff,
114
+ actualImage: data.actual,
115
+ expectedImage: data.expected,
116
+ }),
117
+ );
118
+ },
119
+ });
120
+
44
121
  var ScreenDiffView = Backbone.Marionette.View.extend({
45
122
  className: 'pane__section',
46
- events: {
47
- 'click [name="screen-diff-type"]': 'onDiffTypeChange',
48
- 'mousemove .screen-diff__overlay': 'onOverlayMove'
123
+ events: function () {
124
+ return {
125
+ ['click [name="screen-diff-type-' + this.cid + '"]']: 'onDiffTypeChange',
126
+ 'mousemove .screen-diff__overlay': 'onOverlayMove',
127
+ };
128
+ },
129
+ initialize: function (options) {
130
+ this.diffImage = options.diffImage;
131
+ this.actualImage = options.actualImage;
132
+ this.expectedImage = options.expectedImage;
133
+ this.radioName = 'screen-diff-type-' + this.cid;
49
134
  },
50
135
  templateContext: function () {
51
136
  return {
52
- diffType: settings.get('diffType')
53
- }
137
+ diffType: settings.get('diffType'),
138
+ diffImage: this.diffImage,
139
+ actualImage: this.actualImage,
140
+ expectedImage: this.expectedImage,
141
+ radioName: this.radioName,
142
+ };
54
143
  },
55
144
  template: function (data) {
56
- var testType = data.labels.filter(function (label) {
57
- return label.name === 'testType'
58
- })[0];
59
-
60
- if (!testType || testType.value !== 'screenshotDiff') {
145
+ if (!data.diffImage && !data.actualImage && !data.expectedImage) {
61
146
  return '';
62
147
  }
63
148
 
64
- return '<h3 class="pane__section-title">Screen Diff</h3>' +
149
+ return (
150
+ '<h3 class="pane__section-title">Screen Diff</h3>' +
65
151
  '<div class="screen-diff__content">' +
66
152
  '<div class="screen-diff__switchers">' +
67
- '<label><input type="radio" name="screen-diff-type" value="diff"> Show diff</label>' +
68
- '<label><input type="radio" name="screen-diff-type" value="overlay"> Show overlay</label>' +
153
+ '<label><input type="radio" name="' +
154
+ data.radioName +
155
+ '" value="diff"> Show diff</label>' +
156
+ '<label><input type="radio" name="' +
157
+ data.radioName +
158
+ '" value="overlay"> Show overlay</label>' +
69
159
  '</div>' +
70
- renderDiffContent(data.diffType, data) +
71
- '</div>';
160
+ renderDiffContent(
161
+ data.diffType,
162
+ data.diffImage,
163
+ data.actualImage,
164
+ data.expectedImage,
165
+ ) +
166
+ '</div>'
167
+ );
72
168
  },
73
169
  adjustImageSize: function (event) {
74
170
  var overImage = this.$(event.target);
@@ -76,7 +172,10 @@
76
172
  },
77
173
  onRender: function () {
78
174
  const diffType = settings.get('diffType');
79
- this.$('[name="screen-diff-type"][value="' + diffType + '"]').prop('checked', true);
175
+ this.$('[name="' + this.radioName + '"][value="' + diffType + '"]').prop(
176
+ 'checked',
177
+ true,
178
+ );
80
179
  if (diffType === 'overlay') {
81
180
  this.$('.screen-diff__image-over img').on('load', this.adjustImageSize.bind(this));
82
181
  }
@@ -91,7 +190,11 @@
91
190
  onDiffTypeChange: function (event) {
92
191
  settings.save('diffType', event.target.value);
93
192
  this.render();
94
- }
193
+ },
194
+ });
195
+ allure.api.addTestResultBlock(TestResultView, { position: 'before' });
196
+ allure.api.addAttachmentViewer('application/vnd.allure.image.diff', {
197
+ View: AttachmentView,
198
+ icon: 'fa fa-exchange',
95
199
  });
96
- allure.api.addTestResultBlock(ScreenDiffView, {position: 'before'});
97
200
  })();
@@ -24,3 +24,7 @@
24
24
  overflow: hidden;
25
25
  box-shadow: 2px 0 1px -1px #aaa;
26
26
  }
27
+
28
+ .screen-diff-error {
29
+ color: #fd5a3e;
30
+ }
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "bin": {
4
4
  "allure": "bin/allure"
5
5
  },
6
- "version": "2.13.0",
6
+ "version": "2.13.8",
7
7
  "description": "Wrapper to install Allure-commandline via NPM",
8
8
  "main": "index.js",
9
9
  "files": [
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file