cucumber-messages 24.1.0 → 25.0.0
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/VERSION +1 -1
- data/lib/cucumber/messages/attachment.rb +126 -0
- data/lib/cucumber/messages/attachment_content_encoding.rb +11 -0
- data/lib/cucumber/messages/background.rb +64 -0
- data/lib/cucumber/messages/ci.rb +62 -0
- data/lib/cucumber/messages/comment.rb +50 -0
- data/lib/cucumber/messages/data_table.rb +41 -0
- data/lib/cucumber/messages/doc_string.rb +51 -0
- data/lib/cucumber/messages/duration.rb +50 -0
- data/lib/cucumber/messages/envelope.rb +124 -0
- data/lib/cucumber/messages/examples.rb +74 -0
- data/lib/cucumber/messages/exception.rb +57 -0
- data/lib/cucumber/messages/feature.rb +87 -0
- data/lib/cucumber/messages/feature_child.rb +49 -0
- data/lib/cucumber/messages/gherkin_document.rb +62 -0
- data/lib/cucumber/messages/git.rb +54 -0
- data/lib/cucumber/messages/group.rb +46 -0
- data/lib/cucumber/messages/helpers/id_generator/incrementing.rb +20 -0
- data/lib/cucumber/messages/helpers/id_generator/uuid.rb +17 -0
- data/lib/cucumber/messages/helpers/id_generator.rb +4 -0
- data/lib/cucumber/messages/helpers/ndjson_to_message_enumerator.rb +30 -0
- data/lib/cucumber/messages/helpers/time_conversion.rb +31 -0
- data/lib/cucumber/messages/hook.rb +51 -0
- data/lib/cucumber/messages/java_method.rb +46 -0
- data/lib/cucumber/messages/java_stack_trace_element.rb +46 -0
- data/lib/cucumber/messages/location.rb +44 -0
- data/lib/cucumber/messages/message.rb +92 -4
- data/lib/cucumber/messages/meta.rb +81 -0
- data/lib/cucumber/messages/parameter_type.rb +64 -0
- data/lib/cucumber/messages/parse_error.rb +41 -0
- data/lib/cucumber/messages/pickle.rb +107 -0
- data/lib/cucumber/messages/pickle_doc_string.rb +41 -0
- data/lib/cucumber/messages/pickle_step.rb +71 -0
- data/lib/cucumber/messages/pickle_step_argument.rb +43 -0
- data/lib/cucumber/messages/pickle_step_type.rb +13 -0
- data/lib/cucumber/messages/pickle_table.rb +36 -0
- data/lib/cucumber/messages/pickle_table_cell.rb +36 -0
- data/lib/cucumber/messages/pickle_table_row.rb +36 -0
- data/lib/cucumber/messages/pickle_tag.rb +47 -0
- data/lib/cucumber/messages/product.rb +49 -0
- data/lib/cucumber/messages/rule.rb +72 -0
- data/lib/cucumber/messages/rule_child.rb +44 -0
- data/lib/cucumber/messages/scenario.rb +74 -0
- data/lib/cucumber/messages/source.rb +63 -0
- data/lib/cucumber/messages/source_media_type.rb +11 -0
- data/lib/cucumber/messages/source_reference.rb +55 -0
- data/lib/cucumber/messages/step.rb +80 -0
- data/lib/cucumber/messages/step_definition.rb +46 -0
- data/lib/cucumber/messages/step_definition_pattern.rb +41 -0
- data/lib/cucumber/messages/step_definition_pattern_type.rb +11 -0
- data/lib/cucumber/messages/step_keyword_type.rb +14 -0
- data/lib/cucumber/messages/step_match_argument.rb +54 -0
- data/lib/cucumber/messages/step_match_arguments_list.rb +36 -0
- data/lib/cucumber/messages/table_cell.rb +49 -0
- data/lib/cucumber/messages/table_row.rb +54 -0
- data/lib/cucumber/messages/tag.rb +58 -0
- data/lib/cucumber/messages/test_case.rb +54 -0
- data/lib/cucumber/messages/test_case_finished.rb +46 -0
- data/lib/cucumber/messages/test_case_started.rb +69 -0
- data/lib/cucumber/messages/test_run_finished.rb +63 -0
- data/lib/cucumber/messages/test_run_started.rb +36 -0
- data/lib/cucumber/messages/test_step.rb +74 -0
- data/lib/cucumber/messages/test_step_finished.rb +51 -0
- data/lib/cucumber/messages/test_step_result.rb +57 -0
- data/lib/cucumber/messages/test_step_result_status.rb +16 -0
- data/lib/cucumber/messages/test_step_started.rb +46 -0
- data/lib/cucumber/messages/timestamp.rb +52 -0
- data/lib/cucumber/messages/undefined_parameter_type.rb +41 -0
- data/lib/cucumber/messages.rb +9 -5
- metadata +110 -30
- data/lib/cucumber/messages/id_generator.rb +0 -24
- data/lib/cucumber/messages/message/deserialization.rb +0 -37
- data/lib/cucumber/messages/message/serialization.rb +0 -70
- data/lib/cucumber/messages/message/utils.rb +0 -45
- data/lib/cucumber/messages/ndjson_to_message_enumerator.rb +0 -21
- data/lib/cucumber/messages/time_conversion.rb +0 -33
- data/lib/cucumber/messages.deserializers.rb +0 -1208
- data/lib/cucumber/messages.dtos.rb +0 -1782
@@ -0,0 +1,57 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the Exception message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
#
|
10
|
+
# A simplified representation of an exception
|
11
|
+
##
|
12
|
+
class Exception < Message
|
13
|
+
##
|
14
|
+
# The type of the exception that caused this result. E.g. "Error" or "org.opentest4j.AssertionFailedError"
|
15
|
+
##
|
16
|
+
attr_reader :type
|
17
|
+
|
18
|
+
##
|
19
|
+
# The message of exception that caused this result. E.g. expected: "a" but was: "b"
|
20
|
+
##
|
21
|
+
attr_reader :message
|
22
|
+
|
23
|
+
##
|
24
|
+
# The stringified stack trace of the exception that caused this result
|
25
|
+
##
|
26
|
+
attr_reader :stack_trace
|
27
|
+
|
28
|
+
def initialize(
|
29
|
+
type: '',
|
30
|
+
message: nil,
|
31
|
+
stack_trace: nil
|
32
|
+
)
|
33
|
+
@type = type
|
34
|
+
@message = message
|
35
|
+
@stack_trace = stack_trace
|
36
|
+
super()
|
37
|
+
end
|
38
|
+
|
39
|
+
##
|
40
|
+
# Returns a new Exception from the given hash.
|
41
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
42
|
+
# corresponding snake_cased attributes.
|
43
|
+
#
|
44
|
+
# Cucumber::Messages::Exception.from_h(some_hash) # => #<Cucumber::Messages::Exception:0x... ...>
|
45
|
+
##
|
46
|
+
def self.from_h(hash)
|
47
|
+
return nil if hash.nil?
|
48
|
+
|
49
|
+
new(
|
50
|
+
type: hash[:type],
|
51
|
+
message: hash[:message],
|
52
|
+
stack_trace: hash[:stackTrace]
|
53
|
+
)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the Feature message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
##
|
10
|
+
class Feature < Message
|
11
|
+
##
|
12
|
+
# The location of the `Feature` keyword
|
13
|
+
##
|
14
|
+
attr_reader :location
|
15
|
+
|
16
|
+
##
|
17
|
+
# All the tags placed above the `Feature` keyword
|
18
|
+
##
|
19
|
+
attr_reader :tags
|
20
|
+
|
21
|
+
##
|
22
|
+
# The [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1) language code of the Gherkin document
|
23
|
+
##
|
24
|
+
attr_reader :language
|
25
|
+
|
26
|
+
##
|
27
|
+
# The text of the `Feature` keyword (in the language specified by `language`)
|
28
|
+
##
|
29
|
+
attr_reader :keyword
|
30
|
+
|
31
|
+
##
|
32
|
+
# The name of the feature (the text following the `keyword`)
|
33
|
+
##
|
34
|
+
attr_reader :name
|
35
|
+
|
36
|
+
##
|
37
|
+
# The line(s) underneath the line with the `keyword` that are used as description
|
38
|
+
##
|
39
|
+
attr_reader :description
|
40
|
+
|
41
|
+
##
|
42
|
+
# Zero or more children
|
43
|
+
##
|
44
|
+
attr_reader :children
|
45
|
+
|
46
|
+
def initialize(
|
47
|
+
location: Location.new,
|
48
|
+
tags: [],
|
49
|
+
language: '',
|
50
|
+
keyword: '',
|
51
|
+
name: '',
|
52
|
+
description: '',
|
53
|
+
children: []
|
54
|
+
)
|
55
|
+
@location = location
|
56
|
+
@tags = tags
|
57
|
+
@language = language
|
58
|
+
@keyword = keyword
|
59
|
+
@name = name
|
60
|
+
@description = description
|
61
|
+
@children = children
|
62
|
+
super()
|
63
|
+
end
|
64
|
+
|
65
|
+
##
|
66
|
+
# Returns a new Feature from the given hash.
|
67
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
68
|
+
# corresponding snake_cased attributes.
|
69
|
+
#
|
70
|
+
# Cucumber::Messages::Feature.from_h(some_hash) # => #<Cucumber::Messages::Feature:0x... ...>
|
71
|
+
##
|
72
|
+
def self.from_h(hash)
|
73
|
+
return nil if hash.nil?
|
74
|
+
|
75
|
+
new(
|
76
|
+
location: Location.from_h(hash[:location]),
|
77
|
+
tags: hash[:tags]&.map { |item| Tag.from_h(item) },
|
78
|
+
language: hash[:language],
|
79
|
+
keyword: hash[:keyword],
|
80
|
+
name: hash[:name],
|
81
|
+
description: hash[:description],
|
82
|
+
children: hash[:children]&.map { |item| FeatureChild.from_h(item) }
|
83
|
+
)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the FeatureChild message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
#
|
10
|
+
# *
|
11
|
+
# A child node of a `Feature` node
|
12
|
+
##
|
13
|
+
class FeatureChild < Message
|
14
|
+
attr_reader :rule
|
15
|
+
|
16
|
+
attr_reader :background
|
17
|
+
|
18
|
+
attr_reader :scenario
|
19
|
+
|
20
|
+
def initialize(
|
21
|
+
rule: nil,
|
22
|
+
background: nil,
|
23
|
+
scenario: nil
|
24
|
+
)
|
25
|
+
@rule = rule
|
26
|
+
@background = background
|
27
|
+
@scenario = scenario
|
28
|
+
super()
|
29
|
+
end
|
30
|
+
|
31
|
+
##
|
32
|
+
# Returns a new FeatureChild from the given hash.
|
33
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
34
|
+
# corresponding snake_cased attributes.
|
35
|
+
#
|
36
|
+
# Cucumber::Messages::FeatureChild.from_h(some_hash) # => #<Cucumber::Messages::FeatureChild:0x... ...>
|
37
|
+
##
|
38
|
+
def self.from_h(hash)
|
39
|
+
return nil if hash.nil?
|
40
|
+
|
41
|
+
new(
|
42
|
+
rule: Rule.from_h(hash[:rule]),
|
43
|
+
background: Background.from_h(hash[:background]),
|
44
|
+
scenario: Scenario.from_h(hash[:scenario])
|
45
|
+
)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the GherkinDocument message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
#
|
10
|
+
# *
|
11
|
+
# The [AST](https://en.wikipedia.org/wiki/Abstract_syntax_tree) of a Gherkin document.
|
12
|
+
# Cucumber implementations should *not* depend on `GherkinDocument` or any of its
|
13
|
+
# children for execution - use [Pickle](#io.cucumber.messages.Pickle) instead.
|
14
|
+
#
|
15
|
+
# The only consumers of `GherkinDocument` should only be formatters that produce
|
16
|
+
# "rich" output, resembling the original Gherkin document.
|
17
|
+
##
|
18
|
+
class GherkinDocument < Message
|
19
|
+
##
|
20
|
+
# *
|
21
|
+
# The [URI](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier)
|
22
|
+
# of the source, typically a file path relative to the root directory
|
23
|
+
##
|
24
|
+
attr_reader :uri
|
25
|
+
|
26
|
+
attr_reader :feature
|
27
|
+
|
28
|
+
##
|
29
|
+
# All the comments in the Gherkin document
|
30
|
+
##
|
31
|
+
attr_reader :comments
|
32
|
+
|
33
|
+
def initialize(
|
34
|
+
uri: nil,
|
35
|
+
feature: nil,
|
36
|
+
comments: []
|
37
|
+
)
|
38
|
+
@uri = uri
|
39
|
+
@feature = feature
|
40
|
+
@comments = comments
|
41
|
+
super()
|
42
|
+
end
|
43
|
+
|
44
|
+
##
|
45
|
+
# Returns a new GherkinDocument from the given hash.
|
46
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
47
|
+
# corresponding snake_cased attributes.
|
48
|
+
#
|
49
|
+
# Cucumber::Messages::GherkinDocument.from_h(some_hash) # => #<Cucumber::Messages::GherkinDocument:0x... ...>
|
50
|
+
##
|
51
|
+
def self.from_h(hash)
|
52
|
+
return nil if hash.nil?
|
53
|
+
|
54
|
+
new(
|
55
|
+
uri: hash[:uri],
|
56
|
+
feature: Feature.from_h(hash[:feature]),
|
57
|
+
comments: hash[:comments]&.map { |item| Comment.from_h(item) }
|
58
|
+
)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the Git message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
#
|
10
|
+
# Information about Git, provided by the Build/CI server as environment
|
11
|
+
# variables.
|
12
|
+
##
|
13
|
+
class Git < Message
|
14
|
+
attr_reader :remote
|
15
|
+
|
16
|
+
attr_reader :revision
|
17
|
+
|
18
|
+
attr_reader :branch
|
19
|
+
|
20
|
+
attr_reader :tag
|
21
|
+
|
22
|
+
def initialize(
|
23
|
+
remote: '',
|
24
|
+
revision: '',
|
25
|
+
branch: nil,
|
26
|
+
tag: nil
|
27
|
+
)
|
28
|
+
@remote = remote
|
29
|
+
@revision = revision
|
30
|
+
@branch = branch
|
31
|
+
@tag = tag
|
32
|
+
super()
|
33
|
+
end
|
34
|
+
|
35
|
+
##
|
36
|
+
# Returns a new Git from the given hash.
|
37
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
38
|
+
# corresponding snake_cased attributes.
|
39
|
+
#
|
40
|
+
# Cucumber::Messages::Git.from_h(some_hash) # => #<Cucumber::Messages::Git:0x... ...>
|
41
|
+
##
|
42
|
+
def self.from_h(hash)
|
43
|
+
return nil if hash.nil?
|
44
|
+
|
45
|
+
new(
|
46
|
+
remote: hash[:remote],
|
47
|
+
revision: hash[:revision],
|
48
|
+
branch: hash[:branch],
|
49
|
+
tag: hash[:tag]
|
50
|
+
)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the Group message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
##
|
10
|
+
class Group < Message
|
11
|
+
attr_reader :children
|
12
|
+
|
13
|
+
attr_reader :start
|
14
|
+
|
15
|
+
attr_reader :value
|
16
|
+
|
17
|
+
def initialize(
|
18
|
+
children: [],
|
19
|
+
start: nil,
|
20
|
+
value: nil
|
21
|
+
)
|
22
|
+
@children = children
|
23
|
+
@start = start
|
24
|
+
@value = value
|
25
|
+
super()
|
26
|
+
end
|
27
|
+
|
28
|
+
##
|
29
|
+
# Returns a new Group from the given hash.
|
30
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
31
|
+
# corresponding snake_cased attributes.
|
32
|
+
#
|
33
|
+
# Cucumber::Messages::Group.from_h(some_hash) # => #<Cucumber::Messages::Group:0x... ...>
|
34
|
+
##
|
35
|
+
def self.from_h(hash)
|
36
|
+
return nil if hash.nil?
|
37
|
+
|
38
|
+
new(
|
39
|
+
children: hash[:children]&.map { |item| Group.from_h(item) },
|
40
|
+
start: hash[:start],
|
41
|
+
value: hash[:value]
|
42
|
+
)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Cucumber
|
4
|
+
module Messages
|
5
|
+
module Helpers
|
6
|
+
module IdGenerator
|
7
|
+
class Incrementing
|
8
|
+
def initialize
|
9
|
+
@index = -1
|
10
|
+
end
|
11
|
+
|
12
|
+
def new_id
|
13
|
+
@index += 1
|
14
|
+
@index.to_s
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'cucumber/messages'
|
4
|
+
|
5
|
+
module Cucumber
|
6
|
+
module Messages
|
7
|
+
module Helpers
|
8
|
+
class NdjsonToMessageEnumerator < Enumerator
|
9
|
+
def initialize(io)
|
10
|
+
super() do |yielder|
|
11
|
+
io.each_line do |line|
|
12
|
+
next if line.strip.empty?
|
13
|
+
|
14
|
+
message = extract_message(line)
|
15
|
+
yielder.yield(message)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def extract_message(json_line)
|
23
|
+
Envelope.from_json(json_line)
|
24
|
+
rescue StandardError
|
25
|
+
raise "Not JSON: #{json_line.strip}"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Cucumber
|
4
|
+
module Messages
|
5
|
+
module Helpers
|
6
|
+
module TimeConversion
|
7
|
+
NANOSECONDS_PER_SECOND = 1_000_000_000
|
8
|
+
|
9
|
+
def time_to_timestamp(time)
|
10
|
+
{ 'seconds' => time.to_i, 'nanos' => time.nsec }
|
11
|
+
end
|
12
|
+
|
13
|
+
def timestamp_to_time(timestamp)
|
14
|
+
Time.at(timestamp['seconds'] + (timestamp['nanos'].to_f / NANOSECONDS_PER_SECOND))
|
15
|
+
end
|
16
|
+
|
17
|
+
def seconds_to_duration(seconds_float)
|
18
|
+
seconds, second_modulus = seconds_float.divmod(1)
|
19
|
+
nanos = second_modulus * NANOSECONDS_PER_SECOND
|
20
|
+
{ 'seconds' => seconds, 'nanos' => nanos.to_i }
|
21
|
+
end
|
22
|
+
|
23
|
+
def duration_to_seconds(duration)
|
24
|
+
seconds_part = duration['seconds']
|
25
|
+
nanos_part = duration['nanos'].to_f / NANOSECONDS_PER_SECOND
|
26
|
+
seconds_part + nanos_part
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the Hook message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
##
|
10
|
+
class Hook < Message
|
11
|
+
attr_reader :id
|
12
|
+
|
13
|
+
attr_reader :name
|
14
|
+
|
15
|
+
attr_reader :source_reference
|
16
|
+
|
17
|
+
attr_reader :tag_expression
|
18
|
+
|
19
|
+
def initialize(
|
20
|
+
id: '',
|
21
|
+
name: nil,
|
22
|
+
source_reference: SourceReference.new,
|
23
|
+
tag_expression: nil
|
24
|
+
)
|
25
|
+
@id = id
|
26
|
+
@name = name
|
27
|
+
@source_reference = source_reference
|
28
|
+
@tag_expression = tag_expression
|
29
|
+
super()
|
30
|
+
end
|
31
|
+
|
32
|
+
##
|
33
|
+
# Returns a new Hook from the given hash.
|
34
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
35
|
+
# corresponding snake_cased attributes.
|
36
|
+
#
|
37
|
+
# Cucumber::Messages::Hook.from_h(some_hash) # => #<Cucumber::Messages::Hook:0x... ...>
|
38
|
+
##
|
39
|
+
def self.from_h(hash)
|
40
|
+
return nil if hash.nil?
|
41
|
+
|
42
|
+
new(
|
43
|
+
id: hash[:id],
|
44
|
+
name: hash[:name],
|
45
|
+
source_reference: SourceReference.from_h(hash[:sourceReference]),
|
46
|
+
tag_expression: hash[:tagExpression]
|
47
|
+
)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the JavaMethod message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
##
|
10
|
+
class JavaMethod < Message
|
11
|
+
attr_reader :class_name
|
12
|
+
|
13
|
+
attr_reader :method_name
|
14
|
+
|
15
|
+
attr_reader :method_parameter_types
|
16
|
+
|
17
|
+
def initialize(
|
18
|
+
class_name: '',
|
19
|
+
method_name: '',
|
20
|
+
method_parameter_types: []
|
21
|
+
)
|
22
|
+
@class_name = class_name
|
23
|
+
@method_name = method_name
|
24
|
+
@method_parameter_types = method_parameter_types
|
25
|
+
super()
|
26
|
+
end
|
27
|
+
|
28
|
+
##
|
29
|
+
# Returns a new JavaMethod from the given hash.
|
30
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
31
|
+
# corresponding snake_cased attributes.
|
32
|
+
#
|
33
|
+
# Cucumber::Messages::JavaMethod.from_h(some_hash) # => #<Cucumber::Messages::JavaMethod:0x... ...>
|
34
|
+
##
|
35
|
+
def self.from_h(hash)
|
36
|
+
return nil if hash.nil?
|
37
|
+
|
38
|
+
new(
|
39
|
+
class_name: hash[:className],
|
40
|
+
method_name: hash[:methodName],
|
41
|
+
method_parameter_types: hash[:methodParameterTypes]
|
42
|
+
)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the JavaStackTraceElement message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
##
|
10
|
+
class JavaStackTraceElement < Message
|
11
|
+
attr_reader :class_name
|
12
|
+
|
13
|
+
attr_reader :file_name
|
14
|
+
|
15
|
+
attr_reader :method_name
|
16
|
+
|
17
|
+
def initialize(
|
18
|
+
class_name: '',
|
19
|
+
file_name: '',
|
20
|
+
method_name: ''
|
21
|
+
)
|
22
|
+
@class_name = class_name
|
23
|
+
@file_name = file_name
|
24
|
+
@method_name = method_name
|
25
|
+
super()
|
26
|
+
end
|
27
|
+
|
28
|
+
##
|
29
|
+
# Returns a new JavaStackTraceElement from the given hash.
|
30
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
31
|
+
# corresponding snake_cased attributes.
|
32
|
+
#
|
33
|
+
# Cucumber::Messages::JavaStackTraceElement.from_h(some_hash) # => #<Cucumber::Messages::JavaStackTraceElement:0x... ...>
|
34
|
+
##
|
35
|
+
def self.from_h(hash)
|
36
|
+
return nil if hash.nil?
|
37
|
+
|
38
|
+
new(
|
39
|
+
class_name: hash[:className],
|
40
|
+
file_name: hash[:fileName],
|
41
|
+
method_name: hash[:methodName]
|
42
|
+
)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# The code was auto-generated by {this script}[https://github.com/cucumber/messages/blob/main/jsonschema/scripts/codegen.rb]
|
4
|
+
module Cucumber
|
5
|
+
module Messages
|
6
|
+
##
|
7
|
+
# Represents the Location message in Cucumber's {message protocol}[https://github.com/cucumber/messages].
|
8
|
+
##
|
9
|
+
#
|
10
|
+
# *
|
11
|
+
# Points to a line and a column in a text file
|
12
|
+
##
|
13
|
+
class Location < Message
|
14
|
+
attr_reader :line
|
15
|
+
|
16
|
+
attr_reader :column
|
17
|
+
|
18
|
+
def initialize(
|
19
|
+
line: 0,
|
20
|
+
column: nil
|
21
|
+
)
|
22
|
+
@line = line
|
23
|
+
@column = column
|
24
|
+
super()
|
25
|
+
end
|
26
|
+
|
27
|
+
##
|
28
|
+
# Returns a new Location from the given hash.
|
29
|
+
# If the hash keys are camelCased, they are properly assigned to the
|
30
|
+
# corresponding snake_cased attributes.
|
31
|
+
#
|
32
|
+
# Cucumber::Messages::Location.from_h(some_hash) # => #<Cucumber::Messages::Location:0x... ...>
|
33
|
+
##
|
34
|
+
def self.from_h(hash)
|
35
|
+
return nil if hash.nil?
|
36
|
+
|
37
|
+
new(
|
38
|
+
line: hash[:line],
|
39
|
+
column: hash[:column]
|
40
|
+
)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|