gherkin 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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,15 +5,15 @@
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
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Mike Sassak", "Gregory Hnatiuk", "Aslak Helles\303\270y"]
12
- s.date = %q{2009-12-02}
12
+ s.date = %q{2009-12-30}
13
13
  s.default_executable = %q{gherkin}
14
- s.description = %q{A fast Gherkin lexer in Ragel}
14
+ s.description = %q{A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.}
15
15
  s.email = %q{cukes@googlegroups.com}
16
- s.executables = ["gherkin", "gherkin-purdy"]
16
+ s.executables = ["gherkin"]
17
17
  s.extensions = ["ext/gherkin_lexer_ar/extconf.rb", "ext/gherkin_lexer_bg/extconf.rb", "ext/gherkin_lexer_cat/extconf.rb", "ext/gherkin_lexer_cs/extconf.rb", "ext/gherkin_lexer_cy/extconf.rb", "ext/gherkin_lexer_da/extconf.rb", "ext/gherkin_lexer_de/extconf.rb", "ext/gherkin_lexer_en/extconf.rb", "ext/gherkin_lexer_enau/extconf.rb", "ext/gherkin_lexer_enlol/extconf.rb", "ext/gherkin_lexer_entx/extconf.rb", "ext/gherkin_lexer_es/extconf.rb", "ext/gherkin_lexer_et/extconf.rb", "ext/gherkin_lexer_fi/extconf.rb", "ext/gherkin_lexer_fr/extconf.rb", "ext/gherkin_lexer_he/extconf.rb", "ext/gherkin_lexer_hr/extconf.rb", "ext/gherkin_lexer_hu/extconf.rb", "ext/gherkin_lexer_id/extconf.rb", "ext/gherkin_lexer_it/extconf.rb", "ext/gherkin_lexer_ja/extconf.rb", "ext/gherkin_lexer_ko/extconf.rb", "ext/gherkin_lexer_lt/extconf.rb", "ext/gherkin_lexer_lv/extconf.rb", "ext/gherkin_lexer_nl/extconf.rb", "ext/gherkin_lexer_no/extconf.rb", "ext/gherkin_lexer_pl/extconf.rb", "ext/gherkin_lexer_pt/extconf.rb", "ext/gherkin_lexer_ro/extconf.rb", "ext/gherkin_lexer_ro2/extconf.rb", "ext/gherkin_lexer_ru/extconf.rb", "ext/gherkin_lexer_se/extconf.rb", "ext/gherkin_lexer_sk/extconf.rb", "ext/gherkin_lexer_sr/extconf.rb", "ext/gherkin_lexer_srLatn/extconf.rb", "ext/gherkin_lexer_tr/extconf.rb", "ext/gherkin_lexer_uz/extconf.rb", "ext/gherkin_lexer_vi/extconf.rb", "ext/gherkin_lexer_zhCN/extconf.rb", "ext/gherkin_lexer_zhTW/extconf.rb"]
18
18
  s.extra_rdoc_files = [
19
19
  "LICENSE",
@@ -21,12 +21,13 @@ Gem::Specification.new do |s|
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
  "ext/gherkin_lexer_ar/gherkin_lexer_ar.c",
32
33
  "ext/gherkin_lexer_bg/gherkin_lexer_bg.c",
@@ -91,6 +92,7 @@ Gem::Specification.new do |s|
91
92
  "lib/.gitignore",
92
93
  "lib/gherkin.rb",
93
94
  "lib/gherkin/c_lexer.rb",
95
+ "lib/gherkin/cli/main.rb",
94
96
  "lib/gherkin/core_ext/array.rb",
95
97
  "lib/gherkin/i18n.rb",
96
98
  "lib/gherkin/i18n.yml",
@@ -145,7 +147,12 @@ Gem::Specification.new do |s|
145
147
  "lib/gherkin/rb_lexer/zhCN.rb",
146
148
  "lib/gherkin/rb_lexer/zhTW.rb",
147
149
  "lib/gherkin/rb_parser.rb",
148
- "lib/gherkin/tools/pretty_printer.rb",
150
+ "lib/gherkin/tools.rb",
151
+ "lib/gherkin/tools/files.rb",
152
+ "lib/gherkin/tools/pretty_listener.rb",
153
+ "lib/gherkin/tools/reformat.rb",
154
+ "lib/gherkin/tools/stats.rb",
155
+ "lib/gherkin/tools/stats_listener.rb",
149
156
  "nativegems.sh",
150
157
  "ragel/i18n/.gitignore",
151
158
  "ragel/lexer.c.rl.erb",
@@ -161,6 +168,7 @@ Gem::Specification.new do |s|
161
168
  "spec/gherkin/fixtures/simple.feature",
162
169
  "spec/gherkin/fixtures/simple_with_comments.feature",
163
170
  "spec/gherkin/fixtures/simple_with_tags.feature",
171
+ "spec/gherkin/i18n_lexer_spec.rb",
164
172
  "spec/gherkin/i18n_spec.rb",
165
173
  "spec/gherkin/java_lexer_spec.rb",
166
174
  "spec/gherkin/parser_spec.rb",
@@ -185,9 +193,10 @@ Gem::Specification.new do |s|
185
193
  s.rdoc_options = ["--charset=UTF-8"]
186
194
  s.require_paths = ["lib"]
187
195
  s.rubygems_version = %q{1.3.5}
188
- s.summary = %q{Fast Gherkin lexer}
196
+ s.summary = %q{Fast Gherkin lexer/parser}
189
197
  s.test_files = [
190
198
  "spec/gherkin/c_lexer_spec.rb",
199
+ "spec/gherkin/i18n_lexer_spec.rb",
191
200
  "spec/gherkin/i18n_spec.rb",
192
201
  "spec/gherkin/java_lexer_spec.rb",
193
202
  "spec/gherkin/parser_spec.rb",
@@ -205,18 +214,21 @@ Gem::Specification.new do |s|
205
214
  s.specification_version = 3
206
215
 
207
216
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
208
- s.add_development_dependency(%q<rspec>, ["= 1.2.9"])
209
- s.add_development_dependency(%q<cucumber>, ["= 0.4.4"])
210
- s.add_development_dependency(%q<rake-compiler>, ["= 0.6.0"])
217
+ s.add_runtime_dependency(%q<trollop>, [">= 1.15"])
218
+ s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
219
+ s.add_development_dependency(%q<cucumber>, [">= 0.5.1"])
220
+ s.add_development_dependency(%q<rake-compiler>, [">= 0.7.0"])
211
221
  else
212
- s.add_dependency(%q<rspec>, ["= 1.2.9"])
213
- s.add_dependency(%q<cucumber>, ["= 0.4.4"])
214
- s.add_dependency(%q<rake-compiler>, ["= 0.6.0"])
222
+ s.add_dependency(%q<trollop>, [">= 1.15"])
223
+ s.add_dependency(%q<rspec>, [">= 1.2.9"])
224
+ s.add_dependency(%q<cucumber>, [">= 0.5.1"])
225
+ s.add_dependency(%q<rake-compiler>, [">= 0.7.0"])
215
226
  end
216
227
  else
217
- s.add_dependency(%q<rspec>, ["= 1.2.9"])
218
- s.add_dependency(%q<cucumber>, ["= 0.4.4"])
219
- s.add_dependency(%q<rake-compiler>, ["= 0.6.0"])
228
+ s.add_dependency(%q<trollop>, [">= 1.15"])
229
+ s.add_dependency(%q<rspec>, [">= 1.2.9"])
230
+ s.add_dependency(%q<cucumber>, [">= 0.5.1"])
231
+ s.add_dependency(%q<rake-compiler>, [">= 0.7.0"])
220
232
  end
221
233
  end
222
234
 
@@ -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: "*|但是<"