closer 0.12.0 → 0.13.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,7 +4,7 @@ if ENV['USER_STORY']
4
4
 
5
5
  Before do |scenario|
6
6
  db_dump = DbDump.instance
7
- feature_file = scenario.feature.location.file
7
+ feature_file = scenario.location.file
8
8
 
9
9
  if ENV['RESUME_STORY_FROM'].to_s == feature_file
10
10
  if db_dump.current_feature.nil?
@@ -1,3 +1,3 @@
1
1
  module Closer
2
- VERSION = '0.12.0'
2
+ VERSION = '0.13.1'
3
3
  end
data/lib/tasks/close.rake CHANGED
@@ -27,7 +27,7 @@ task :close => dependencies do |t, args|
27
27
  end
28
28
  puts "using features in directory #{feature_dir}" unless feature_dir == 'features'
29
29
 
30
- format = ENV['FORMAT'] || 'Closer::Formatter::Html'
30
+ format = ENV['FORMAT'] || 'Closer::Formatter::HTML'
31
31
  unless format.empty?
32
32
  case format
33
33
  when 'junit'
@@ -44,6 +44,7 @@ task :close => dependencies do |t, args|
44
44
  "--require #{feature_dir}",
45
45
  '--guess',
46
46
  '--no-multiline',
47
+ '--publish-quiet',
47
48
  format_arg
48
49
  ]
49
50
  args << '--dry-run' if ENV['DRY_RUN'] or ENV['DR']
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: closer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.13.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - ichy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-08 00:00:00.000000000 Z
11
+ date: 2024-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '3.0'
19
+ version: '4.0'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '9.0'
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '3.0'
29
+ version: '4.0'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '9.0'
@@ -113,14 +113,7 @@ files:
113
113
  - lib/closer/coverage/rcov_formatter.rb
114
114
  - lib/closer/cucumber_ext.rb
115
115
  - lib/closer/cucumber_ext/compiler.rb
116
- - lib/closer/formatter/closer.css
117
- - lib/closer/formatter/closer.js
118
- - lib/closer/formatter/closer_html.rb
119
- - lib/closer/formatter/cucumber.css
120
116
  - lib/closer/formatter/html.rb
121
- - lib/closer/formatter/html_builder.rb
122
- - lib/closer/formatter/jquery-min.js
123
- - lib/closer/formatter/screenshot.js
124
117
  - lib/closer/helpers.rb
125
118
  - lib/closer/helpers/capture.rb
126
119
  - lib/closer/helpers/capybara.rb
@@ -151,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
151
144
  - !ruby/object:Gem::Version
152
145
  version: '0'
153
146
  requirements: []
154
- rubygems_version: 3.1.6
147
+ rubygems_version: 3.4.22
155
148
  signing_key:
156
149
  specification_version: 4
157
150
  summary: Cucumber test execution tool
@@ -1,192 +0,0 @@
1
-
2
- .cucumber .scenario h3, td .scenario h3, th .scenario h3, .background h3 {
3
- font-size: 1.2em;
4
- margin: 0;
5
- background: #FFFFFF;
6
- color: #000000;
7
- font-weight: bold;
8
- }
9
-
10
- .cucumber .step.passed table td.skipped {
11
- border-left: 1px solid gray;
12
- border-bottom: 1px solid gray;
13
- background: #FFFFFF;
14
- color: #000000;
15
- }
16
-
17
- .cucumber ol li.step {
18
- padding: 3px 0 3px 0;
19
- margin: 5px 0 5px 0;
20
- }
21
-
22
- .cucumber ol li.passed,
23
- td ol li.passed,
24
- th ol li.passed,
25
- .scenario.outline .step.skipped {
26
- border-left: none;
27
- border-bottom: none;
28
- background: #FFFFFF;
29
- color: #000000;
30
- }
31
- .examples .step.passed {
32
- border-left: solid 1px #999999;
33
- border-bottom: solid 1px #999999;
34
- padding-left: 10px;
35
- padding-right: 10px;
36
- background: #FFFFFF;
37
- color: #000000;
38
- }
39
- .cucumber ol li.expand:hover, td ol li.expand:hover, th ol li.expand:hover {
40
- background: #F0F8FF;
41
- }
42
-
43
- .feature_dir {
44
- font-size: 1.2em;
45
- font-weight: bold;
46
- padding: 2px;
47
- margin: 10px 10px 0px 10px;
48
- }
49
-
50
- div.feature_dir span {
51
- cursor: pointer;
52
- }
53
-
54
- div.feature h2 {
55
- font-size: 1.2em;
56
- }
57
-
58
- .step_contents {
59
- background: #FFFFFF;
60
- border: solid 1px #999999;
61
- margin-left: 1.2em;
62
- padding: 1em;
63
- }
64
-
65
- div.background {
66
- margin-left: 20px;
67
- }
68
-
69
- div.background ol {
70
- margin-left: 20px;
71
- }
72
-
73
- div.contents {
74
- padding-top: 10px;
75
- }
76
-
77
- div.feature .narrative {
78
- margin: 10px 2em;
79
- line-height: 1.5em;
80
- }
81
-
82
- div.feature .narrative > div {
83
- margin-left: 10px;
84
- }
85
-
86
- div.feature .narrative > pre {
87
- border: solid 1px #999999;
88
- border-radius: 5px;
89
- padding: 1em 0;
90
- }
91
-
92
- div.scenario {
93
- margin: 10px 10px 10px 1.2em;
94
- }
95
-
96
- div.scenario.faild h3,
97
- div.scenario.faild .scenario_file {
98
- background: #C40D0D;
99
- color: #FFFFFF;
100
- }
101
-
102
- div.scenario.pending h3,
103
- div.scenario.pending .scenario_file {
104
- background: #FAF834;
105
- color: #000000;
106
- }
107
-
108
- div.scenario ol {
109
- margin-top: 1em;
110
- margin-left: 2em;
111
- }
112
-
113
- div.scenario table {
114
- margin: 10px 0;
115
- }
116
-
117
- div.scenario td {
118
- border: solid 1px #999999;
119
- padding: 5px;
120
- }
121
-
122
- span.feature_subtitle {
123
- margin-left: 20px;
124
- color: #999999;
125
- font-size: 0.9em;
126
- }
127
-
128
- span.scenario_file {
129
- padding: 3px;
130
- line-height: 1.2em;
131
- }
132
-
133
- span.new {
134
- color: #006400;
135
- font-weight: bold;
136
- }
137
-
138
- span.edit {
139
- color: #006400;
140
- font-weight: bold;
141
- }
142
-
143
- span.auto {
144
- color: #006400;
145
- font-weight: bold;
146
- }
147
-
148
- ins.differ {
149
- text-decoration: none;
150
- background: #90EE90;
151
- }
152
-
153
- del.differ {
154
- text-decoration: none;
155
- background: #FFB6C1;
156
- }
157
-
158
- .hidden {
159
- display: none;
160
- }
161
-
162
- .pointer {
163
- cursor: pointer;
164
- }
165
-
166
- .screenshot {
167
- border: solid 1px #999999;
168
- border-radius: 5px 5px;
169
- margin: 5px 0;
170
- padding: 5px;
171
- background: #ffffff;
172
- width: 48%;
173
- height: 48%;
174
- cursor: pointer;
175
- }
176
-
177
- #screenshot_viewer img {
178
- display: block;
179
- border: solid 3px #555555;
180
- border-radius: 5px 5px;
181
- box-shadow: 5px 5px 5px 5px rgba(0,0,0,0.3);
182
- margin: 4%;
183
- padding: 1%;
184
- background: #ffffff;
185
- max-width: 90%;
186
- }
187
-
188
- blockquote {
189
- border: solid 1px #999999;
190
- border-radius: 5px 5px;
191
- padding: 5px;
192
- }
@@ -1,19 +0,0 @@
1
- function toggle_feature_dir(feature_dir) {
2
- $(feature_dir).parent('div.feature_dir').nextUntil('div.feature_dir').toggleClass('hidden');
3
- };
4
-
5
- function toggle_step_file(step_file) {
6
- $(step_file).closest('li').next('.step_contents').toggleClass('hidden');
7
- event.stopPropagation();
8
- };
9
-
10
- $(document).ready(function() {
11
- $('li.step').each(function() {
12
- var messages = $(this).nextUntil('li.step').filter('.message');
13
- if (messages.length > 0) {
14
- $(this).find('.val').addClass('pointer').click(function() {
15
- messages.toggleClass('hidden');
16
- });
17
- }
18
- });
19
- });
@@ -1,73 +0,0 @@
1
- require 'erb'
2
-
3
- module Closer
4
- module Formatter
5
- module CloserHtml
6
-
7
- def ruby_version_dir
8
- unless @_ruby_version_dir
9
- @_ruby_version_dir = RUBY_VERSION.split('.')[0..1].join('.') + '.0'
10
- end
11
- @_ruby_version_dir
12
- end
13
-
14
- def gem_dir
15
- ::File.join(Gem.dir, 'gems')
16
- end
17
-
18
- def feature_id
19
- @feature.file.force_encoding('UTF-8').gsub(/(\/|\.|\\)/, '_')
20
- end
21
-
22
- def feature_dir(feature, short = false)
23
- ret = ''
24
-
25
- split = feature.file.split(File::SEPARATOR).reject{|dir| dir.empty? }
26
- split.reverse[1..-2].each_with_index do |dir, i|
27
- if i == 0
28
- if short
29
- ret = dir.split('.').first + '.'
30
- else
31
- ret = dir
32
- end
33
- else
34
- ret = dir.split('.').first + '.' + ret
35
- end
36
- end
37
-
38
- ret
39
- end
40
-
41
- def magic_comment?(comment_line)
42
- comment = comment_line.to_s
43
-
44
- ['language', 'format'].each do |magic|
45
- return true if /#\s*#{magic}\s*:.*/ =~ comment
46
- end
47
-
48
- false
49
- end
50
-
51
- def current_time_string
52
- ::Time.now.instance_eval{ '%s%03d' % [strftime('%Y%m%d%H%M%S'), (usec / 1000.0).round] }
53
- end
54
-
55
- def display_keyword(keyword)
56
- if @in_background
57
- display_keyword = keyword.strip + ' '
58
- else
59
- if keyword.strip == '*'
60
- display_keyword = ''
61
- else
62
- display_keyword = keyword.strip + ' '
63
- end
64
- end
65
- end
66
-
67
- def indent_size(text)
68
- text.to_s[/\A */].size
69
- end
70
-
71
- end
72
- end
73
- end
@@ -1,287 +0,0 @@
1
- /* cucumber.css is generated from cucumber.sass */
2
- /* Regenerate with rake sass */
3
- body {
4
- font-size: 0px;
5
- color: white;
6
- margin: 0px;
7
- padding: 0px;
8
- }
9
-
10
- .cucumber, td, th {
11
- font: normal 11px "Lucida Grande", Helvetica, sans-serif;
12
- background: white;
13
- color: black;
14
- }
15
- .cucumber #cucumber-header, td #cucumber-header, th #cucumber-header {
16
- background: #65c400;
17
- color: white;
18
- height: 6em;
19
- }
20
- .cucumber #cucumber-header #expand-collapse p, td #cucumber-header #expand-collapse p, th #cucumber-header #expand-collapse p {
21
- float: right;
22
- margin: 0 0 0 10px;
23
- }
24
- .cucumber .scenario h3, td .scenario h3, th .scenario h3, .background h3 {
25
- font-size: 11px;
26
- padding: 3px;
27
- margin: 0;
28
- background: #65c400;
29
- color: white;
30
- font-weight: bold;
31
- }
32
-
33
- .background h3 {
34
- font-size: 1.2em;
35
- background: #666;
36
- }
37
-
38
- .cucumber h1, td h1, th h1 {
39
- margin: 0px 10px 0px 10px;
40
- padding: 10px;
41
- font-family: "Lucida Grande", Helvetica, sans-serif;
42
- font-size: 2em;
43
- position: absolute;
44
- }
45
- .cucumber h4, td h4, th h4 {
46
- margin-bottom: 2px;
47
- }
48
- .cucumber div.feature, td div.feature, th div.feature {
49
- padding: 2px;
50
- margin: 0px 10px 5px 10px;
51
- }
52
- .cucumber div.examples, td div.examples, th div.examples {
53
- padding: 0em 0em 0em 1em;
54
- }
55
- .cucumber .stats, td .stats, th .stats {
56
- margin: 2em;
57
- }
58
- .cucumber .summary ul.features li, td .summary ul.features li, th .summary ul.features li {
59
- display: inline;
60
- }
61
- .cucumber .step_name, td .step_name, th .step_name {
62
- float: left;
63
- }
64
- .cucumber .step_file, td .step_file, th .step_file {
65
- text-align: right;
66
- color: #999999;
67
- }
68
- .cucumber .step_file a, td .step_file a, th .step_file a {
69
- color: #999999;
70
- }
71
- .cucumber .scenario_file, td .scenario_file, th .scenario_file {
72
- float: right;
73
- color: #999999;
74
- }
75
- .cucumber .tag, td .tag, th .tag {
76
- font-weight: bold;
77
- color: #246ac1;
78
- }
79
- .cucumber .backtrace, td .backtrace, th .backtrace {
80
- margin-top: 0;
81
- margin-bottom: 0;
82
- margin-left: 1em;
83
- color: black;
84
- }
85
- .cucumber a, td a, th a {
86
- text-decoration: none;
87
- color: #be5c00;
88
- }
89
- .cucumber a:hover, td a:hover, th a:hover {
90
- text-decoration: underline;
91
- }
92
- .cucumber a:visited, td a:visited, th a:visited {
93
- font-weight: normal;
94
- }
95
- .cucumber a div.examples, td a div.examples, th a div.examples {
96
- margin: 5px 0px 5px 15px;
97
- color: black;
98
- }
99
- .cucumber .outline table, td .outline table, th .outline table {
100
- margin: 0px 0px 5px 10px;
101
- }
102
- .cucumber table, td table, th table {
103
- border-collapse: collapse;
104
- }
105
- .cucumber table td, td table td, th table td {
106
- padding: 3px 3px 3px 5px;
107
- }
108
- .cucumber table td.failed, .cucumber table td.passed, .cucumber table td.skipped, .cucumber table td.pending, .cucumber table td.undefined, td table td.failed, td table td.passed, td table td.skipped, td table td.pending, td table td.undefined, th table td.failed, th table td.passed, th table td.skipped, th table td.pending, th table td.undefined {
109
- padding-left: 18px;
110
- padding-right: 10px;
111
- }
112
- .cucumber table td.failed, td table td.failed, th table td.failed {
113
- border-left: 5px solid #c20000;
114
- border-bottom: 1px solid #c20000;
115
- background: #fffbd3;
116
- color: #c20000;
117
- }
118
- .cucumber table td.passed, td table td.passed, th table td.passed {
119
- border-left: 5px solid #65c400;
120
- border-bottom: 1px solid #65c400;
121
- background: #dbffb4;
122
- color: #3d7700;
123
- }
124
- .cucumber table td.skipped, td table td.skipped, th table td.skipped {
125
- border-left: 5px solid aqua;
126
- border-bottom: 1px solid aqua;
127
- background: #e0ffff;
128
- color: #001111;
129
- }
130
- .cucumber table td.pending, td table td.pending, th table td.pending {
131
- border-left: 5px solid #faf834;
132
- border-bottom: 1px solid #faf834;
133
- background: #fcfb98;
134
- color: #131313;
135
- }
136
- .cucumber table td.undefined, td table td.undefined, th table td.undefined {
137
- border-left: 5px solid #faf834;
138
- border-bottom: 1px solid #faf834;
139
- background: #fcfb98;
140
- color: #131313;
141
- }
142
- .cucumber table td.message, td table td.message, th table td.message {
143
- border-left: 5px solid aqua;
144
- border-bottom: 1px solid aqua;
145
- background: #e0ffff;
146
- color: #001111;
147
- }
148
- .cucumber ol, td ol, th ol {
149
- list-style: none;
150
- margin: 0px;
151
- padding: 0px;
152
- }
153
- .cucumber ol li.step, td ol li.step, th ol li.step {
154
- padding: 3px 3px 3px 13px;
155
- margin: 5px 0px 5px 5px;
156
- }
157
- .cucumber ol li, td ol li, th ol li {
158
- margin: 0em 0em 0em 1em;
159
- padding: 0em 0em 0em 0.2em;
160
- }
161
- .cucumber ol li span.param, td ol li span.param, th ol li span.param {
162
- font-weight: bold;
163
- }
164
- .cucumber ol li.failed, td ol li.failed, th ol li.failed {
165
- border-left: 5px solid #c20000;
166
- border-bottom: 1px solid #c20000;
167
- background: #fffbd3;
168
- color: #c20000;
169
- padding: 3px 3px 3px 8px;
170
- }
171
- .cucumber ol li.passed, td ol li.passed, th ol li.passed {
172
- border-left: 5px solid #65c400;
173
- border-bottom: 1px solid #65c400;
174
- background: #dbffb4;
175
- color: #3d7700;
176
- }
177
- .cucumber ol li.skipped, td ol li.skipped, th ol li.skipped {
178
- border-left: 5px solid aqua;
179
- border-bottom: 1px solid aqua;
180
- background: #e0ffff;
181
- color: #001111;
182
- }
183
- .cucumber ol li.pending, td ol li.pending, th ol li.pending {
184
- border-left: 5px solid #faf834;
185
- border-bottom: 1px solid #faf834;
186
- background: #fcfb98;
187
- color: #131313;
188
- }
189
- .cucumber ol li.undefined, td ol li.undefined, th ol li.undefined {
190
- border-left: none;
191
- border-bottom: 1px solid #faf834;
192
- background: #fcfb98;
193
- color: #131313;
194
- }
195
- .cucumber ol li.message, td ol li.message, th ol li.message {
196
- border-left: 5px solid #999999;
197
- border-bottom: 1px solid #999999;
198
- background: #F0F8FF;
199
- color: #001111;
200
- margin: 5px 0px 18px 18px;
201
- padding: 3px 10px 3px 10px;
202
- }
203
- .cucumber #summary, td #summary, th #summary {
204
- margin: 0px;
205
- padding: 5px 10px;
206
- text-align: right;
207
- top: 0px;
208
- right: 0px;
209
- float: right;
210
- }
211
- .cucumber #summary p, td #summary p, th #summary p {
212
- margin: 0 0 0 2px;
213
- }
214
- .cucumber #summary #totals, td #summary #totals, th #summary #totals {
215
- font-size: 1.2em;
216
- }
217
-
218
- .ruby {
219
- font-size: 12px;
220
- font-family: monospace;
221
- color: white;
222
- background: black;
223
- padding: 0.1em 0 0.2em 0;
224
- }
225
- .ruby .keyword {
226
- color: #ff6600;
227
- }
228
- .ruby .constant {
229
- color: #339999;
230
- }
231
- .ruby .attribute {
232
- color: white;
233
- }
234
- .ruby .global {
235
- color: white;
236
- }
237
- .ruby .module {
238
- color: white;
239
- }
240
- .ruby .class {
241
- color: white;
242
- }
243
- .ruby .string {
244
- color: #66ff00;
245
- }
246
- .ruby .ident {
247
- color: white;
248
- }
249
- .ruby .method {
250
- color: #ffcc00;
251
- }
252
- .ruby .number {
253
- color: white;
254
- }
255
- .ruby .char {
256
- color: white;
257
- }
258
- .ruby .comment {
259
- color: #9933cc;
260
- }
261
- .ruby .symbol {
262
- color: white;
263
- }
264
- .ruby .regex {
265
- color: #44b4cc;
266
- }
267
- .ruby .punct {
268
- color: white;
269
- }
270
- .ruby .escape {
271
- color: white;
272
- }
273
- .ruby .interp {
274
- color: white;
275
- }
276
- .ruby .expr {
277
- color: white;
278
- }
279
- .ruby .offending {
280
- background: #333333;
281
- }
282
- .ruby .linenum {
283
- width: 75px;
284
- padding: 0.1em 1em 0.2em 0;
285
- color: black;
286
- background: #fffbd3;
287
- }