cucumber-ctrf 0.1.0 → 0.1.2
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.
- checksums.yaml +4 -4
- data/lib/ctrf/cucumber_formatter.rb +41 -2
- metadata +7 -50
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1a78625b0862673be40e725f58a4496f43bd348ad44698445c4d55e83261c97
|
4
|
+
data.tar.gz: deb499d53afc3903aee01fcba49ce9660528c8ac28b004bed357eb1e52a5fca7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 378598143457383d7c8bdbeea598dd73df3feefded92fd464cf88d3a0c4b9299cbe9be016608a51bc1326d991a2890a6f1a5d6c6f71f270f7a3f2b77987f4066
|
7
|
+
data.tar.gz: 05f0d9f5fb4f813f9a8d47ba329eb585ca0384a0cc9a282c326059cb156101e67e1cf73ba19173f78eaa26449a076559f775fc2926dcf92ddac35de366a5b35a
|
@@ -9,16 +9,30 @@ module Ctrf
|
|
9
9
|
include Cucumber::Formatter::Io
|
10
10
|
|
11
11
|
def initialize(config)
|
12
|
+
# The Cucumber Formatter can get re-run many times (e.g. Knapsack)
|
13
|
+
# So, we need to make sure we load any existing file into the test object array, if one is provided.
|
14
|
+
if !io?(config.out_stream) && File.exist?(config.out_stream)
|
15
|
+
data = JSON.load_file(config.out_stream)
|
16
|
+
tests = deep_symbolize_keys(
|
17
|
+
data.dig('results', 'tests').to_h do |test|
|
18
|
+
[test.dig('extra', 'hash'), test]
|
19
|
+
end
|
20
|
+
)
|
21
|
+
run_start = data.dig('results', 'summary', 'start')
|
22
|
+
end
|
23
|
+
|
12
24
|
@io = ensure_io(config.out_stream, config.error_stream)
|
13
25
|
@ast_lookup = Cucumber::Formatter::AstLookup.new(config)
|
14
|
-
|
26
|
+
|
27
|
+
@tests = tests || {}
|
15
28
|
begin
|
16
29
|
@bc = Rails::ActiveSupport::BacktraceCleaner.new
|
17
30
|
rescue StandardError
|
18
31
|
@bc = nil
|
19
32
|
end
|
20
33
|
|
21
|
-
|
34
|
+
# Use the existing run_start if there is one
|
35
|
+
@run_start = run_start || Time.now.to_i
|
22
36
|
config.on_event :test_case_started, &method(:on_test_case_started)
|
23
37
|
config.on_event :test_case_finished, &method(:on_test_case_finished)
|
24
38
|
config.on_event :test_step_started, &method(:on_test_step_started)
|
@@ -143,5 +157,30 @@ module Ctrf
|
|
143
157
|
'other'
|
144
158
|
end
|
145
159
|
end
|
160
|
+
|
161
|
+
def deep_symbolize_keys(obj)
|
162
|
+
deep_transform_keys(obj) do |key|
|
163
|
+
key.to_sym
|
164
|
+
rescue StandardError
|
165
|
+
key
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
def deep_transform_keys(obj, &block)
|
170
|
+
_deep_transform_keys_in_object(obj, &block)
|
171
|
+
end
|
172
|
+
|
173
|
+
def _deep_transform_keys_in_object(object, &block)
|
174
|
+
case object
|
175
|
+
when Hash
|
176
|
+
object.each_with_object({}) do |(key, value), result|
|
177
|
+
result[yield(key)] = _deep_transform_keys_in_object(value, &block)
|
178
|
+
end
|
179
|
+
when Array
|
180
|
+
object.map { |e| _deep_transform_keys_in_object(e, &block) }
|
181
|
+
else
|
182
|
+
object
|
183
|
+
end
|
184
|
+
end
|
146
185
|
end
|
147
186
|
end
|
metadata
CHANGED
@@ -1,84 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cucumber-ctrf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Meneghello
|
8
8
|
- DUSC
|
9
|
-
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2025-01-
|
11
|
+
date: 2025-01-20 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: cucumber
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
16
|
requirements:
|
18
|
-
- - "
|
17
|
+
- - ">="
|
19
18
|
- !ruby/object:Gem::Version
|
20
19
|
version: '8'
|
21
20
|
type: :runtime
|
22
21
|
prerelease: false
|
23
22
|
version_requirements: !ruby/object:Gem::Requirement
|
24
23
|
requirements:
|
25
|
-
- - "
|
24
|
+
- - ">="
|
26
25
|
- !ruby/object:Gem::Version
|
27
26
|
version: '8'
|
28
|
-
- !ruby/object:Gem::Dependency
|
29
|
-
name: cucumber-messages
|
30
|
-
requirement: !ruby/object:Gem::Requirement
|
31
|
-
requirements:
|
32
|
-
- - "<"
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version: '25'
|
35
|
-
- - ">"
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '19'
|
38
|
-
type: :runtime
|
39
|
-
prerelease: false
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
requirements:
|
42
|
-
- - "<"
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
version: '25'
|
45
|
-
- - ">"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '19'
|
48
27
|
- !ruby/object:Gem::Dependency
|
49
28
|
name: cucumber
|
50
29
|
requirement: !ruby/object:Gem::Requirement
|
51
30
|
requirements:
|
52
|
-
- - "
|
31
|
+
- - ">="
|
53
32
|
- !ruby/object:Gem::Version
|
54
33
|
version: '8'
|
55
34
|
type: :development
|
56
35
|
prerelease: false
|
57
36
|
version_requirements: !ruby/object:Gem::Requirement
|
58
37
|
requirements:
|
59
|
-
- - "
|
38
|
+
- - ">="
|
60
39
|
- !ruby/object:Gem::Version
|
61
40
|
version: '8'
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: cucumber-messages
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "<"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '25'
|
69
|
-
- - ">"
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
version: '19'
|
72
|
-
type: :development
|
73
|
-
prerelease: false
|
74
|
-
version_requirements: !ruby/object:Gem::Requirement
|
75
|
-
requirements:
|
76
|
-
- - "<"
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
version: '25'
|
79
|
-
- - ">"
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
version: '19'
|
82
41
|
- !ruby/object:Gem::Dependency
|
83
42
|
name: rake
|
84
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -178,7 +137,6 @@ licenses:
|
|
178
137
|
- MIT
|
179
138
|
metadata:
|
180
139
|
rubygems_mfa_required: 'true'
|
181
|
-
post_install_message:
|
182
140
|
rdoc_options: []
|
183
141
|
require_paths:
|
184
142
|
- lib
|
@@ -193,8 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
193
151
|
- !ruby/object:Gem::Version
|
194
152
|
version: '0'
|
195
153
|
requirements: []
|
196
|
-
rubygems_version: 3.
|
197
|
-
signing_key:
|
154
|
+
rubygems_version: 3.6.2
|
198
155
|
specification_version: 4
|
199
156
|
summary: Cucumber formatter to output test results in CTRF (https://www.ctrf.io/)
|
200
157
|
JSON format.
|