cucumber 0.6.4 → 0.7.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. data/History.txt +11 -0
  2. data/Rakefile +3 -5
  3. data/VERSION.yml +3 -3
  4. data/cucumber.gemspec +35 -55
  5. data/cucumber.yml +3 -2
  6. data/examples/i18n/Rakefile +1 -0
  7. data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +1 -1
  8. data/examples/i18n/eo/.gitignore +1 -0
  9. data/examples/i18n/eo/Rakefile +6 -0
  10. data/examples/i18n/eo/features/adicio.feature +17 -0
  11. data/examples/i18n/eo/features/divido.feature +10 -0
  12. data/examples/i18n/eo/features/step_definitons/calculator_steps.rb +24 -0
  13. data/examples/i18n/eo/lib/calculator.rb +14 -0
  14. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +1 -1
  15. data/examples/i18n/ru/features/division.feature +1 -1
  16. data/examples/i18n/uk/Rakefile +6 -0
  17. data/examples/i18n/uk/features/addition.feature +11 -0
  18. data/examples/i18n/uk/features/consecutive_calculations.feature +17 -0
  19. data/examples/i18n/uk/features/division.feature +16 -0
  20. data/examples/i18n/uk/features/step_definitons/calculator_steps.rb +19 -0
  21. data/examples/i18n/uk/features/support/env.rb +5 -0
  22. data/examples/i18n/uk/features/support/world.rb +8 -0
  23. data/examples/i18n/uk/lib/calculator.rb +24 -0
  24. data/examples/i18n/uz/features/step_definitons/calculator_steps.rb +1 -1
  25. data/examples/sinatra/features/add.feature +1 -1
  26. data/examples/sinatra/features/step_definitions/add_steps.rb +1 -1
  27. data/examples/sinatra/features/support/env.rb +2 -19
  28. data/examples/sinatra/views/add.erb +7 -5
  29. data/features/announce.feature +46 -39
  30. data/features/background.feature +3 -0
  31. data/features/call_many_steps.feature +1 -1
  32. data/features/cucumber_cli_outlines.feature +12 -0
  33. data/features/drb_server_integration.feature +1 -1
  34. data/features/exception_in_after_block.feature +3 -0
  35. data/features/exception_in_after_step_block.feature +3 -0
  36. data/features/html_formatter/a.html +29 -29
  37. data/features/language_help.feature +57 -52
  38. data/features/multiline_names.feature +1 -0
  39. data/features/step_definitions/cucumber_steps.rb +2 -1
  40. data/features/usage_and_stepdefs_formatter.feature +30 -30
  41. data/features/wire_protocol.feature +12 -9
  42. data/features/wire_protocol_table_diffing.feature +8 -6
  43. data/features/wire_protocol_timeouts.feature +5 -4
  44. data/gem_tasks/treetop.rake +13 -0
  45. data/lib/autotest/cucumber_mixin.rb +1 -1
  46. data/lib/cucumber/ast.rb +1 -0
  47. data/lib/cucumber/ast/background.rb +14 -4
  48. data/lib/cucumber/ast/examples.rb +2 -0
  49. data/lib/cucumber/ast/feature.rb +26 -5
  50. data/lib/cucumber/ast/feature_element.rb +18 -9
  51. data/lib/cucumber/ast/outline_table.rb +13 -1
  52. data/lib/cucumber/ast/py_string.rb +26 -9
  53. data/lib/cucumber/ast/scenario.rb +13 -7
  54. data/lib/cucumber/ast/scenario_outline.rb +18 -6
  55. data/lib/cucumber/ast/step.rb +4 -4
  56. data/lib/cucumber/ast/step_invocation.rb +5 -2
  57. data/lib/cucumber/ast/table.rb +26 -1
  58. data/lib/cucumber/ast/tags.rb +3 -1
  59. data/lib/cucumber/ast/tree_walker.rb +2 -18
  60. data/lib/cucumber/cli/configuration.rb +2 -2
  61. data/lib/cucumber/cli/options.rb +16 -21
  62. data/lib/cucumber/feature_file.rb +25 -7
  63. data/lib/cucumber/formatter/ansicolor.rb +6 -1
  64. data/lib/cucumber/formatter/console.rb +4 -3
  65. data/lib/cucumber/formatter/html.rb +8 -5
  66. data/lib/cucumber/formatter/junit.rb +5 -4
  67. data/lib/cucumber/formatter/pdf.rb +2 -3
  68. data/lib/cucumber/formatter/pretty.rb +5 -5
  69. data/lib/cucumber/formatter/usage.rb +2 -2
  70. data/lib/cucumber/parser.rb +0 -6
  71. data/lib/cucumber/parser/gherkin_builder.rb +142 -0
  72. data/lib/cucumber/platform.rb +0 -2
  73. data/lib/cucumber/rb_support/rb_language.rb +7 -12
  74. data/lib/cucumber/step_mother.rb +4 -26
  75. data/spec/cucumber/ast/background_spec.rb +0 -1
  76. data/spec/cucumber/ast/feature_factory.rb +2 -4
  77. data/spec/cucumber/ast/feature_spec.rb +0 -2
  78. data/spec/cucumber/ast/py_string_spec.rb +2 -13
  79. data/spec/cucumber/ast/scenario_outline_spec.rb +0 -1
  80. data/spec/cucumber/ast/scenario_spec.rb +0 -1
  81. data/spec/cucumber/ast/step_spec.rb +1 -1
  82. data/spec/cucumber/ast/table_spec.rb +2 -2
  83. data/spec/cucumber/cli/main_spec.rb +1 -1
  84. data/spec/cucumber/cli/options_spec.rb +2 -2
  85. data/spec/cucumber/formatter/html_spec.rb +20 -1
  86. data/spec/cucumber/formatter/junit_spec.rb +1 -0
  87. data/spec/cucumber/formatter/spec_helper.rb +7 -5
  88. data/spec/cucumber/rb_support/rb_step_definition_spec.rb +0 -1
  89. data/spec/cucumber/step_mother_spec.rb +2 -2
  90. data/spec/spec_helper.rb +0 -1
  91. metadata +67 -93
  92. data/lib/cucumber/cli/language_help_formatter.rb +0 -72
  93. data/lib/cucumber/filter.rb +0 -43
  94. data/lib/cucumber/languages.yml +0 -536
  95. data/lib/cucumber/parser/common.rb +0 -182
  96. data/lib/cucumber/parser/common.tt +0 -21
  97. data/lib/cucumber/parser/feature.rb +0 -1591
  98. data/lib/cucumber/parser/feature.tt +0 -287
  99. data/lib/cucumber/parser/i18n.tt +0 -35
  100. data/lib/cucumber/parser/natural_language.rb +0 -118
  101. data/lib/cucumber/parser/py_string.rb +0 -285
  102. data/lib/cucumber/parser/py_string.tt +0 -45
  103. data/lib/cucumber/parser/table.rb +0 -314
  104. data/lib/cucumber/parser/table.tt +0 -60
  105. data/lib/cucumber/parser/treetop_ext.rb +0 -54
  106. data/lib/cucumber/tag_expression.rb +0 -41
  107. data/spec/cucumber/ast/feature_element_spec.rb +0 -41
  108. data/spec/cucumber/ast/step_collection_spec.rb +0 -17
  109. data/spec/cucumber/parser/feature_parser_spec.rb +0 -400
  110. data/spec/cucumber/parser/table_parser_spec.rb +0 -52
  111. data/spec/cucumber/tag_expression_spec.rb +0 -125
  112. data/spec/cucumber/treetop_parser/empty_feature.feature +0 -4
  113. data/spec/cucumber/treetop_parser/empty_scenario.feature +0 -9
  114. data/spec/cucumber/treetop_parser/empty_scenario_outline.feature +0 -3
  115. data/spec/cucumber/treetop_parser/fit_scenario.feature +0 -8
  116. data/spec/cucumber/treetop_parser/given_scenario.feature +0 -9
  117. data/spec/cucumber/treetop_parser/invalid_scenario_outlines.feature +0 -7
  118. data/spec/cucumber/treetop_parser/multiline_steps.feature +0 -17
  119. data/spec/cucumber/treetop_parser/multiple_tables.feature +0 -27
  120. data/spec/cucumber/treetop_parser/scenario_outline.feature +0 -16
  121. data/spec/cucumber/treetop_parser/spaces.feature +0 -12
  122. data/spec/cucumber/treetop_parser/test_dos.feature +0 -25
  123. data/spec/cucumber/treetop_parser/with_comments.feature +0 -23
  124. data/spec/cucumber/treetop_parser/with_tags.feature +0 -18
@@ -1,43 +0,0 @@
1
- require 'cucumber/tag_expression'
2
-
3
- module Cucumber
4
- # Filters the AST based on --tags and --name
5
- class Filter #:nodoc:
6
- def initialize(lines, options)
7
- @lines = lines
8
- @tag_expression = options[:tag_expression] || TagExpression.new
9
- @name_regexps = options[:name_regexps] || []
10
- end
11
-
12
- def accept?(syntax_node)
13
- at_line?(syntax_node) &&
14
- matches_tags?(syntax_node) &&
15
- matches_names?(syntax_node)
16
- end
17
-
18
- def accept_example?(syntax_node, outline)
19
- (at_line?(syntax_node) || outline_at_line?(outline)) &&
20
- (matches_names?(syntax_node) || outline_matches_names?(outline))
21
- end
22
-
23
- def at_line?(syntax_node)
24
- @lines.nil? || @lines.empty? || @lines.detect{|line| syntax_node.at_line?(line)}
25
- end
26
-
27
- def outline_at_line?(syntax_node)
28
- @lines.nil? || @lines.empty? || @lines.detect{|line| syntax_node.outline_at_line?(line)}
29
- end
30
-
31
- def matches_tags?(syntax_node)
32
- syntax_node.matches_tags?(@tag_expression)
33
- end
34
-
35
- def outline_matches_names?(syntax_node)
36
- @name_regexps.nil? || @name_regexps.empty? || @name_regexps.detect{|name_regexp| syntax_node.outline_matches_name?(name_regexp)}
37
- end
38
-
39
- def matches_names?(syntax_node)
40
- @name_regexps.nil? || @name_regexps.empty? || @name_regexps.detect{|name_regexp| syntax_node.matches_name?(name_regexp)}
41
- end
42
- end
43
- end
@@ -1,536 +0,0 @@
1
- # encoding: UTF-8
2
- #
3
- # We use ISO 639-1 (language) and ISO 3166 alpha-2 (region - if appliccable):
4
- # http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
5
- # http://en.wikipedia.org/wiki/ISO_3166-1
6
- #
7
- # If you want several aliases for a keyword, just separate them
8
- # with a | character. Make sure there are no ambiguities in the
9
- # keywords.
10
- #
11
- # If you do *not* want a trailing space after a keyword, end it with a < character.
12
- # (See Chinese for examples).
13
- #
14
- "en":
15
- name: English
16
- native: English
17
- feature: Feature
18
- background: Background
19
- scenario: Scenario
20
- scenario_outline: Scenario Outline
21
- examples: Examples|Scenarios
22
- given: "*|Given"
23
- when: "*|When"
24
- then: "*|Then"
25
- and: "*|And"
26
- but: "*|But"
27
-
28
- # Please keep the grammars in alphabetical order by name from here and down.
29
-
30
- "ar":
31
- name: Arabic
32
- native: العربية
33
- feature: خاصية
34
- background: الخلفية
35
- scenario: سيناريو
36
- scenario_outline: سيناريو مخطط
37
- examples: امثلة
38
- given: "*|بفرض"
39
- when: "*|متى|عندما"
40
- then: "*|اذاً|ثم"
41
- and: "*|و"
42
- but: "*|لكن"
43
- "bg":
44
- name: Bulgarian
45
- native: български
46
- feature: Функционалност
47
- background: Предистория
48
- scenario: Сценарий
49
- scenario_outline: Рамка на сценарий
50
- examples: Примери
51
- given: "*|Дадено"
52
- when: "*|Когато"
53
- then: "*|То"
54
- and: "*|И"
55
- but: "*|Но"
56
- "ca":
57
- name: Catalan
58
- native: català
59
- background: Rerefons|Antecedents
60
- feature: Característica|Funcionalitat
61
- scenario: Escenari
62
- scenario_outline: Esquema de l'escenari
63
- examples: Exemples
64
- given: "*|Donat|Donada|Atès|Atesa"
65
- when: "*|Quan"
66
- then: "*|Aleshores|Cal"
67
- and: "*|I"
68
- but: "*|Però"
69
- "cy-GB":
70
- name: Welsh
71
- native: Cymraeg
72
- background: Cefndir
73
- feature: Arwedd
74
- scenario: Scenario
75
- scenario_outline: Scenario Amlinellol
76
- examples: Enghreifftiau
77
- given: "*|anrhegedig a"
78
- when: "*|Pryd"
79
- then: "*|Yna"
80
- and: "*|A"
81
- but: "*|Ond"
82
- "cs":
83
- name: Czech
84
- native: Česky
85
- feature: Požadavek
86
- background: Pozadí|Kontext
87
- scenario: Scénář
88
- scenario_outline: Náčrt Scénáře|Osnova scénáře
89
- examples: Příklady
90
- given: "*|Pokud"
91
- when: "*|Když"
92
- then: "*|Pak"
93
- and: "*|A|A také"
94
- but: "*|Ale"
95
- "da":
96
- name: Danish
97
- native: dansk
98
- feature: Egenskab
99
- background: Baggrund
100
- scenario: Scenarie
101
- scenario_outline: Abstrakt Scenario
102
- examples: Eksempler
103
- given: "*|Givet"
104
- when: "*|Når"
105
- then: "*|Så"
106
- and: "*|Og"
107
- but: "*|Men"
108
- "de":
109
- name: German
110
- native: Deutsch
111
- feature: Funktionalität
112
- background: Grundlage
113
- scenario: Szenario
114
- scenario_outline: Szenariogrundriss
115
- examples: Beispiele
116
- given: "*|Angenommen|Gegeben sei"
117
- when: "*|Wenn"
118
- then: "*|Dann"
119
- and: "*|Und"
120
- but: "*|Aber"
121
- "en-au":
122
- name: Australian
123
- native: Australian
124
- feature: Crikey
125
- background: Background
126
- scenario: Mate
127
- scenario_outline: Blokes
128
- examples: Cobber
129
- given: "*|Ya know how"
130
- when: "*|When"
131
- then: "*|Ya gotta"
132
- and: "*|N"
133
- but: "*|Cept"
134
- "en-lol":
135
- name: LOLCAT
136
- native: LOLCAT
137
- feature: OH HAI
138
- background: B4
139
- scenario: MISHUN
140
- scenario_outline: MISHUN SRSLY
141
- examples: EXAMPLZ
142
- given: "*|I CAN HAZ"
143
- when: "*|WEN"
144
- then: "*|DEN"
145
- and: "*|AN"
146
- but: "*|BUT"
147
- "en-tx":
148
- name: Texan
149
- native: Texan
150
- feature: Feature
151
- background: Background
152
- scenario: Scenario
153
- scenario_outline: All y'all
154
- examples: Examples
155
- given: "*|Given y'all"
156
- when: "*|When y'all"
157
- then: "*|Then y'all"
158
- and: "*|And y'all"
159
- but: "*|But y'all"
160
- "es":
161
- name: Spanish
162
- native: español
163
- background: Antecedentes
164
- feature: Característica
165
- scenario: Escenario
166
- scenario_outline: Esquema del escenario
167
- examples: Ejemplos
168
- given: "*|Dado"
169
- when: "*|Cuando"
170
- then: "*|Entonces"
171
- and: "*|Y"
172
- but: "*|Pero"
173
- "et":
174
- name: Estonian
175
- native: eesti keel
176
- feature: Omadus
177
- background: Taust
178
- scenario: Stsenaarium
179
- scenario_outline: Raamstsenaarium
180
- examples: Juhtumid
181
- given: "*|Eeldades"
182
- when: "*|Kui"
183
- then: "*|Siis"
184
- and: "*|Ja"
185
- but: "*|Kuid"
186
- "fi":
187
- name: Finnish
188
- native: suomi
189
- feature: Ominaisuus
190
- background: Tausta
191
- scenario: Tapaus
192
- scenario_outline: Tapausaihio
193
- examples: Tapaukset
194
- given: "*|Oletetaan"
195
- when: "*|Kun"
196
- then: "*|Niin"
197
- and: "*|Ja"
198
- but: "*|Mutta"
199
- "fr":
200
- name: French
201
- native: français
202
- feature: Fonctionnalité
203
- background: Contexte
204
- scenario: Scénario
205
- scenario_outline: Plan du scénario|Plan du Scénario
206
- examples: Exemples
207
- given: "*|Soit|Etant donné"
208
- when: "*|Quand|Lorsque|Lorsqu'<"
209
- then: "*|Alors"
210
- and: "*|Et"
211
- but: "*|Mais"
212
- "he":
213
- name: Hebrew
214
- native: עברית
215
- feature: תכונה
216
- background: רקע
217
- scenario: תרחיש
218
- scenario_outline: תבנית תרחיש
219
- examples: דוגמאות
220
- given: "*|בהינתן"
221
- when: "*|כאשר"
222
- then: "*|אז|אזי"
223
- and: "*|וגם"
224
- but: "*|אבל"
225
- "hr":
226
- name: Croatian
227
- native: hrvatski
228
- feature: Osobina|Mogućnost|Mogucnost
229
- background: Pozadina
230
- scenario: Scenarij
231
- scenario_outline: Skica|Koncept
232
- examples: Primjeri|Scenariji
233
- given: "*|Zadan|Zadani|Zadano"
234
- when: "*|Kada|Kad"
235
- then: "*|Onda"
236
- and: "*|I"
237
- but: "*|Ali"
238
- "hu":
239
- name: Hungarian
240
- native: magyar
241
- feature: Jellemző
242
- background: Háttér
243
- scenario: Forgatókönyv
244
- scenario_outline: Forgatókönyv vázlat
245
- examples: Példák
246
- given: "*|Ha"
247
- when: "*|Majd"
248
- then: "*|Akkor"
249
- and: "*|És"
250
- but: "*|De"
251
- "id":
252
- name: Indonesian
253
- native: Bahasa Indonesia
254
- feature: Fitur
255
- background: Dasar
256
- scenario: Skenario
257
- scenario_outline: Skenario konsep
258
- examples: Contoh
259
- given: "*|Dengan"
260
- when: "*|Ketika"
261
- then: "*|Maka"
262
- and: "*|Dan"
263
- but: "*|Tapi"
264
- "it":
265
- name: Italian
266
- native: italiano
267
- feature: Funzionalità
268
- background: Contesto
269
- scenario: Scenario
270
- scenario_outline: Schema dello scenario
271
- examples: Esempi
272
- given: "*|Dato"
273
- when: "*|Quando"
274
- then: "*|Allora"
275
- and: "*|E"
276
- but: "*|Ma"
277
- "ja":
278
- name: Japanese
279
- native: 日本語
280
- feature: フィーチャ|機能
281
- background: 背景
282
- scenario: シナリオ
283
- scenario_outline: シナリオアウトライン|シナリオテンプレート|テンプレ|シナリオテンプレ
284
- examples: 例|サンプル
285
- given: "*|前提<"
286
- when: "*|もし<"
287
- then: "*|ならば<"
288
- and: "*|かつ<"
289
- but: "*|しかし<|但し<|ただし<"
290
- "ko":
291
- name: Korean
292
- native: 한국어
293
- background: 배경
294
- feature: 기능
295
- scenario: 시나리오
296
- scenario_outline: 시나리오 개요
297
- examples: 예
298
- given: "*|조건<|먼저<"
299
- when: "*|만일<|만약<"
300
- then: "*|그러면<"
301
- and: "*|그리고<"
302
- but: "*|하지만<|단<"
303
- "lt":
304
- name: Lithuanian
305
- native: lietuvių kalba
306
- feature: Savybė
307
- background: Kontekstas
308
- scenario: Scenarijus
309
- scenario_outline: Scenarijaus šablonas
310
- examples: Pavyzdžiai|Scenarijai|Variantai
311
- given: "*|Duota"
312
- when: "*|Kai"
313
- then: "*|Tada"
314
- and: "*|Ir"
315
- but: "*|Bet"
316
- "lv":
317
- name: Latvian
318
- native: latviešu
319
- feature: Funkcionalitāte|Fīča
320
- background: Konteksts|Situācija
321
- scenario: Scenārijs
322
- scenario_outline: Scenārijs pēc parauga
323
- examples: Piemēri|Paraugs
324
- given: "*|Kad"
325
- when: "*|Ja"
326
- then: "*|Tad"
327
- and: "*|Un"
328
- but: "*|Bet"
329
- "nl":
330
- name: Dutch
331
- native: Nederlands
332
- feature: Functionaliteit
333
- background: Achtergrond
334
- scenario: Scenario
335
- scenario_outline: Abstract Scenario
336
- examples: Voorbeelden
337
- given: "*|Gegeven|Stel"
338
- when: "*|Als"
339
- then: "*|Dan"
340
- and: "*|En"
341
- but: "*|Maar"
342
- "no":
343
- name: Norwegian
344
- native: norsk
345
- feature: Egenskap
346
- background: Bakgrunn
347
- scenario: Scenario
348
- scenario_outline: Abstrakt Scenario
349
- examples: Eksempler
350
- given: "*|Gitt"
351
- when: "*|Når"
352
- then: "*|Så"
353
- and: "*|Og"
354
- but: "*|Men"
355
- "pl":
356
- name: Polish
357
- native: polski
358
- feature: Właściwość
359
- background: Założenia
360
- scenario: Scenariusz
361
- scenario_outline: Szablon scenariusza
362
- examples: Przykłady
363
- given: "*|Zakładając"
364
- when: "*|Jeżeli"
365
- then: "*|Wtedy"
366
- and: "*|Oraz"
367
- but: "*|Ale"
368
- "pt":
369
- name: Portuguese
370
- native: português
371
- background: Contexto
372
- feature: Funcionalidade
373
- scenario: Cenário|Cenario
374
- scenario_outline: Esquema do Cenário|Esquema do Cenario
375
- examples: Exemplos
376
- given: "*|Dado"
377
- when: "*|Quando"
378
- then: "*|Então|Entao"
379
- and: "*|E"
380
- but: "*|Mas"
381
- "ro":
382
- name: Romanian
383
- native: română
384
- background: Conditii
385
- feature: Functionalitate
386
- scenario: Scenariu
387
- scenario_outline: Scenariul de sablon
388
- examples: Exemplele
389
- given: "*|Daca"
390
- when: "*|Cand"
391
- then: "*|Atunci"
392
- and: "*|Si"
393
- but: "*|Dar"
394
- "ro-RO":
395
- name: Romanian (diacritical)
396
- native: română (diacritical)
397
- background: Condiţii
398
- feature: Funcționalitate
399
- scenario: Scenariu
400
- scenario_outline: Scenariul de şablon
401
- examples: Exemplele
402
- given: "*|Dacă"
403
- when: "*|Când"
404
- then: "*|Atunci"
405
- and: "*|Și"
406
- but: "*|Dar"
407
- "ru":
408
- name: Russian
409
- native: русский
410
- feature: Функционал
411
- background: Предыстория
412
- scenario: Сценарий
413
- scenario_outline: Структура сценария
414
- examples: Значения
415
- given: "*|Допустим"
416
- when: "*|Если"
417
- then: "*|То"
418
- and: "*|И|К тому же"
419
- but: "*|Но|А"
420
- "sv":
421
- name: Swedish
422
- native: Svenska
423
- feature: Egenskap
424
- background: Bakgrund
425
- scenario: Scenario
426
- scenario_outline: Abstrakt Scenario
427
- examples: Exempel
428
- given: "*|Givet"
429
- when: "*|När"
430
- then: "*|Så"
431
- and: "*|Och"
432
- but: "*|Men"
433
- "sk":
434
- name: Slovak
435
- native: Slovensky
436
- feature: Požiadavka
437
- background: Pozadie
438
- scenario: Scenár
439
- scenario_outline: Náčrt Scenáru
440
- examples: Príklady
441
- given: "*|Pokiaľ"
442
- when: "*|Keď"
443
- then: "*|Tak"
444
- and: "*|A"
445
- but: "*|Ale"
446
- "sr-Latn":
447
- name: Serbian (Latin)
448
- native: Srpski (Latinica)
449
- feature: Funkcionalnost|Mogućnost|Mogucnost|Osobina
450
- background: Kontekst|Osnova|Pozadina
451
- scenario: Scenario|Primer
452
- scenario_outline: Struktura scenarija|Skica|Koncept
453
- examples: Primeri|Scenariji
454
- given: "*|Zadato|Zadate|Zatati"
455
- when: "*|Kada|Kad"
456
- then: "*|Onda"
457
- and: "*|I"
458
- but: "*|Ali"
459
- "sr-Cyrl":
460
- name: Serbian
461
- native: Српски
462
- feature: Функционалност|Могућност|Особина
463
- background: Контекст|Основа|Позадина
464
- scenario: Сценарио|Пример
465
- scenario_outline: Структура сценарија|Скица|Концепт
466
- examples: Примери|Сценарији
467
- given: "*|Задато|Задате|Задати"
468
- when: "*|Када|Кад"
469
- then: "*|Онда"
470
- and: "*|И"
471
- but: "*|Али"
472
- "tr":
473
- name: Turkish
474
- native: Türkçe
475
- feature: Özellik
476
- background: Geçmiş
477
- scenario: Senaryo
478
- scenario_outline: Senaryo taslağı
479
- examples: Örnekler
480
- given: "*|Diyelim ki"
481
- when: "*|Eğer ki"
482
- then: "*|O zaman"
483
- and: "*|Ve"
484
- but: "*|Fakat|Ama"
485
- "uz":
486
- name: Uzbek
487
- native: Узбекча
488
- feature: Функционал
489
- background: Тарих
490
- scenario: Сценарий
491
- scenario_outline: Сценарий структураси
492
- examples: Мисоллар
493
- given: "*|Агар"
494
- when: "*|Агар"
495
- then: "*|Унда"
496
- and: "*|Ва"
497
- but: "*|Лекин|Бирок|Аммо"
498
- "vi":
499
- name: Vietnamese
500
- native: Tiếng Việt
501
- feature: Tính năng
502
- background: Bối cảnh
503
- scenario: Tình huống|Kịch bản
504
- scenario_outline: Khung tình huống|Khung kịch bản
505
- examples: Dữ liệu
506
- given: "*|Biết|Cho"
507
- when: "*|Khi"
508
- then: "*|Thì"
509
- and: "*|Và"
510
- but: "*|Nhưng"
511
- "zh-CN":
512
- name: Chinese simplified
513
- native: 简体中文
514
- feature: 功能
515
- background: 背景
516
- scenario: 场景
517
- scenario_outline: 场景大纲
518
- examples: 例子
519
- given: "*|假如<"
520
- when: "*|当<"
521
- then: "*|那么<"
522
- and: "*|而且<"
523
- but: "*|但是<"
524
- "zh-TW":
525
- name: Chinese traditional
526
- native: 繁體中文
527
- feature: 功能
528
- background: 背景
529
- scenario: 場景|劇本
530
- scenario_outline: 場景大綱|劇本大綱
531
- examples: 例子
532
- given: "*|假設<"
533
- when: "*|當<"
534
- then: "*|那麼<"
535
- and: "*|而且<|並且<"
536
- but: "*|但是<"