aslakhellesoy-gherkin 0.0.1
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.
- data/.document +5 -0
- data/.gitignore +8 -0
- data/LICENSE +20 -0
- data/README.rdoc +37 -0
- data/Rakefile +25 -0
- data/VERSION.yml +4 -0
- data/ext/gherkin/extconf.rb +6 -0
- data/gherkin.gemspec +82 -0
- data/lib/gherkin.rb +1 -0
- data/lib/gherkin/i18n.yml +561 -0
- data/lib/gherkin/parser.rb +11 -0
- data/lib/gherkin/parser/.preserve +0 -0
- data/ragel/feature.rb.rl.erb +117 -0
- data/ragel/feature_common.rl.erb +37 -0
- data/ragel/misc.c.rl +4 -0
- data/ragel/misc.rb.rl +52 -0
- data/ragel/table.rb.rl +54 -0
- data/ragel/table_common.rl +12 -0
- data/spec/gherkin/feature_spec.rb +439 -0
- data/spec/gherkin/gherkin_parser/complex.feature +23 -0
- data/spec/gherkin/gherkin_parser/i18n_no.feature +6 -0
- data/spec/gherkin/gherkin_parser/simple.feature +3 -0
- data/spec/gherkin/gherkin_parser/simple_with_comments.feature +7 -0
- data/spec/gherkin/gherkin_parser/simple_with_tags.feature +5 -0
- data/spec/gherkin/i18n_spec.rb +28 -0
- data/spec/gherkin/multiline_step_args_spec.rb +98 -0
- data/spec/gherkin/sexp_recorder.rb +15 -0
- data/spec/gherkin/table_spec.rb +83 -0
- data/spec/gherkin/tags_spec.rb +57 -0
- data/spec/spec_helper.rb +10 -0
- data/tasks/ext.rake +35 -0
- data/tasks/ragel.rake +81 -0
- data/tasks/rdoc.rake +14 -0
- data/tasks/rspec.rake +16 -0
- metadata +102 -0
data/.document
ADDED
data/.gitignore
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2009 Aslak Hellesøy
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
= Gherkin
|
2
|
+
|
3
|
+
Fast Gherkin parser based on Ragel.
|
4
|
+
|
5
|
+
Gherkin is the language that has evolved out of the Cucumber project. Cucumber currently uses
|
6
|
+
Treetop, which is too slow for larger projects.
|
7
|
+
|
8
|
+
This project will *not* include code to build an AST. Instead, this parser will have an API
|
9
|
+
that makes it possible to plug in a builder that can buld an AST.
|
10
|
+
|
11
|
+
== Notes
|
12
|
+
|
13
|
+
Ragel supports Ruby, but it's much slower than C. The ruby target will be used for development.
|
14
|
+
The final version will use C for MRI and Java for JRuby.
|
15
|
+
|
16
|
+
== Ragel links
|
17
|
+
|
18
|
+
* http://www.complang.org/ragel/
|
19
|
+
* http://dev.sipdoc.net/attachments/2/ragel_talk.pdf
|
20
|
+
* http://lambda-the-ultimate.org/node/1125
|
21
|
+
* http://www.zedshaw.com/essays/ragel_state_charts.html
|
22
|
+
* http://www.devchix.com/2008/01/13/a-hello-world-for-ruby-on-ragel-60/
|
23
|
+
|
24
|
+
== Note on Patches/Pull Requests
|
25
|
+
|
26
|
+
* Fork the project.
|
27
|
+
* Make your feature addition or bug fix.
|
28
|
+
* Add tests for it. This is important so I don't break it in a
|
29
|
+
future version unintentionally.
|
30
|
+
* Commit, do not mess with rakefile, version, or history.
|
31
|
+
(if you want to have your own version, that is fine but
|
32
|
+
bump version in a commit by itself I can ignore when I pull)
|
33
|
+
* Send me a pull request. Bonus points for topic branches.
|
34
|
+
|
35
|
+
== Copyright
|
36
|
+
|
37
|
+
Copyright (c) 2009 Aslak Hellesøy. See LICENSE for details.
|
data/Rakefile
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'rubygems'
|
3
|
+
require 'rake'
|
4
|
+
require 'rake/clean'
|
5
|
+
|
6
|
+
begin
|
7
|
+
require 'jeweler'
|
8
|
+
Jeweler::Tasks.new do |gem|
|
9
|
+
gem.name = "gherkin"
|
10
|
+
gem.summary = %Q{Fast Gherkin parser}
|
11
|
+
gem.description = %Q{A fast Gherkin parser in Ragel}
|
12
|
+
gem.email = "aslak.hellesoy@gmail.com"
|
13
|
+
gem.homepage = "http://github.com/aslakhellesoy/gherkin"
|
14
|
+
gem.authors = ["Aslak Hellesøy"]
|
15
|
+
gem.add_development_dependency "rspec"
|
16
|
+
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
17
|
+
end
|
18
|
+
Jeweler::GemcutterTasks.new
|
19
|
+
rescue LoadError
|
20
|
+
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
21
|
+
end
|
22
|
+
|
23
|
+
Dir['tasks/**/*.rake'].each { |rake| load rake }
|
24
|
+
|
25
|
+
task :default => :spec
|
data/VERSION.yml
ADDED
data/gherkin.gemspec
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{gherkin}
|
8
|
+
s.version = "0.0.1"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Aslak Helles\303\270y"]
|
12
|
+
s.date = %q{2009-09-12}
|
13
|
+
s.description = %q{A fast Gherkin parser in Ragel}
|
14
|
+
s.email = %q{aslak.hellesoy@gmail.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE",
|
17
|
+
"README.rdoc"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
".gitignore",
|
22
|
+
"LICENSE",
|
23
|
+
"README.rdoc",
|
24
|
+
"Rakefile",
|
25
|
+
"VERSION.yml",
|
26
|
+
"ext/gherkin/extconf.rb",
|
27
|
+
"gherkin.gemspec",
|
28
|
+
"lib/gherkin.rb",
|
29
|
+
"lib/gherkin/i18n.yml",
|
30
|
+
"lib/gherkin/parser.rb",
|
31
|
+
"lib/gherkin/parser/.preserve",
|
32
|
+
"ragel/feature.rb.rl.erb",
|
33
|
+
"ragel/feature_common.rl.erb",
|
34
|
+
"ragel/misc.c.rl",
|
35
|
+
"ragel/misc.rb.rl",
|
36
|
+
"ragel/table.rb.rl",
|
37
|
+
"ragel/table_common.rl",
|
38
|
+
"spec/gherkin/feature_spec.rb",
|
39
|
+
"spec/gherkin/gherkin_parser/complex.feature",
|
40
|
+
"spec/gherkin/gherkin_parser/i18n_no.feature",
|
41
|
+
"spec/gherkin/gherkin_parser/simple.feature",
|
42
|
+
"spec/gherkin/gherkin_parser/simple_with_comments.feature",
|
43
|
+
"spec/gherkin/gherkin_parser/simple_with_tags.feature",
|
44
|
+
"spec/gherkin/i18n_spec.rb",
|
45
|
+
"spec/gherkin/multiline_step_args_spec.rb",
|
46
|
+
"spec/gherkin/sexp_recorder.rb",
|
47
|
+
"spec/gherkin/table_spec.rb",
|
48
|
+
"spec/gherkin/tags_spec.rb",
|
49
|
+
"spec/spec_helper.rb",
|
50
|
+
"tasks/ext.rake",
|
51
|
+
"tasks/ragel.rake",
|
52
|
+
"tasks/rdoc.rake",
|
53
|
+
"tasks/rspec.rake"
|
54
|
+
]
|
55
|
+
s.homepage = %q{http://github.com/aslakhellesoy/gherkin}
|
56
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
57
|
+
s.require_paths = ["lib"]
|
58
|
+
s.rubygems_version = %q{1.3.4}
|
59
|
+
s.summary = %q{Fast Gherkin parser}
|
60
|
+
s.test_files = [
|
61
|
+
"spec/gherkin/feature_spec.rb",
|
62
|
+
"spec/gherkin/i18n_spec.rb",
|
63
|
+
"spec/gherkin/multiline_step_args_spec.rb",
|
64
|
+
"spec/gherkin/sexp_recorder.rb",
|
65
|
+
"spec/gherkin/table_spec.rb",
|
66
|
+
"spec/gherkin/tags_spec.rb",
|
67
|
+
"spec/spec_helper.rb"
|
68
|
+
]
|
69
|
+
|
70
|
+
if s.respond_to? :specification_version then
|
71
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
72
|
+
s.specification_version = 3
|
73
|
+
|
74
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
75
|
+
s.add_development_dependency(%q<rspec>, [">= 0"])
|
76
|
+
else
|
77
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
78
|
+
end
|
79
|
+
else
|
80
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
81
|
+
end
|
82
|
+
end
|
data/lib/gherkin.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'gherkin/parser'
|
@@ -0,0 +1,561 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
# We use the codes here (prefer 2 letters when possible)
|
3
|
+
# http://en.wikipedia.org/wiki/List_of_ISO_639-2_codes
|
4
|
+
#
|
5
|
+
# If you want several aliases for a keyword, just separate them
|
6
|
+
# with a | character. Make sure there are no ambiguities in the
|
7
|
+
# keywords.
|
8
|
+
#
|
9
|
+
"en":
|
10
|
+
name: English
|
11
|
+
native: English
|
12
|
+
encoding: UTF-8
|
13
|
+
feature: Feature
|
14
|
+
background: Background
|
15
|
+
scenario: Scenario
|
16
|
+
scenario_outline: Scenario Outline
|
17
|
+
examples: Examples|Scenarios
|
18
|
+
given: Given
|
19
|
+
when: When
|
20
|
+
then: Then
|
21
|
+
and: And
|
22
|
+
but: But
|
23
|
+
space_after_keyword: true
|
24
|
+
|
25
|
+
# Please help us keeping the languages below uptodate. The parsers for a language
|
26
|
+
# that is missing a keyword will expect the English word until the missing word(s)
|
27
|
+
# are added.
|
28
|
+
#
|
29
|
+
# Please keep the grammars in alphabetical order by name from here and down.
|
30
|
+
|
31
|
+
"ar":
|
32
|
+
name: Arabic
|
33
|
+
native: العربية
|
34
|
+
encoding: UTF-8
|
35
|
+
feature: خاصية
|
36
|
+
background: الخلفية
|
37
|
+
scenario: سيناريو
|
38
|
+
scenario_outline: سيناريو مخطط
|
39
|
+
examples: امثلة
|
40
|
+
given: بفرض
|
41
|
+
when: متى|عندما
|
42
|
+
then: اذاً|ثم
|
43
|
+
and: و
|
44
|
+
but: لكن
|
45
|
+
space_after_keyword: true
|
46
|
+
"bg":
|
47
|
+
name: Bulgarian
|
48
|
+
native: български
|
49
|
+
encoding: UTF-8
|
50
|
+
feature: Функционалност
|
51
|
+
background: Предистория
|
52
|
+
scenario: Сценарий
|
53
|
+
scenario_outline: Рамка на сценарий
|
54
|
+
examples: Примери
|
55
|
+
given: Дадено
|
56
|
+
when: Когато
|
57
|
+
then: То
|
58
|
+
and: И
|
59
|
+
but: Но
|
60
|
+
space_after_keyword: true
|
61
|
+
"cat":
|
62
|
+
name: Catalan
|
63
|
+
native: català
|
64
|
+
encoding: UTF-8
|
65
|
+
background: Rerefons|Antecedents
|
66
|
+
feature: Característica
|
67
|
+
scenario: Escenari
|
68
|
+
scenario_outline: Esquema de l\'escenari
|
69
|
+
examples: Exemples
|
70
|
+
given: Donat|Donada
|
71
|
+
when: Quan
|
72
|
+
then: Aleshores
|
73
|
+
and: I
|
74
|
+
but: Però
|
75
|
+
space_after_keyword: true
|
76
|
+
"cy":
|
77
|
+
name: Welsh
|
78
|
+
native: Cymraeg
|
79
|
+
encoding: UTF-8
|
80
|
+
feature: Arwedd
|
81
|
+
scenario: Scenario
|
82
|
+
examples: Enghreifftiau
|
83
|
+
given: anrhegedig a
|
84
|
+
when: Pryd
|
85
|
+
then: Yna
|
86
|
+
and: A
|
87
|
+
but: Ond
|
88
|
+
space_after_keyword: true
|
89
|
+
"cz":
|
90
|
+
name: Czech
|
91
|
+
native: Česky
|
92
|
+
encoding: UTF-8
|
93
|
+
feature: Požadavek
|
94
|
+
background: Pozadí|Kontext
|
95
|
+
scenario: Scénář
|
96
|
+
scenario_outline: Náčrt Scénáře|Osnova scénáře
|
97
|
+
examples: Příklady
|
98
|
+
given: Pokud
|
99
|
+
when: Když
|
100
|
+
then: Pak
|
101
|
+
and: A|A také
|
102
|
+
but: Ale
|
103
|
+
space_after_keyword: true
|
104
|
+
"da":
|
105
|
+
name: Danish
|
106
|
+
native: dansk
|
107
|
+
encoding: UTF-8
|
108
|
+
feature: Egenskab
|
109
|
+
background: Baggrund
|
110
|
+
scenario: Scenarie
|
111
|
+
scenario_outline: Abstrakt Scenario
|
112
|
+
examples: Eksempler
|
113
|
+
given: Givet
|
114
|
+
when: Når
|
115
|
+
then: Så
|
116
|
+
and: Og
|
117
|
+
but: Men
|
118
|
+
space_after_keyword: true
|
119
|
+
"de":
|
120
|
+
name: German
|
121
|
+
native: Deutsch
|
122
|
+
encoding: UTF-8
|
123
|
+
feature: Funktionalität
|
124
|
+
background: Grundlage
|
125
|
+
scenario: Szenario
|
126
|
+
scenario_outline: Szenariogrundriss
|
127
|
+
examples: Beispiele
|
128
|
+
given: Gegeben sei
|
129
|
+
when: Wenn
|
130
|
+
then: Dann
|
131
|
+
and: Und
|
132
|
+
but: Aber
|
133
|
+
space_after_keyword: true
|
134
|
+
"en-au":
|
135
|
+
name: Australian
|
136
|
+
native: Australian
|
137
|
+
encoding: UTF-8
|
138
|
+
feature: Crikey
|
139
|
+
background: Background
|
140
|
+
scenario: Mate
|
141
|
+
scenario_outline: Blokes
|
142
|
+
examples: Cobber
|
143
|
+
given: Ya know how
|
144
|
+
when: When
|
145
|
+
then: Ya gotta
|
146
|
+
and: N
|
147
|
+
but: Cept
|
148
|
+
space_after_keyword: true
|
149
|
+
"en-lol":
|
150
|
+
name: LOLCAT
|
151
|
+
native: LOLCAT
|
152
|
+
encoding: UTF-8
|
153
|
+
feature: OH HAI
|
154
|
+
background: B4
|
155
|
+
scenario: MISHUN
|
156
|
+
scenario_outline: MISHUN SRSLY
|
157
|
+
examples: EXAMPLZ
|
158
|
+
given: I CAN HAZ
|
159
|
+
when: WEN
|
160
|
+
then: DEN
|
161
|
+
and: AN
|
162
|
+
but: BUT
|
163
|
+
space_after_keyword: true
|
164
|
+
"en-tx":
|
165
|
+
name: Texan
|
166
|
+
native: Texan
|
167
|
+
encoding: UTF-8
|
168
|
+
feature: Feature
|
169
|
+
background: Background
|
170
|
+
scenario: Scenario
|
171
|
+
scenario_outline: All y\'all
|
172
|
+
examples: Examples
|
173
|
+
given: Given y\'all
|
174
|
+
when: When y\'all
|
175
|
+
then: Then y\'all
|
176
|
+
and: And y\'all
|
177
|
+
but: But y\'all
|
178
|
+
space_after_keyword: true
|
179
|
+
"es":
|
180
|
+
name: Spanish
|
181
|
+
native: español
|
182
|
+
encoding: UTF-8
|
183
|
+
background: Antecedentes
|
184
|
+
feature: Característica
|
185
|
+
scenario: Escenario
|
186
|
+
scenario_outline: Esquema del escenario
|
187
|
+
examples: Ejemplos
|
188
|
+
given: Dado
|
189
|
+
when: Cuando
|
190
|
+
then: Entonces
|
191
|
+
and: Y
|
192
|
+
but: Pero
|
193
|
+
space_after_keyword: true
|
194
|
+
"et":
|
195
|
+
name: Estonian
|
196
|
+
native: eesti keel
|
197
|
+
encoding: UTF-8
|
198
|
+
feature: Omadus
|
199
|
+
background: Taust
|
200
|
+
scenario: Stsenaarium
|
201
|
+
scenario_outline: Raamstsenaarium
|
202
|
+
examples: Juhtumid
|
203
|
+
given: Eeldades
|
204
|
+
when: Kui
|
205
|
+
then: Siis
|
206
|
+
and: Ja
|
207
|
+
but: Kuid
|
208
|
+
space_after_keyword: true
|
209
|
+
"fi":
|
210
|
+
name: Finnish
|
211
|
+
native: suomi
|
212
|
+
encoding: UTF-8
|
213
|
+
feature: Ominaisuus
|
214
|
+
background: Tausta
|
215
|
+
scenario: Tapaus
|
216
|
+
scenario_outline: Tapausaihio
|
217
|
+
examples: Tapaukset
|
218
|
+
given: Oletetaan
|
219
|
+
when: Kun
|
220
|
+
then: Niin
|
221
|
+
and: Ja
|
222
|
+
but: Mutta
|
223
|
+
space_after_keyword: true
|
224
|
+
"fr":
|
225
|
+
name: French
|
226
|
+
native: français
|
227
|
+
encoding: UTF-8
|
228
|
+
feature: Fonctionnalité
|
229
|
+
background: Contexte
|
230
|
+
scenario: Scénario
|
231
|
+
scenario_outline: Plan du Scénario
|
232
|
+
examples: Exemples
|
233
|
+
given: Soit
|
234
|
+
when: Lorsque
|
235
|
+
then: Alors
|
236
|
+
and: Et
|
237
|
+
but: Mais
|
238
|
+
space_after_keyword: true
|
239
|
+
"he":
|
240
|
+
name: Hebrew
|
241
|
+
native: עברית
|
242
|
+
encoding: UTF-8
|
243
|
+
feature: תכונה
|
244
|
+
background: רקע
|
245
|
+
scenario: תרחיש
|
246
|
+
scenario_outline: תבנית תרחיש
|
247
|
+
examples: דוגמאות
|
248
|
+
given: בהינתן
|
249
|
+
when: כאשר
|
250
|
+
then: אז|אזי
|
251
|
+
and: וגם
|
252
|
+
but: אבל
|
253
|
+
space_after_keyword: true
|
254
|
+
"hr":
|
255
|
+
name: Croatian
|
256
|
+
native: hrvatski
|
257
|
+
encoding: UTF-8
|
258
|
+
feature: Osobina|Mogućnost|Mogucnost
|
259
|
+
background: Pozadina
|
260
|
+
scenario: Scenarij
|
261
|
+
scenario_outline: Skica|Koncept
|
262
|
+
examples: Primjeri|Scenariji
|
263
|
+
given: Zadan|Zadani|Zadano
|
264
|
+
when: Kada|Kad
|
265
|
+
then: Onda
|
266
|
+
and: I
|
267
|
+
but: Ali
|
268
|
+
space_after_keyword: true
|
269
|
+
"hu":
|
270
|
+
name: Hungarian
|
271
|
+
native: magyar
|
272
|
+
encoding: UTF-8
|
273
|
+
feature: Jellemző
|
274
|
+
background: Háttér
|
275
|
+
scenario: Forgatókönyv
|
276
|
+
scenario_outline: Forgatókönyv vázlat
|
277
|
+
examples: Példák
|
278
|
+
given: Ha
|
279
|
+
when: Majd
|
280
|
+
then: Akkor
|
281
|
+
and: És
|
282
|
+
but: De
|
283
|
+
space_after_keyword: true
|
284
|
+
"id":
|
285
|
+
name: Indonesian
|
286
|
+
native: Bahasa Indonesia
|
287
|
+
encoding: UTF-8
|
288
|
+
feature: Fitur
|
289
|
+
background: Dasar
|
290
|
+
scenario: Skenario
|
291
|
+
scenario_outline: Skenario konsep
|
292
|
+
examples: Contoh
|
293
|
+
given: Dengan
|
294
|
+
when: Ketika
|
295
|
+
then: Maka
|
296
|
+
and: Dan
|
297
|
+
but: Tapi
|
298
|
+
space_after_keyword: true
|
299
|
+
"it":
|
300
|
+
name: Italian
|
301
|
+
native: italiano
|
302
|
+
encoding: UTF-8
|
303
|
+
feature: Funzionalità
|
304
|
+
background: Contesto
|
305
|
+
scenario: Scenario
|
306
|
+
scenario_outline: Schema dello scenario
|
307
|
+
examples: Esempi
|
308
|
+
given: Dato
|
309
|
+
when: Quando
|
310
|
+
then: Allora
|
311
|
+
and: E
|
312
|
+
but: Ma
|
313
|
+
space_after_keyword: true
|
314
|
+
"ja":
|
315
|
+
name: Japanese
|
316
|
+
native: 日本語
|
317
|
+
encoding: UTF-8
|
318
|
+
feature: フィーチャ|機能
|
319
|
+
background: 背景
|
320
|
+
scenario: シナリオ
|
321
|
+
scenario_outline: シナリオアウトライン|シナリオテンプレート|テンプレ|シナリオテンプレ
|
322
|
+
examples: 例|サンプル
|
323
|
+
given: 前提
|
324
|
+
when: もし
|
325
|
+
then: ならば
|
326
|
+
and: かつ
|
327
|
+
but: しかし|但し
|
328
|
+
space_after_keyword: false
|
329
|
+
"ko":
|
330
|
+
name: Korean
|
331
|
+
native: 한국어
|
332
|
+
encoding: UTF-8
|
333
|
+
background: 배경
|
334
|
+
feature: 기능
|
335
|
+
scenario: 시나리오
|
336
|
+
scenario_outline: 시나리오 개요
|
337
|
+
examples: 예
|
338
|
+
given: 조건
|
339
|
+
when: 만일
|
340
|
+
then: 그러면
|
341
|
+
and: 그리고
|
342
|
+
but: 하지만
|
343
|
+
space_after_keyword: false
|
344
|
+
"lt":
|
345
|
+
name: Lithuanian
|
346
|
+
native: lietuvių kalba
|
347
|
+
encoding: UTF-8
|
348
|
+
feature: Savybė
|
349
|
+
background: Kontekstas
|
350
|
+
scenario: Scenarijus
|
351
|
+
scenario_outline: Scenarijaus šablonas
|
352
|
+
examples: Pavyzdžiai|Scenarijai|Variantai
|
353
|
+
given: Duota
|
354
|
+
when: Kai
|
355
|
+
then: Tada
|
356
|
+
and: Ir
|
357
|
+
but: Bet
|
358
|
+
space_after_keyword: true
|
359
|
+
"lv":
|
360
|
+
name: Latvian
|
361
|
+
native: latviešu
|
362
|
+
encoding: UTF-8
|
363
|
+
feature: Funkcionalitāte|Fīča
|
364
|
+
background: Konteksts|Situācija
|
365
|
+
scenario: Scenārijs
|
366
|
+
scenario_outline: Scenārijs pēc parauga
|
367
|
+
examples: Piemēri|Paraugs
|
368
|
+
given: Kad
|
369
|
+
when: Ja
|
370
|
+
then: Tad
|
371
|
+
and: Un
|
372
|
+
but: Bet
|
373
|
+
space_after_keyword: true
|
374
|
+
"nl":
|
375
|
+
name: Dutch
|
376
|
+
native: Nederlands
|
377
|
+
encoding: UTF-8
|
378
|
+
feature: Functionaliteit
|
379
|
+
background: Achtergrond
|
380
|
+
scenario: Scenario
|
381
|
+
scenario_outline: Abstract Scenario
|
382
|
+
examples: Voorbeelden
|
383
|
+
given: Gegeven
|
384
|
+
when: Als
|
385
|
+
then: Dan
|
386
|
+
and: En
|
387
|
+
but: Maar
|
388
|
+
space_after_keyword: true
|
389
|
+
"no":
|
390
|
+
name: Norwegian
|
391
|
+
native: norsk
|
392
|
+
encoding: UTF-8
|
393
|
+
feature: Egenskap
|
394
|
+
background: Bakgrunn
|
395
|
+
scenario: Scenario
|
396
|
+
scenario_outline: Abstrakt Scenario
|
397
|
+
examples: Eksempler
|
398
|
+
given: Gitt
|
399
|
+
when: Når
|
400
|
+
then: Så
|
401
|
+
and: Og
|
402
|
+
but: Men
|
403
|
+
space_after_keyword: true
|
404
|
+
"pl":
|
405
|
+
name: Polish
|
406
|
+
native: polski
|
407
|
+
encoding: UTF-8
|
408
|
+
feature: Właściwość
|
409
|
+
background: Założenia
|
410
|
+
scenario: Scenariusz
|
411
|
+
scenario_outline: Szablon scenariusza
|
412
|
+
examples: Przykłady
|
413
|
+
given: Zakładając
|
414
|
+
when: Jeżeli
|
415
|
+
then: Wtedy
|
416
|
+
and: Oraz
|
417
|
+
but: Ale
|
418
|
+
space_after_keyword: true
|
419
|
+
"pt":
|
420
|
+
name: Portuguese
|
421
|
+
native: português
|
422
|
+
encoding: UTF-8
|
423
|
+
background: Contexto
|
424
|
+
feature: Funcionalidade
|
425
|
+
scenario: Cenário|Cenario
|
426
|
+
scenario_outline: Esquema do Cenário|Esquema do Cenario
|
427
|
+
examples: Exemplos
|
428
|
+
given: Dado
|
429
|
+
when: Quando
|
430
|
+
then: Então|Entao
|
431
|
+
and: E
|
432
|
+
but: Mas
|
433
|
+
space_after_keyword: true
|
434
|
+
"ro":
|
435
|
+
name: Romanian
|
436
|
+
native: română
|
437
|
+
encoding: UTF-8
|
438
|
+
feature: Functionalitate
|
439
|
+
scenario: Scenariu
|
440
|
+
given: Daca
|
441
|
+
when: Cand
|
442
|
+
then: Atunci
|
443
|
+
and: Si
|
444
|
+
but: Dar
|
445
|
+
space_after_keyword: true
|
446
|
+
"ro2":
|
447
|
+
name: Romanian (diacritical)
|
448
|
+
native: română (diacritical)
|
449
|
+
encoding: UTF-8
|
450
|
+
feature: Funcționalitate
|
451
|
+
scenario: Scenariu
|
452
|
+
given: Dacă
|
453
|
+
when: Când
|
454
|
+
then: Atunci
|
455
|
+
and: Și
|
456
|
+
but: Dar
|
457
|
+
space_after_keyword: true
|
458
|
+
"ru":
|
459
|
+
name: Russian
|
460
|
+
native: русский
|
461
|
+
encoding: UTF-8
|
462
|
+
feature: Функционал
|
463
|
+
background: Предыстория
|
464
|
+
scenario: Сценарий
|
465
|
+
scenario_outline: Структура сценария
|
466
|
+
examples: Значения
|
467
|
+
given: Допустим
|
468
|
+
when: Если
|
469
|
+
then: То
|
470
|
+
and: И|К тому же
|
471
|
+
but: Но|А
|
472
|
+
space_after_keyword: true
|
473
|
+
"se":
|
474
|
+
name: Swedish
|
475
|
+
native: Svenska
|
476
|
+
encoding: UTF-8
|
477
|
+
feature: Egenskap
|
478
|
+
background: Bakgrund
|
479
|
+
scenario: Scenario
|
480
|
+
scenario_outline: Abstrakt Scenario
|
481
|
+
examples: Exempel
|
482
|
+
given: Givet
|
483
|
+
when: När
|
484
|
+
then: Så
|
485
|
+
and: Och
|
486
|
+
but: Men
|
487
|
+
space_after_keyword: true
|
488
|
+
"sk":
|
489
|
+
name: Slovak
|
490
|
+
native: Slovensky
|
491
|
+
encoding: UTF-8
|
492
|
+
feature: Požiadavka
|
493
|
+
background: Pozadie
|
494
|
+
scenario: Scenár
|
495
|
+
scenario_outline: Náčrt Scenáru
|
496
|
+
examples: Príklady
|
497
|
+
given: Pokiaľ
|
498
|
+
when: Keď
|
499
|
+
then: Tak
|
500
|
+
and: A
|
501
|
+
but: Ale
|
502
|
+
space_after_keyword: true
|
503
|
+
"uz":
|
504
|
+
name: Uzbek
|
505
|
+
native: Узбекча
|
506
|
+
encoding: UTF-8
|
507
|
+
feature: Функционал
|
508
|
+
background: Тарих
|
509
|
+
scenario: Сценарий
|
510
|
+
scenario_outline: Сценарий структураси
|
511
|
+
examples: Мисоллар
|
512
|
+
given: Агар
|
513
|
+
when: Агар
|
514
|
+
then: Унда
|
515
|
+
and: Ва
|
516
|
+
but: Лекин|Бирок|Аммо
|
517
|
+
"vi":
|
518
|
+
name: Vietnamese
|
519
|
+
native: Tiếng Việt
|
520
|
+
encoding: UTF-8
|
521
|
+
feature: Tính năng
|
522
|
+
background: Bối cảnh
|
523
|
+
scenario: Tình huống|Kịch bản
|
524
|
+
scenario_outline: Khung tình huống|Khung kịch bản
|
525
|
+
examples: Dữ liệu
|
526
|
+
given: Biết|Cho
|
527
|
+
when: Khi
|
528
|
+
then: Thì
|
529
|
+
and: Và
|
530
|
+
but: Nhưng
|
531
|
+
space_after_keyword: true
|
532
|
+
"zh-CN":
|
533
|
+
name: Chinese simplified
|
534
|
+
native: 简体中文
|
535
|
+
encoding: UTF-8
|
536
|
+
feature: 功能
|
537
|
+
background: 背景
|
538
|
+
scenario: 场景
|
539
|
+
scenario_outline: 场景大纲
|
540
|
+
examples: 例子
|
541
|
+
given: 假如
|
542
|
+
when: 当
|
543
|
+
then: 那么
|
544
|
+
and: 而且
|
545
|
+
but: 但是
|
546
|
+
space_after_keyword: false
|
547
|
+
"zh-TW":
|
548
|
+
name: Chinese traditional
|
549
|
+
native: 繁體中文
|
550
|
+
encoding: UTF-8
|
551
|
+
feature: 功能
|
552
|
+
background: 背景
|
553
|
+
scenario: 場景|劇本
|
554
|
+
scenario_outline: 場景大綱|劇本大綱
|
555
|
+
examples: 例子
|
556
|
+
given: 假設
|
557
|
+
when: 當
|
558
|
+
then: 那麼
|
559
|
+
and: 而且|並且
|
560
|
+
but: 但是
|
561
|
+
space_after_keyword: false
|