cucumber-gherkin 23.0.1 → 26.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/gherkin/ast_builder.rb +1 -0
- data/lib/gherkin/dialect.rb +1 -0
- data/lib/gherkin/gherkin-languages.json +136 -18
- data/lib/gherkin/pickles/compiler.rb +30 -19
- data/lib/gherkin/token.rb +1 -1
- data/lib/gherkin/token_formatter_builder.rb +1 -1
- data/lib/gherkin/token_matcher.rb +29 -4
- data/spec/gherkin/gherkin_spec.rb +3 -3
- metadata +19 -20
- data/LICENSE +0 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: af2b5602cd53419921854a98f765dceb9bb7f7eeff21e916f645d714db6fecda
|
4
|
+
data.tar.gz: 302c22cb981324b42974325f61a0eb3c5ee20dc8eaf2cbd7e90c2f893dc31209
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d07a4dd58a8e9fc773a8361036badbfa7abd550b7bbbd63ccfaf43a8454491236657134371790580de3ef3c2f7acba8d4dfc65c9143e92d44acedd7841e783b
|
7
|
+
data.tar.gz: b107c64e600c1841b4ea275ee70eaac3426fe6e4c435e8da74883f944d0089a212b0646c40a0f2f26fe367e04a6f8027db8d44e3ca0fa4e719f2e645fe50fa40
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Gherkin for Ruby
|
2
2
|
|
3
|
-
Gherkin parser/compiler for Ruby. Please see [Gherkin](https://github.com/cucumber/
|
3
|
+
Gherkin parser/compiler for Ruby. Please see [Gherkin](https://github.com/cucumber/gherkin) for details.
|
4
4
|
|
5
5
|
## To build
|
6
6
|
|
data/lib/gherkin/ast_builder.rb
CHANGED
@@ -116,6 +116,7 @@ module Gherkin
|
|
116
116
|
step = Cucumber::Messages::Step.new(
|
117
117
|
location: get_location(step_line, 0),
|
118
118
|
keyword: step_line.matched_keyword,
|
119
|
+
keyword_type: step_line.matched_keyword_type,
|
119
120
|
text: step_line.matched_text,
|
120
121
|
data_table: data_table,
|
121
122
|
doc_string: doc_string,
|
data/lib/gherkin/dialect.rb
CHANGED
@@ -277,6 +277,55 @@
|
|
277
277
|
"Əgər ",
|
278
278
|
"Nə vaxt ki "
|
279
279
|
]
|
280
|
+
},
|
281
|
+
"be": {
|
282
|
+
"and": [
|
283
|
+
"* ",
|
284
|
+
"I ",
|
285
|
+
"Ды ",
|
286
|
+
"Таксама "
|
287
|
+
],
|
288
|
+
"background": [
|
289
|
+
"Кантэкст"
|
290
|
+
],
|
291
|
+
"but": [
|
292
|
+
"* ",
|
293
|
+
"Але ",
|
294
|
+
"Інакш "
|
295
|
+
],
|
296
|
+
"examples": [
|
297
|
+
"Прыклады"
|
298
|
+
],
|
299
|
+
"feature": [
|
300
|
+
"Функцыянальнасць",
|
301
|
+
"Фіча"
|
302
|
+
],
|
303
|
+
"given": [
|
304
|
+
"* ",
|
305
|
+
"Няхай ",
|
306
|
+
"Дадзена "
|
307
|
+
],
|
308
|
+
"name": "Belarusian",
|
309
|
+
"native": "Беларуская",
|
310
|
+
"rule": [
|
311
|
+
"Правілы"
|
312
|
+
],
|
313
|
+
"scenario": [
|
314
|
+
"Сцэнарый",
|
315
|
+
"Cцэнар"
|
316
|
+
],
|
317
|
+
"scenarioOutline": [
|
318
|
+
"Шаблон сцэнарыя",
|
319
|
+
"Узор сцэнара"
|
320
|
+
],
|
321
|
+
"then": [
|
322
|
+
"* ",
|
323
|
+
"Тады "
|
324
|
+
],
|
325
|
+
"when": [
|
326
|
+
"* ",
|
327
|
+
"Калі "
|
328
|
+
]
|
280
329
|
},
|
281
330
|
"bg": {
|
282
331
|
"and": [
|
@@ -967,9 +1016,12 @@
|
|
967
1016
|
],
|
968
1017
|
"when": [
|
969
1018
|
"* ",
|
970
|
-
"
|
971
|
-
"
|
972
|
-
"
|
1019
|
+
"Bæþsealf ",
|
1020
|
+
"Bæþsealfa ",
|
1021
|
+
"Bæþsealfe ",
|
1022
|
+
"Ciricæw ",
|
1023
|
+
"Ciricæwe ",
|
1024
|
+
"Ciricæwa "
|
973
1025
|
]
|
974
1026
|
},
|
975
1027
|
"en-pirate": {
|
@@ -1882,6 +1934,7 @@
|
|
1882
1934
|
"ja": {
|
1883
1935
|
"and": [
|
1884
1936
|
"* ",
|
1937
|
+
"且つ",
|
1885
1938
|
"かつ"
|
1886
1939
|
],
|
1887
1940
|
"background": [
|
@@ -1889,6 +1942,7 @@
|
|
1889
1942
|
],
|
1890
1943
|
"but": [
|
1891
1944
|
"* ",
|
1945
|
+
"然し",
|
1892
1946
|
"しかし",
|
1893
1947
|
"但し",
|
1894
1948
|
"ただし"
|
@@ -1908,7 +1962,7 @@
|
|
1908
1962
|
"name": "Japanese",
|
1909
1963
|
"native": "日本語",
|
1910
1964
|
"rule": [
|
1911
|
-
"
|
1965
|
+
"ルール"
|
1912
1966
|
],
|
1913
1967
|
"scenario": [
|
1914
1968
|
"シナリオ"
|
@@ -1979,44 +2033,57 @@
|
|
1979
2033
|
"ka": {
|
1980
2034
|
"and": [
|
1981
2035
|
"* ",
|
1982
|
-
"და"
|
2036
|
+
"და ",
|
2037
|
+
"ასევე "
|
1983
2038
|
],
|
1984
2039
|
"background": [
|
1985
2040
|
"კონტექსტი"
|
1986
2041
|
],
|
1987
2042
|
"but": [
|
1988
2043
|
"* ",
|
1989
|
-
"
|
2044
|
+
"მაგრამ ",
|
2045
|
+
"თუმცა "
|
1990
2046
|
],
|
1991
2047
|
"examples": [
|
1992
2048
|
"მაგალითები"
|
1993
2049
|
],
|
1994
2050
|
"feature": [
|
1995
|
-
"თვისება"
|
2051
|
+
"თვისება",
|
2052
|
+
"მოთხოვნა"
|
1996
2053
|
],
|
1997
2054
|
"given": [
|
1998
2055
|
"* ",
|
1999
|
-
"მოცემული"
|
2056
|
+
"მოცემული ",
|
2057
|
+
"მოცემულია ",
|
2058
|
+
"ვთქვათ "
|
2000
2059
|
],
|
2001
2060
|
"name": "Georgian",
|
2002
|
-
"native": "
|
2061
|
+
"native": "ქართული",
|
2003
2062
|
"rule": [
|
2004
|
-
"
|
2063
|
+
"წესი"
|
2005
2064
|
],
|
2006
2065
|
"scenario": [
|
2007
2066
|
"მაგალითად",
|
2008
|
-
"
|
2067
|
+
"მაგალითი",
|
2068
|
+
"მაგ",
|
2069
|
+
"სცენარი"
|
2009
2070
|
],
|
2010
2071
|
"scenarioOutline": [
|
2011
|
-
"სცენარის ნიმუში"
|
2072
|
+
"სცენარის ნიმუში",
|
2073
|
+
"სცენარის შაბლონი",
|
2074
|
+
"ნიმუში",
|
2075
|
+
"შაბლონი"
|
2012
2076
|
],
|
2013
2077
|
"then": [
|
2014
2078
|
"* ",
|
2015
|
-
"მაშინ"
|
2079
|
+
"მაშინ "
|
2016
2080
|
],
|
2017
2081
|
"when": [
|
2018
2082
|
"* ",
|
2019
|
-
"როდესაც"
|
2083
|
+
"როდესაც ",
|
2084
|
+
"როცა ",
|
2085
|
+
"როგორც კი ",
|
2086
|
+
"თუ "
|
2020
2087
|
]
|
2021
2088
|
},
|
2022
2089
|
"kn": {
|
@@ -2395,7 +2462,7 @@
|
|
2395
2462
|
"and": [
|
2396
2463
|
"* ",
|
2397
2464
|
"र ",
|
2398
|
-
"
|
2465
|
+
"अनि "
|
2399
2466
|
],
|
2400
2467
|
"background": [
|
2401
2468
|
"पृष्ठभूमी"
|
@@ -2764,7 +2831,8 @@
|
|
2764
2831
|
"Функция",
|
2765
2832
|
"Функциональность",
|
2766
2833
|
"Функционал",
|
2767
|
-
"Свойство"
|
2834
|
+
"Свойство",
|
2835
|
+
"Фича"
|
2768
2836
|
],
|
2769
2837
|
"given": [
|
2770
2838
|
"* ",
|
@@ -3459,7 +3527,7 @@
|
|
3459
3527
|
],
|
3460
3528
|
"given": [
|
3461
3529
|
"* ",
|
3462
|
-
"
|
3530
|
+
"Belgilangan "
|
3463
3531
|
],
|
3464
3532
|
"name": "Uzbek",
|
3465
3533
|
"native": "Узбекча",
|
@@ -3555,7 +3623,8 @@
|
|
3555
3623
|
"name": "Chinese simplified",
|
3556
3624
|
"native": "简体中文",
|
3557
3625
|
"rule": [
|
3558
|
-
"Rule"
|
3626
|
+
"Rule",
|
3627
|
+
"规则"
|
3559
3628
|
],
|
3560
3629
|
"scenario": [
|
3561
3630
|
"场景",
|
@@ -3668,5 +3737,54 @@
|
|
3668
3737
|
"* ",
|
3669
3738
|
"जेव्हा "
|
3670
3739
|
]
|
3740
|
+
},
|
3741
|
+
"amh": {
|
3742
|
+
"and": [
|
3743
|
+
"* ",
|
3744
|
+
"እና "
|
3745
|
+
],
|
3746
|
+
"background": [
|
3747
|
+
"ቅድመ ሁኔታ",
|
3748
|
+
"መነሻ",
|
3749
|
+
"መነሻ ሀሳብ"
|
3750
|
+
],
|
3751
|
+
"but": [
|
3752
|
+
"* ",
|
3753
|
+
"ግን "
|
3754
|
+
],
|
3755
|
+
"examples": [
|
3756
|
+
"ምሳሌዎች",
|
3757
|
+
"ሁናቴዎች"
|
3758
|
+
],
|
3759
|
+
"feature": [
|
3760
|
+
"ስራ",
|
3761
|
+
"የተፈለገው ስራ",
|
3762
|
+
"የሚፈለገው ድርጊት"
|
3763
|
+
],
|
3764
|
+
"given": [
|
3765
|
+
"* ",
|
3766
|
+
"የተሰጠ "
|
3767
|
+
],
|
3768
|
+
"name": "Amharic",
|
3769
|
+
"native": "አማርኛ",
|
3770
|
+
"rule": [
|
3771
|
+
"ህግ"
|
3772
|
+
],
|
3773
|
+
"scenario": [
|
3774
|
+
"ምሳሌ",
|
3775
|
+
"ሁናቴ"
|
3776
|
+
],
|
3777
|
+
"scenarioOutline": [
|
3778
|
+
"ሁናቴ ዝርዝር",
|
3779
|
+
"ሁናቴ አብነት"
|
3780
|
+
],
|
3781
|
+
"then": [
|
3782
|
+
"* ",
|
3783
|
+
"ከዚያ "
|
3784
|
+
],
|
3785
|
+
"when": [
|
3786
|
+
"* ",
|
3787
|
+
"መቼ "
|
3788
|
+
]
|
3671
3789
|
}
|
3672
3790
|
}
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'cucumber/messages'
|
2
|
+
|
1
3
|
module Gherkin
|
2
4
|
module Pickles
|
3
5
|
class Compiler
|
@@ -56,12 +58,17 @@ module Gherkin
|
|
56
58
|
end
|
57
59
|
|
58
60
|
def compile_scenario(inherited_tags, background_steps, scenario, language, pickles, source)
|
59
|
-
steps = scenario.steps.empty? ? [] : [].concat(pickle_steps(background_steps))
|
60
|
-
|
61
61
|
tags = [].concat(inherited_tags).concat(scenario.tags)
|
62
62
|
|
63
|
-
|
64
|
-
|
63
|
+
last_keyword_type = Cucumber::Messages::PickleStepType::UNKNOWN
|
64
|
+
steps = []
|
65
|
+
unless scenario.steps.empty?
|
66
|
+
[].concat(background_steps).concat(scenario.steps).each do |step|
|
67
|
+
last_keyword_type =
|
68
|
+
step.keyword_type == Cucumber::Messages::StepKeywordType::CONJUNCTION ?
|
69
|
+
last_keyword_type : step.keyword_type
|
70
|
+
steps.push(Cucumber::Messages::PickleStep.new(**pickle_step_props(step, [], nil, last_keyword_type)))
|
71
|
+
end
|
65
72
|
end
|
66
73
|
|
67
74
|
pickle = Cucumber::Messages::Pickle.new(
|
@@ -81,12 +88,25 @@ module Gherkin
|
|
81
88
|
variable_cells = examples.table_header.cells
|
82
89
|
examples.table_body.each do |values_row|
|
83
90
|
value_cells = values_row.cells
|
84
|
-
steps = scenario.steps.empty? ? [] : [].concat(pickle_steps(background_steps))
|
85
91
|
tags = [].concat(inherited_tags).concat(scenario.tags).concat(examples.tags)
|
86
92
|
|
87
|
-
|
88
|
-
|
89
|
-
|
93
|
+
last_keyword_type = nil
|
94
|
+
steps = []
|
95
|
+
unless scenario.steps.empty?
|
96
|
+
background_steps.each do |step|
|
97
|
+
last_keyword_type =
|
98
|
+
step.keyword_type == Cucumber::Messages::StepKeywordType::CONJUNCTION ?
|
99
|
+
last_keyword_type : step.keyword_type
|
100
|
+
step_props = pickle_step_props(step, [], nil, last_keyword_type)
|
101
|
+
steps.push(Cucumber::Messages::PickleStep.new(**step_props))
|
102
|
+
end
|
103
|
+
scenario.steps.each do |step|
|
104
|
+
last_keyword_type =
|
105
|
+
step.keyword_type == Cucumber::Messages::StepKeywordType::CONJUNCTION ?
|
106
|
+
last_keyword_type : step.keyword_type
|
107
|
+
step_props = pickle_step_props(step, variable_cells, values_row, last_keyword_type)
|
108
|
+
steps.push(Cucumber::Messages::PickleStep.new(**step_props))
|
109
|
+
end
|
90
110
|
end
|
91
111
|
|
92
112
|
pickle = Cucumber::Messages::Pickle.new(
|
@@ -115,21 +135,12 @@ module Gherkin
|
|
115
135
|
name
|
116
136
|
end
|
117
137
|
|
118
|
-
def
|
119
|
-
steps.map do |step|
|
120
|
-
pickle_step(step)
|
121
|
-
end
|
122
|
-
end
|
123
|
-
|
124
|
-
def pickle_step(step)
|
125
|
-
Cucumber::Messages::PickleStep.new(**pickle_step_props(step, [], nil))
|
126
|
-
end
|
127
|
-
|
128
|
-
def pickle_step_props(step, variable_cells, values_row)
|
138
|
+
def pickle_step_props(step, variable_cells, values_row, keyword_type)
|
129
139
|
value_cells = values_row ? values_row.cells : []
|
130
140
|
props = {
|
131
141
|
id: @id_generator.new_id,
|
132
142
|
ast_node_ids: [step.id],
|
143
|
+
type: keyword_type,
|
133
144
|
text: interpolate(step.text, variable_cells, value_cells),
|
134
145
|
}
|
135
146
|
if values_row
|
data/lib/gherkin/token.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Gherkin
|
2
2
|
class Token < Struct.new(:line, :location)
|
3
3
|
attr_accessor :matched_type, :matched_text, :matched_keyword, :matched_indent,
|
4
|
-
:matched_items, :matched_gherkin_dialect
|
4
|
+
:matched_items, :matched_gherkin_dialect, :matched_keyword_type
|
5
5
|
|
6
6
|
def eof?
|
7
7
|
line.nil?
|
@@ -30,7 +30,7 @@ module Gherkin
|
|
30
30
|
token.location[:line],
|
31
31
|
token.location[:column],
|
32
32
|
token.matched_type,
|
33
|
-
token.matched_keyword,
|
33
|
+
token.matched_keyword ? sprintf("(%s)%s", token.matched_keyword_type, token.matched_keyword) : "",
|
34
34
|
token.matched_text,
|
35
35
|
Array(token.matched_items).map { |i| "#{i.column}:#{i.text}"}.join(',')
|
36
36
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'cucumber/messages'
|
1
2
|
require_relative 'dialect'
|
2
3
|
require_relative 'errors'
|
3
4
|
|
@@ -20,7 +21,7 @@ module Gherkin
|
|
20
21
|
def match_TagLine(token)
|
21
22
|
return false unless token.line.start_with?('@')
|
22
23
|
|
23
|
-
set_token_matched(token, :TagLine, nil, nil, nil, token.line.tags)
|
24
|
+
set_token_matched(token, :TagLine, nil, nil, nil, nil, token.line.tags)
|
24
25
|
true
|
25
26
|
end
|
26
27
|
|
@@ -48,7 +49,8 @@ module Gherkin
|
|
48
49
|
def match_TableRow(token)
|
49
50
|
return false unless token.line.start_with?('|')
|
50
51
|
# TODO: indent
|
51
|
-
set_token_matched(token, :TableRow, nil, nil, nil,
|
52
|
+
set_token_matched(token, :TableRow, nil, nil, nil, nil,
|
53
|
+
token.line.table_cells)
|
52
54
|
true
|
53
55
|
end
|
54
56
|
|
@@ -128,18 +130,40 @@ module Gherkin
|
|
128
130
|
return false unless keyword
|
129
131
|
|
130
132
|
title = token.line.get_rest_trimmed(keyword.length)
|
131
|
-
|
133
|
+
keyword_types = @keyword_types[keyword]
|
134
|
+
keyword_type = keyword_types[0]
|
135
|
+
if keyword_types.length() > 1
|
136
|
+
keyword_type = Cucumber::Messages::StepKeywordType::UNKNOWN
|
137
|
+
end
|
138
|
+
|
139
|
+
set_token_matched(token,
|
140
|
+
:StepLine, title, keyword, nil, keyword_type)
|
132
141
|
return true
|
133
142
|
end
|
134
143
|
|
135
144
|
private
|
136
145
|
|
146
|
+
def add_keyword_type_mappings(keywords, type)
|
147
|
+
keywords.each do |keyword|
|
148
|
+
if not @keyword_types.has_key?(keyword)
|
149
|
+
@keyword_types[keyword] = []
|
150
|
+
end
|
151
|
+
@keyword_types[keyword] += [type]
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
137
155
|
def change_dialect(dialect_name, location)
|
138
156
|
dialect = Dialect.for(dialect_name)
|
139
157
|
raise NoSuchLanguageException.new(dialect_name, location) if dialect.nil?
|
140
158
|
|
141
159
|
@dialect_name = dialect_name
|
142
160
|
@dialect = dialect
|
161
|
+
@keyword_types = {}
|
162
|
+
add_keyword_type_mappings(@dialect.given_keywords, Cucumber::Messages::StepKeywordType::CONTEXT)
|
163
|
+
add_keyword_type_mappings(@dialect.when_keywords, Cucumber::Messages::StepKeywordType::ACTION)
|
164
|
+
add_keyword_type_mappings(@dialect.then_keywords, Cucumber::Messages::StepKeywordType::OUTCOME)
|
165
|
+
add_keyword_type_mappings(@dialect.and_keywords + @dialect.but_keywords,
|
166
|
+
Cucumber::Messages::StepKeywordType::CONJUNCTION)
|
143
167
|
end
|
144
168
|
|
145
169
|
def match_title_line(token, token_type, keywords)
|
@@ -152,12 +176,13 @@ module Gherkin
|
|
152
176
|
true
|
153
177
|
end
|
154
178
|
|
155
|
-
def set_token_matched(token, matched_type, text = nil, keyword = nil, indent = nil, items = [])
|
179
|
+
def set_token_matched(token, matched_type, text = nil, keyword = nil, indent = nil, keyword_type = nil, items = [])
|
156
180
|
token.matched_type = matched_type
|
157
181
|
token.matched_text = text && text.chomp
|
158
182
|
token.matched_keyword = keyword
|
159
183
|
token.matched_indent = indent || (token.line && token.line.indent) || 0
|
160
184
|
token.matched_items = items
|
185
|
+
token.matched_keyword_type = keyword_type
|
161
186
|
token.location[:column] = token.matched_indent + 1
|
162
187
|
token.matched_gherkin_dialect = @dialect_name
|
163
188
|
end
|
@@ -4,7 +4,7 @@ require 'gherkin'
|
|
4
4
|
describe Gherkin do
|
5
5
|
it "can process feature file paths" do
|
6
6
|
messages = Gherkin.from_paths(
|
7
|
-
["testdata/good/minimal.feature"],
|
7
|
+
["../testdata/good/minimal.feature"],
|
8
8
|
{include_source: true,
|
9
9
|
include_gherkin_document: true,
|
10
10
|
include_pickles: true}
|
@@ -14,7 +14,7 @@ describe Gherkin do
|
|
14
14
|
end
|
15
15
|
|
16
16
|
it "can process feature file content" do
|
17
|
-
data = File.open("testdata/good/minimal.feature", 'r:UTF-8', &:read)
|
17
|
+
data = File.open("../testdata/good/minimal.feature", 'r:UTF-8', &:read)
|
18
18
|
|
19
19
|
messages = Gherkin.from_source(
|
20
20
|
"uri",
|
@@ -28,7 +28,7 @@ describe Gherkin do
|
|
28
28
|
end
|
29
29
|
|
30
30
|
it "can set the default dialect for the feature file content" do
|
31
|
-
data = File.open("testdata/good/i18n_no.feature", 'r:UTF-8', &:read)
|
31
|
+
data = File.open("../testdata/good/i18n_no.feature", 'r:UTF-8', &:read)
|
32
32
|
data_without_language_header = data.split("\n")[1..-1].join("\n")
|
33
33
|
|
34
34
|
messages = Gherkin.from_source(
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cucumber-gherkin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 26.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gáspár Nagy
|
@@ -10,28 +10,28 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2023-04-07 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: cucumber-messages
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- - "~>"
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '18.0'
|
22
19
|
- - ">="
|
23
20
|
- !ruby/object:Gem::Version
|
24
|
-
version:
|
21
|
+
version: 19.1.4
|
22
|
+
- - "<"
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: '22.1'
|
25
25
|
type: :runtime
|
26
26
|
prerelease: false
|
27
27
|
version_requirements: !ruby/object:Gem::Requirement
|
28
28
|
requirements:
|
29
|
-
- - "~>"
|
30
|
-
- !ruby/object:Gem::Version
|
31
|
-
version: '18.0'
|
32
29
|
- - ">="
|
33
30
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
31
|
+
version: 19.1.4
|
32
|
+
- - "<"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '22.1'
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: rake
|
37
37
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,7 +80,6 @@ executables:
|
|
80
80
|
extensions: []
|
81
81
|
extra_rdoc_files: []
|
82
82
|
files:
|
83
|
-
- LICENSE
|
84
83
|
- README.md
|
85
84
|
- bin/gherkin
|
86
85
|
- bin/gherkin-ruby
|
@@ -106,15 +105,15 @@ files:
|
|
106
105
|
- spec/gherkin/parser_spec.rb
|
107
106
|
- spec/gherkin/query_spec.rb
|
108
107
|
- spec/gherkin/stream/parser_message_stream_spec.rb
|
109
|
-
homepage: https://github.com/cucumber/gherkin
|
108
|
+
homepage: https://github.com/cucumber/gherkin
|
110
109
|
licenses:
|
111
110
|
- MIT
|
112
111
|
metadata:
|
113
|
-
bug_tracker_uri: https://github.com/cucumber/
|
114
|
-
changelog_uri: https://github.com/cucumber/
|
112
|
+
bug_tracker_uri: https://github.com/cucumber/gherkin/issues
|
113
|
+
changelog_uri: https://github.com/cucumber/gherkin/blob/main/CHANGELOG.md
|
115
114
|
documentation_uri: https://cucumber.io/docs/gherkin/
|
116
115
|
mailing_list_uri: https://groups.google.com/forum/#!forum/cukes
|
117
|
-
source_code_uri: https://github.com/cucumber/
|
116
|
+
source_code_uri: https://github.com/cucumber/gherkin/blob/main/ruby
|
118
117
|
post_install_message:
|
119
118
|
rdoc_options:
|
120
119
|
- "--charset=UTF-8"
|
@@ -131,15 +130,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
131
130
|
- !ruby/object:Gem::Version
|
132
131
|
version: '0'
|
133
132
|
requirements: []
|
134
|
-
rubygems_version: 3.
|
133
|
+
rubygems_version: 3.2.22
|
135
134
|
signing_key:
|
136
135
|
specification_version: 4
|
137
|
-
summary: cucumber-gherkin-
|
136
|
+
summary: cucumber-gherkin-26.2.0
|
138
137
|
test_files:
|
139
138
|
- spec/capture_warnings.rb
|
140
|
-
- spec/gherkin/gherkin_line_spec.rb
|
141
139
|
- spec/gherkin/dialect_spec.rb
|
140
|
+
- spec/gherkin/gherkin_line_spec.rb
|
141
|
+
- spec/gherkin/gherkin_spec.rb
|
142
142
|
- spec/gherkin/parser_spec.rb
|
143
|
-
- spec/gherkin/stream/parser_message_stream_spec.rb
|
144
143
|
- spec/gherkin/query_spec.rb
|
145
|
-
- spec/gherkin/
|
144
|
+
- spec/gherkin/stream/parser_message_stream_spec.rb
|
data/LICENSE
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
The MIT License (MIT)
|
2
|
-
|
3
|
-
Copyright (c) Cucumber Ltd, Gaspar Nagy, Björn Rasmusson, Peter Sergeant
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
13
|
-
all copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
-
THE SOFTWARE.
|