gherkin 1.0.1-i386-mswin32 → 1.0.2-i386-mswin32

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.
@@ -6,9 +6,9 @@ Feature: Pretty printer
6
6
  Given I have Cucumber's home dir defined in CUCUMBER_HOME
7
7
  When I find all of the .feature files
8
8
  And I parse the prettified representation of each of them
9
- # Of course, we don't really want any errors. The last
10
- # two files that were not identical are written to p1.feature
11
- # and p2.feature. Do a diff -u p1.feature p2.feature
12
- #
9
+ # Of course, we don't really want any errors. The last
10
+ # two files that were not identical are written to p1.feature
11
+ # and p2.feature. Do a diff -u p1.feature p2.feature
12
+ #
13
13
  Then the following files should have errors:
14
14
  | Path | Error |
@@ -1,11 +1,11 @@
1
1
  require 'stringio'
2
2
  require 'gherkin'
3
- require 'gherkin/tools/pretty_printer'
3
+ require 'gherkin/tools/pretty_listener'
4
4
 
5
5
  module PrettyPlease
6
6
  def pretty(source)
7
7
  io = StringIO.new
8
- listener = Gherkin::Tools::PrettyPrinter.new(io)
8
+ listener = Gherkin::Tools::PrettyListener.new(io)
9
9
  parser = Gherkin::Parser.new(listener, true)
10
10
  lexer = Gherkin::I18nLexer.new(parser)
11
11
  lexer.scan(source)
@@ -3,9 +3,9 @@ Feature: Gherkin Steps parser
3
3
  As a Cucumber developer
4
4
  I want a steps parser to make writing compound steps easier
5
5
 
6
- Background:
6
+ Background:
7
7
  Given a "en", "ruby" "steps" parser
8
-
8
+
9
9
  Scenario: Parsing steps
10
10
  Given the following text is parsed:
11
11
  """
@@ -23,7 +23,7 @@ Feature: Gherkin Steps parser
23
23
  | foo | bar | #{arg} |
24
24
  """
25
25
  Then there should be no parse errors
26
-
26
+
27
27
  Scenario: Trying to parse a full feature with the step parser
28
28
  Given the following text is parsed:
29
29
  """
@@ -34,7 +34,7 @@ Feature: Gherkin Steps parser
34
34
  Then something should happen
35
35
  """
36
36
  Then there should be parse errors on lines 1 and 2
37
-
37
+
38
38
  Scenario: Tags
39
39
  Given the following text is parsed:
40
40
  """
@@ -43,4 +43,4 @@ Feature: Gherkin Steps parser
43
43
  When I trip
44
44
  Then I should sign up for dancing lessons
45
45
  """
46
- Then there should be a parse error on line 1
46
+ Then there should be a parse error on line 1
@@ -5,28 +5,29 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{gherkin}
8
- s.version = "1.0.1"
8
+ s.version = "1.0.2"
9
9
  s.platform = %q{i386-mswin32}
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.authors = ["Mike Sassak", "Gregory Hnatiuk", "Aslak Helles\303\270y"]
13
- s.date = %q{2009-12-02}
13
+ s.date = %q{2009-12-30}
14
14
  s.default_executable = %q{gherkin}
15
- s.description = %q{A fast Gherkin lexer in Ragel}
15
+ s.description = %q{A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.}
16
16
  s.email = %q{cukes@googlegroups.com}
17
- s.executables = ["gherkin", "gherkin-purdy"]
17
+ s.executables = ["gherkin"]
18
18
  s.extra_rdoc_files = [
19
19
  "LICENSE",
20
20
  "README.rdoc"
21
21
  ]
22
22
  s.files = [
23
23
  ".gitignore",
24
+ ".mailmap",
25
+ "History.txt",
24
26
  "LICENSE",
25
27
  "README.rdoc",
26
28
  "Rakefile",
27
29
  "VERSION.yml",
28
30
  "bin/gherkin",
29
- "bin/gherkin-purdy",
30
31
  "cucumber.yml",
31
32
  "features/feature_parser.feature",
32
33
  "features/native_lexer.feature",
@@ -51,6 +52,7 @@ Gem::Specification.new do |s|
51
52
  "lib/.gitignore",
52
53
  "lib/gherkin.rb",
53
54
  "lib/gherkin/c_lexer.rb",
55
+ "lib/gherkin/cli/main.rb",
54
56
  "lib/gherkin/core_ext/array.rb",
55
57
  "lib/gherkin/i18n.rb",
56
58
  "lib/gherkin/i18n.yml",
@@ -65,7 +67,12 @@ Gem::Specification.new do |s|
65
67
  "lib/gherkin/rb_lexer/.gitignore",
66
68
  "lib/gherkin/rb_lexer/README.rdoc",
67
69
  "lib/gherkin/rb_parser.rb",
68
- "lib/gherkin/tools/pretty_printer.rb",
70
+ "lib/gherkin/tools.rb",
71
+ "lib/gherkin/tools/files.rb",
72
+ "lib/gherkin/tools/pretty_listener.rb",
73
+ "lib/gherkin/tools/reformat.rb",
74
+ "lib/gherkin/tools/stats.rb",
75
+ "lib/gherkin/tools/stats_listener.rb",
69
76
  "nativegems.sh",
70
77
  "ragel/i18n/.gitignore",
71
78
  "ragel/lexer.c.rl.erb",
@@ -81,6 +88,7 @@ Gem::Specification.new do |s|
81
88
  "spec/gherkin/fixtures/simple.feature",
82
89
  "spec/gherkin/fixtures/simple_with_comments.feature",
83
90
  "spec/gherkin/fixtures/simple_with_tags.feature",
91
+ "spec/gherkin/i18n_lexer_spec.rb",
84
92
  "spec/gherkin/i18n_spec.rb",
85
93
  "spec/gherkin/java_lexer_spec.rb",
86
94
  "spec/gherkin/parser_spec.rb",
@@ -105,9 +113,10 @@ Gem::Specification.new do |s|
105
113
  s.rdoc_options = ["--charset=UTF-8"]
106
114
  s.require_paths = ["lib"]
107
115
  s.rubygems_version = %q{1.3.5}
108
- s.summary = %q{Fast Gherkin lexer}
116
+ s.summary = %q{Fast Gherkin lexer/parser}
109
117
  s.test_files = [
110
118
  "spec/gherkin/c_lexer_spec.rb",
119
+ "spec/gherkin/i18n_lexer_spec.rb",
111
120
  "spec/gherkin/i18n_spec.rb",
112
121
  "spec/gherkin/java_lexer_spec.rb",
113
122
  "spec/gherkin/parser_spec.rb",
@@ -125,18 +134,21 @@ Gem::Specification.new do |s|
125
134
  s.specification_version = 3
126
135
 
127
136
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
128
- s.add_development_dependency(%q<rspec>, ["= 1.2.9"])
129
- s.add_development_dependency(%q<cucumber>, ["= 0.4.4"])
130
- s.add_development_dependency(%q<rake-compiler>, ["= 0.6.0"])
137
+ s.add_runtime_dependency(%q<trollop>, [">= 1.15"])
138
+ s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
139
+ s.add_development_dependency(%q<cucumber>, [">= 0.5.1"])
140
+ s.add_development_dependency(%q<rake-compiler>, [">= 0.7.0"])
131
141
  else
132
- s.add_dependency(%q<rspec>, ["= 1.2.9"])
133
- s.add_dependency(%q<cucumber>, ["= 0.4.4"])
134
- s.add_dependency(%q<rake-compiler>, ["= 0.6.0"])
142
+ s.add_dependency(%q<trollop>, [">= 1.15"])
143
+ s.add_dependency(%q<rspec>, [">= 1.2.9"])
144
+ s.add_dependency(%q<cucumber>, [">= 0.5.1"])
145
+ s.add_dependency(%q<rake-compiler>, [">= 0.7.0"])
135
146
  end
136
147
  else
137
- s.add_dependency(%q<rspec>, ["= 1.2.9"])
138
- s.add_dependency(%q<cucumber>, ["= 0.4.4"])
139
- s.add_dependency(%q<rake-compiler>, ["= 0.6.0"])
148
+ s.add_dependency(%q<trollop>, [">= 1.15"])
149
+ s.add_dependency(%q<rspec>, [">= 1.2.9"])
150
+ s.add_dependency(%q<cucumber>, [">= 0.5.1"])
151
+ s.add_dependency(%q<rake-compiler>, [">= 0.7.0"])
140
152
  end
141
153
  end
142
154
 
@@ -7,7 +7,7 @@ import java.util.List;
7
7
 
8
8
  public class FixJava {
9
9
  public static String join(List<String> strings, String separator) {
10
- StringBuffer sb = new StringBuffer();
10
+ StringBuilder sb = new StringBuilder();
11
11
  int i = 0;
12
12
  for (String s : strings) {
13
13
  if (i != 0) sb.append(separator);
@@ -21,14 +21,14 @@ public class FixJava {
21
21
  Reader machine = new InputStreamReader(FixJava.class.getResourceAsStream(filePath));
22
22
 
23
23
  final char[] buffer = new char[0x10000];
24
- StringBuilder out = new StringBuilder();
24
+ StringBuilder sb = new StringBuilder();
25
25
  int read;
26
26
  do {
27
27
  read = machine.read(buffer, 0, buffer.length);
28
28
  if (read > 0) {
29
- out.append(buffer, 0, read);
29
+ sb.append(buffer, 0, read);
30
30
  }
31
31
  } while (read >= 0);
32
- return out.toString();
32
+ return sb.toString();
33
33
  }
34
34
  }
@@ -0,0 +1,34 @@
1
+ begin
2
+ require 'trollop'
3
+ rescue LoadError
4
+ require 'rubygems'
5
+ require 'trollop'
6
+ end
7
+ require 'gherkin/tools'
8
+
9
+ module Gherkin
10
+ module Cli
11
+ class Main
12
+ def self.run(args)
13
+ Trollop::options(args) do
14
+ banner "Super fast gherkin parser"
15
+ stop_on Tools::SUB_COMMANDS
16
+ end
17
+
18
+ cmd_name = args.shift
19
+ begin
20
+ die("Missing command") if cmd_name.nil?
21
+ Tools.const_get(cmd_name.capitalize.to_sym).new(args).run
22
+ rescue NameError
23
+ die("Unknown command #{cmd_name}")
24
+ rescue => e
25
+ Trollop::die(e.message)
26
+ end
27
+ end
28
+
29
+ def self.die(msg)
30
+ Trollop::die("#{msg}\nusage: gherkin COMMAND [ARGS]\nAvailable commands: #{Tools::SUB_COMMANDS.join(' ')}")
31
+ end
32
+ end
33
+ end
34
+ end
@@ -1,3 +1,5 @@
1
+ require 'yaml'
2
+
1
3
  module Gherkin
2
4
  class I18n
3
5
  KEYWORD_KEYS = %w{name native feature background scenario scenario_outline examples given when then and but}
@@ -18,12 +20,13 @@ module Gherkin
18
20
  end
19
21
  end
20
22
 
23
+ attr_reader :key
24
+
21
25
  def initialize(key)
22
26
  @key = key
23
27
  @keywords = LANGUAGES[key]
24
28
  raise "Language not supported: #{key.inspect}" if @key.nil?
25
29
  @keywords['grammar_name'] = @keywords['name'].gsub(/\s/, '')
26
- @parser = nil
27
30
  end
28
31
 
29
32
  def sanitized_key
@@ -71,6 +74,10 @@ module Gherkin
71
74
  @keywords[key].split('|').map{|kw| space ? keyword_space(kw) : kw}
72
75
  end
73
76
 
77
+ def adverbs
78
+ %w{given when then and but}.map{|keyword| @keywords[keyword].split('|').map{|w| w.gsub(/[\s<']/, '')}}.flatten
79
+ end
80
+
74
81
  private
75
82
 
76
83
  def keyword_space(val)
@@ -14,13 +14,13 @@
14
14
  scenario: Scenario
15
15
  scenario_outline: Scenario Outline
16
16
  examples: Examples|Scenarios
17
- given: *|Given
18
- when: *|When
19
- then: *|Then
20
- and: *|And
21
- but: *|But
17
+ given: "*|Given"
18
+ when: "*|When"
19
+ then: "*|Then"
20
+ and: "*|And"
21
+ but: "*|But"
22
22
 
23
- # Please help us keeping the languages below uptodate. The lexers for a language
23
+ # Please help us keeping the languages below uptodate. The parsers for a language
24
24
  # that is missing a keyword will expect the English word until the missing word(s)
25
25
  # are added.
26
26
  #
@@ -34,11 +34,11 @@
34
34
  scenario: سيناريو
35
35
  scenario_outline: سيناريو مخطط
36
36
  examples: امثلة
37
- given: *|بفرض
38
- when: *|متى|عندما
39
- then: *|اذاً|ثم
40
- and: *|و
41
- but: *|لكن
37
+ given: "*|بفرض"
38
+ when: "*|متى|عندما"
39
+ then: "*|اذاً|ثم"
40
+ and: "*|و"
41
+ but: "*|لكن"
42
42
  "bg":
43
43
  name: Bulgarian
44
44
  native: български
@@ -47,11 +47,11 @@
47
47
  scenario: Сценарий
48
48
  scenario_outline: Рамка на сценарий
49
49
  examples: Примери
50
- given: *|Дадено
51
- when: *|Когато
52
- then: *|То
53
- and: *|И
54
- but: *|Но
50
+ given: "*|Дадено"
51
+ when: "*|Когато"
52
+ then: "*|То"
53
+ and: "*|И"
54
+ but: "*|Но"
55
55
  "cat":
56
56
  name: Catalan
57
57
  native: català
@@ -60,11 +60,11 @@
60
60
  scenario: Escenari
61
61
  scenario_outline: Esquema de l'escenari
62
62
  examples: Exemples
63
- given: *|Donat|Donada
64
- when: *|Quan
65
- then: *|Aleshores
66
- and: *|I
67
- but: *|Però
63
+ given: "*|Donat|Donada"
64
+ when: "*|Quan"
65
+ then: "*|Aleshores"
66
+ and: "*|I"
67
+ but: "*|Però"
68
68
  "cy":
69
69
  name: Welsh
70
70
  native: Cymraeg
@@ -73,11 +73,11 @@
73
73
  scenario: Scenario
74
74
  scenario_outline: Scenario Amlinellol
75
75
  examples: Enghreifftiau
76
- given: *|anrhegedig a
77
- when: *|Pryd
78
- then: *|Yna
79
- and: *|A
80
- but: *|Ond
76
+ given: "*|anrhegedig a"
77
+ when: "*|Pryd"
78
+ then: "*|Yna"
79
+ and: "*|A"
80
+ but: "*|Ond"
81
81
  "cs":
82
82
  name: Czech
83
83
  native: Česky
@@ -86,11 +86,11 @@
86
86
  scenario: Scénář
87
87
  scenario_outline: Náčrt Scénáře|Osnova scénáře
88
88
  examples: Příklady
89
- given: *|Pokud
90
- when: *|Když
91
- then: *|Pak
92
- and: *|A|A také
93
- but: *|Ale
89
+ given: "*|Pokud"
90
+ when: "*|Když"
91
+ then: "*|Pak"
92
+ and: "*|A|A také"
93
+ but: "*|Ale"
94
94
  "da":
95
95
  name: Danish
96
96
  native: dansk
@@ -99,11 +99,11 @@
99
99
  scenario: Scenarie
100
100
  scenario_outline: Abstrakt Scenario
101
101
  examples: Eksempler
102
- given: *|Givet
103
- when: *|Når
104
- then: *|Så
105
- and: *|Og
106
- but: *|Men
102
+ given: "*|Givet"
103
+ when: "*|Når"
104
+ then: "*|Så"
105
+ and: "*|Og"
106
+ but: "*|Men"
107
107
  "de":
108
108
  name: German
109
109
  native: Deutsch
@@ -112,11 +112,11 @@
112
112
  scenario: Szenario
113
113
  scenario_outline: Szenariogrundriss
114
114
  examples: Beispiele
115
- given: *|Gegeben sei
116
- when: *|Wenn
117
- then: *|Dann
118
- and: *|Und
119
- but: *|Aber
115
+ given: "*|Gegeben sei"
116
+ when: "*|Wenn"
117
+ then: "*|Dann"
118
+ and: "*|Und"
119
+ but: "*|Aber"
120
120
  "en-au":
121
121
  name: Australian
122
122
  native: Australian
@@ -125,11 +125,11 @@
125
125
  scenario: Mate
126
126
  scenario_outline: Blokes
127
127
  examples: Cobber
128
- given: *|Ya know how
129
- when: *|When
130
- then: *|Ya gotta
131
- and: *|N
132
- but: *|Cept
128
+ given: "*|Ya know how"
129
+ when: "*|When"
130
+ then: "*|Ya gotta"
131
+ and: "*|N"
132
+ but: "*|Cept"
133
133
  "en-lol":
134
134
  name: LOLCAT
135
135
  native: LOLCAT
@@ -138,11 +138,11 @@
138
138
  scenario: MISHUN
139
139
  scenario_outline: MISHUN SRSLY
140
140
  examples: EXAMPLZ
141
- given: *|I CAN HAZ
142
- when: *|WEN
143
- then: *|DEN
144
- and: *|AN
145
- but: *|BUT
141
+ given: "*|I CAN HAZ"
142
+ when: "*|WEN"
143
+ then: "*|DEN"
144
+ and: "*|AN"
145
+ but: "*|BUT"
146
146
  "en-tx":
147
147
  name: Texan
148
148
  native: Texan
@@ -151,11 +151,11 @@
151
151
  scenario: Scenario
152
152
  scenario_outline: All y'all
153
153
  examples: Examples
154
- given: *|Given y'all
155
- when: *|When y'all
156
- then: *|Then y'all
157
- and: *|And y'all
158
- but: *|But y'all
154
+ given: "*|Given y'all"
155
+ when: "*|When y'all"
156
+ then: "*|Then y'all"
157
+ and: "*|And y'all"
158
+ but: "*|But y'all"
159
159
  "es":
160
160
  name: Spanish
161
161
  native: español
@@ -164,11 +164,11 @@
164
164
  scenario: Escenario
165
165
  scenario_outline: Esquema del escenario
166
166
  examples: Ejemplos
167
- given: *|Dado
168
- when: *|Cuando
169
- then: *|Entonces
170
- and: *|Y
171
- but: *|Pero
167
+ given: "*|Dado"
168
+ when: "*|Cuando"
169
+ then: "*|Entonces"
170
+ and: "*|Y"
171
+ but: "*|Pero"
172
172
  "et":
173
173
  name: Estonian
174
174
  native: eesti keel
@@ -177,11 +177,11 @@
177
177
  scenario: Stsenaarium
178
178
  scenario_outline: Raamstsenaarium
179
179
  examples: Juhtumid
180
- given: *|Eeldades
181
- when: *|Kui
182
- then: *|Siis
183
- and: *|Ja
184
- but: *|Kuid
180
+ given: "*|Eeldades"
181
+ when: "*|Kui"
182
+ then: "*|Siis"
183
+ and: "*|Ja"
184
+ but: "*|Kuid"
185
185
  "fi":
186
186
  name: Finnish
187
187
  native: suomi
@@ -190,11 +190,11 @@
190
190
  scenario: Tapaus
191
191
  scenario_outline: Tapausaihio
192
192
  examples: Tapaukset
193
- given: *|Oletetaan
194
- when: *|Kun
195
- then: *|Niin
196
- and: *|Ja
197
- but: *|Mutta
193
+ given: "*|Oletetaan"
194
+ when: "*|Kun"
195
+ then: "*|Niin"
196
+ and: "*|Ja"
197
+ but: "*|Mutta"
198
198
  "fr":
199
199
  name: French
200
200
  native: français
@@ -203,11 +203,11 @@
203
203
  scenario: Scénario
204
204
  scenario_outline: Plan du scénario|Plan du Scénario
205
205
  examples: Exemples
206
- given: *|Soit|Etant donné
207
- when: *|Quand|Lorsque|Lorsqu'<
208
- then: *|Alors
209
- and: *|Et
210
- but: *|Mais
206
+ given: "*|Soit|Etant donné"
207
+ when: "*|Quand|Lorsque|Lorsqu'<"
208
+ then: "*|Alors"
209
+ and: "*|Et"
210
+ but: "*|Mais"
211
211
  "he":
212
212
  name: Hebrew
213
213
  native: עברית
@@ -216,11 +216,11 @@
216
216
  scenario: תרחיש
217
217
  scenario_outline: תבנית תרחיש
218
218
  examples: דוגמאות
219
- given: *|בהינתן
220
- when: *|כאשר
221
- then: *|אז|אזי
222
- and: *|וגם
223
- but: *|אבל
219
+ given: "*|בהינתן"
220
+ when: "*|כאשר"
221
+ then: "*|אז|אזי"
222
+ and: "*|וגם"
223
+ but: "*|אבל"
224
224
  "hr":
225
225
  name: Croatian
226
226
  native: hrvatski
@@ -229,11 +229,11 @@
229
229
  scenario: Scenarij
230
230
  scenario_outline: Skica|Koncept
231
231
  examples: Primjeri|Scenariji
232
- given: *|Zadan|Zadani|Zadano
233
- when: *|Kada|Kad
234
- then: *|Onda
235
- and: *|I
236
- but: *|Ali
232
+ given: "*|Zadan|Zadani|Zadano"
233
+ when: "*|Kada|Kad"
234
+ then: "*|Onda"
235
+ and: "*|I"
236
+ but: "*|Ali"
237
237
  "hu":
238
238
  name: Hungarian
239
239
  native: magyar
@@ -242,11 +242,11 @@
242
242
  scenario: Forgatókönyv
243
243
  scenario_outline: Forgatókönyv vázlat
244
244
  examples: Példák
245
- given: *|Ha
246
- when: *|Majd
247
- then: *|Akkor
248
- and: *|És
249
- but: *|De
245
+ given: "*|Ha"
246
+ when: "*|Majd"
247
+ then: "*|Akkor"
248
+ and: "*|És"
249
+ but: "*|De"
250
250
  "id":
251
251
  name: Indonesian
252
252
  native: Bahasa Indonesia
@@ -255,11 +255,11 @@
255
255
  scenario: Skenario
256
256
  scenario_outline: Skenario konsep
257
257
  examples: Contoh
258
- given: *|Dengan
259
- when: *|Ketika
260
- then: *|Maka
261
- and: *|Dan
262
- but: *|Tapi
258
+ given: "*|Dengan"
259
+ when: "*|Ketika"
260
+ then: "*|Maka"
261
+ and: "*|Dan"
262
+ but: "*|Tapi"
263
263
  "it":
264
264
  name: Italian
265
265
  native: italiano
@@ -268,11 +268,11 @@
268
268
  scenario: Scenario
269
269
  scenario_outline: Schema dello scenario
270
270
  examples: Esempi
271
- given: *|Dato
272
- when: *|Quando
273
- then: *|Allora
274
- and: *|E
275
- but: *|Ma
271
+ given: "*|Dato"
272
+ when: "*|Quando"
273
+ then: "*|Allora"
274
+ and: "*|E"
275
+ but: "*|Ma"
276
276
  "ja":
277
277
  name: Japanese
278
278
  native: 日本語
@@ -281,11 +281,11 @@
281
281
  scenario: シナリオ
282
282
  scenario_outline: シナリオアウトライン|シナリオテンプレート|テンプレ|シナリオテンプレ
283
283
  examples: 例|サンプル
284
- given: *|前提<
285
- when: *|もし<
286
- then: *|ならば<
287
- and: *|かつ<
288
- but: *|しかし<|但し<|ただし<
284
+ given: "*|前提<"
285
+ when: "*|もし<"
286
+ then: "*|ならば<"
287
+ and: "*|かつ<"
288
+ but: "*|しかし<|但し<|ただし<"
289
289
  "ko":
290
290
  name: Korean
291
291
  native: 한국어
@@ -294,11 +294,11 @@
294
294
  scenario: 시나리오
295
295
  scenario_outline: 시나리오 개요
296
296
  examples: 예
297
- given: *|조건<
298
- when: *|만일<
299
- then: *|그러면<
300
- and: *|그리고<
301
- but: *|하지만<
297
+ given: "*|조건<"
298
+ when: "*|만일<"
299
+ then: "*|그러면<"
300
+ and: "*|그리고<"
301
+ but: "*|하지만<"
302
302
  "lt":
303
303
  name: Lithuanian
304
304
  native: lietuvių kalba
@@ -307,11 +307,11 @@
307
307
  scenario: Scenarijus
308
308
  scenario_outline: Scenarijaus šablonas
309
309
  examples: Pavyzdžiai|Scenarijai|Variantai
310
- given: *|Duota
311
- when: *|Kai
312
- then: *|Tada
313
- and: *|Ir
314
- but: *|Bet
310
+ given: "*|Duota"
311
+ when: "*|Kai"
312
+ then: "*|Tada"
313
+ and: "*|Ir"
314
+ but: "*|Bet"
315
315
  "lv":
316
316
  name: Latvian
317
317
  native: latviešu
@@ -320,11 +320,11 @@
320
320
  scenario: Scenārijs
321
321
  scenario_outline: Scenārijs pēc parauga
322
322
  examples: Piemēri|Paraugs
323
- given: *|Kad
324
- when: *|Ja
325
- then: *|Tad
326
- and: *|Un
327
- but: *|Bet
323
+ given: "*|Kad"
324
+ when: "*|Ja"
325
+ then: "*|Tad"
326
+ and: "*|Un"
327
+ but: "*|Bet"
328
328
  "nl":
329
329
  name: Dutch
330
330
  native: Nederlands
@@ -333,11 +333,11 @@
333
333
  scenario: Scenario
334
334
  scenario_outline: Abstract Scenario
335
335
  examples: Voorbeelden
336
- given: *|Gegeven
337
- when: *|Als
338
- then: *|Dan
339
- and: *|En
340
- but: *|Maar
336
+ given: "*|Gegeven|Stel"
337
+ when: "*|Als"
338
+ then: "*|Dan"
339
+ and: "*|En"
340
+ but: "*|Maar"
341
341
  "no":
342
342
  name: Norwegian
343
343
  native: norsk
@@ -346,11 +346,11 @@
346
346
  scenario: Scenario
347
347
  scenario_outline: Abstrakt Scenario
348
348
  examples: Eksempler
349
- given: *|Gitt
350
- when: *|Når
351
- then: *|Så
352
- and: *|Og
353
- but: *|Men
349
+ given: "*|Gitt"
350
+ when: "*|Når"
351
+ then: "*|Så"
352
+ and: "*|Og"
353
+ but: "*|Men"
354
354
  "pl":
355
355
  name: Polish
356
356
  native: polski
@@ -359,11 +359,11 @@
359
359
  scenario: Scenariusz
360
360
  scenario_outline: Szablon scenariusza
361
361
  examples: Przykłady
362
- given: *|Zakładając
363
- when: *|Jeżeli
364
- then: *|Wtedy
365
- and: *|Oraz
366
- but: *|Ale
362
+ given: "*|Zakładając"
363
+ when: "*|Jeżeli"
364
+ then: "*|Wtedy"
365
+ and: "*|Oraz"
366
+ but: "*|Ale"
367
367
  "pt":
368
368
  name: Portuguese
369
369
  native: português
@@ -372,11 +372,11 @@
372
372
  scenario: Cenário|Cenario
373
373
  scenario_outline: Esquema do Cenário|Esquema do Cenario
374
374
  examples: Exemplos
375
- given: *|Dado
376
- when: *|Quando
377
- then: *|Então|Entao
378
- and: *|E
379
- but: *|Mas
375
+ given: "*|Dado"
376
+ when: "*|Quando"
377
+ then: "*|Então|Entao"
378
+ and: "*|E"
379
+ but: "*|Mas"
380
380
  "ro":
381
381
  name: Romanian
382
382
  native: română
@@ -385,11 +385,11 @@
385
385
  scenario: Scenariu
386
386
  scenario_outline: Scenariul de sablon
387
387
  examples: Exemplele
388
- given: *|Daca
389
- when: *|Cand
390
- then: *|Atunci
391
- and: *|Si
392
- but: *|Dar
388
+ given: "*|Daca"
389
+ when: "*|Cand"
390
+ then: "*|Atunci"
391
+ and: "*|Si"
392
+ but: "*|Dar"
393
393
  "ro2":
394
394
  name: Romanian (diacritical)
395
395
  native: română (diacritical)
@@ -398,11 +398,11 @@
398
398
  scenario: Scenariu
399
399
  scenario_outline: Scenariul de şablon
400
400
  examples: Exemplele
401
- given: *|Dacă
402
- when: *|Când
403
- then: *|Atunci
404
- and: *|Și
405
- but: *|Dar
401
+ given: "*|Dacă"
402
+ when: "*|Când"
403
+ then: "*|Atunci"
404
+ and: "*|Și"
405
+ but: "*|Dar"
406
406
  "ru":
407
407
  name: Russian
408
408
  native: русский
@@ -411,11 +411,11 @@
411
411
  scenario: Сценарий
412
412
  scenario_outline: Структура сценария
413
413
  examples: Значения
414
- given: *|Допустим
415
- when: *|Если
416
- then: *|То
417
- and: *|И|К тому же
418
- but: *|Но|А
414
+ given: "*|Допустим"
415
+ when: "*|Если"
416
+ then: "*|То"
417
+ and: "*|И|К тому же"
418
+ but: "*|Но|А"
419
419
  "se":
420
420
  name: Swedish
421
421
  native: Svenska
@@ -424,11 +424,11 @@
424
424
  scenario: Scenario
425
425
  scenario_outline: Abstrakt Scenario
426
426
  examples: Exempel
427
- given: *|Givet
428
- when: *|När
429
- then: *|Så
430
- and: *|Och
431
- but: *|Men
427
+ given: "*|Givet"
428
+ when: "*|När"
429
+ then: "*|Så"
430
+ and: "*|Och"
431
+ but: "*|Men"
432
432
  "sk":
433
433
  name: Slovak
434
434
  native: Slovensky
@@ -437,11 +437,11 @@
437
437
  scenario: Scenár
438
438
  scenario_outline: Náčrt Scenáru
439
439
  examples: Príklady
440
- given: *|Pokiaľ
441
- when: *|Keď
442
- then: *|Tak
443
- and: *|A
444
- but: *|Ale
440
+ given: "*|Pokiaľ"
441
+ when: "*|Keď"
442
+ then: "*|Tak"
443
+ and: "*|A"
444
+ but: "*|Ale"
445
445
  "sr-Latn":
446
446
  name: Serbian_latin
447
447
  native: Srpski_latinica
@@ -450,11 +450,11 @@
450
450
  scenario: Scenario|Primer
451
451
  scenario_outline: Struktura scenarija|Skica|Koncept
452
452
  examples: Primeri|Scenariji
453
- given: *|Zadato|Zadate|Zatati
454
- when: *|Kada|Kad
455
- then: *|Onda
456
- and: *|I
457
- but: *|Ali
453
+ given: "*|Zadato|Zadate|Zatati"
454
+ when: "*|Kada|Kad"
455
+ then: "*|Onda"
456
+ and: "*|I"
457
+ but: "*|Ali"
458
458
  "sr":
459
459
  name: Serbian
460
460
  native: Српски
@@ -463,11 +463,11 @@
463
463
  scenario: Сценарио|Пример
464
464
  scenario_outline: Структура сценарија|Скица|Концепт
465
465
  examples: Примери|Сценарији
466
- given: *|Задато|Задате|Задати
467
- when: *|Када|Кад
468
- then: *|Онда
469
- and: *|И
470
- but: *|Али
466
+ given: "*|Задато|Задате|Задати"
467
+ when: "*|Када|Кад"
468
+ then: "*|Онда"
469
+ and: "*|И"
470
+ but: "*|Али"
471
471
  "tr":
472
472
  name: Turkish
473
473
  native: Türkçe
@@ -476,11 +476,11 @@
476
476
  scenario: Senaryo
477
477
  scenario_outline: Senaryo taslağı
478
478
  examples: Örnekler
479
- given: *|Diyelim ki
480
- when: *|Eğer ki
481
- then: *|O zaman
482
- and: *|Ve
483
- but: *|Fakat|Ama
479
+ given: "*|Diyelim ki"
480
+ when: "*|Eğer ki"
481
+ then: "*|O zaman"
482
+ and: "*|Ve"
483
+ but: "*|Fakat|Ama"
484
484
  "uz":
485
485
  name: Uzbek
486
486
  native: Узбекча
@@ -489,11 +489,11 @@
489
489
  scenario: Сценарий
490
490
  scenario_outline: Сценарий структураси
491
491
  examples: Мисоллар
492
- given: *|Агар
493
- when: *|Агар
494
- then: *|Унда
495
- and: *|Ва
496
- but: *|Лекин|Бирок|Аммо
492
+ given: "*|Агар"
493
+ when: "*|Агар"
494
+ then: "*|Унда"
495
+ and: "*|Ва"
496
+ but: "*|Лекин|Бирок|Аммо"
497
497
  "vi":
498
498
  name: Vietnamese
499
499
  native: Tiếng Việt
@@ -502,11 +502,11 @@
502
502
  scenario: Tình huống|Kịch bản
503
503
  scenario_outline: Khung tình huống|Khung kịch bản
504
504
  examples: Dữ liệu
505
- given: *|Biết|Cho
506
- when: *|Khi
507
- then: *|Thì
508
- and: *|Và
509
- but: *|Nhưng
505
+ given: "*|Biết|Cho"
506
+ when: "*|Khi"
507
+ then: "*|Thì"
508
+ and: "*|Và"
509
+ but: "*|Nhưng"
510
510
  "zh-CN":
511
511
  name: Chinese simplified
512
512
  native: 简体中文
@@ -515,11 +515,11 @@
515
515
  scenario: 场景
516
516
  scenario_outline: 场景大纲
517
517
  examples: 例子
518
- given: *|假如<
519
- when: *|当<
520
- then: *|那么<
521
- and: *|而且<
522
- but: *|但是<
518
+ given: "*|假如<"
519
+ when: "*|当<"
520
+ then: "*|那么<"
521
+ and: "*|而且<"
522
+ but: "*|但是<"
523
523
  "zh-TW":
524
524
  name: Chinese traditional
525
525
  native: 繁體中文
@@ -528,8 +528,8 @@
528
528
  scenario: 場景|劇本
529
529
  scenario_outline: 場景大綱|劇本大綱
530
530
  examples: 例子
531
- given: *|假設<
532
- when: *|當<
533
- then: *|那麼<
534
- and: *|而且<|並且<
535
- but: *|但是<
531
+ given: "*|假設<"
532
+ when: "*|當<"
533
+ then: "*|那麼<"
534
+ and: "*|而且<|並且<"
535
+ but: "*|但是<"