gherkin 2.12.0 → 2.12.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. checksums.yaml +6 -14
  2. data/.ruby-version +1 -1
  3. data/.travis.yml +1 -3
  4. data/History.md +18 -0
  5. data/LICENSE +1 -1
  6. data/README.md +22 -28
  7. data/ext/gherkin_lexer_ar/gherkin_lexer_ar.c +466 -466
  8. data/ext/gherkin_lexer_bg/gherkin_lexer_bg.c +2 -2
  9. data/ext/gherkin_lexer_bm/gherkin_lexer_bm.c +535 -395
  10. data/ext/gherkin_lexer_ca/gherkin_lexer_ca.c +2 -2
  11. data/ext/gherkin_lexer_cs/gherkin_lexer_cs.c +2 -2
  12. data/ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c +2 -2
  13. data/ext/gherkin_lexer_da/gherkin_lexer_da.c +2 -2
  14. data/ext/gherkin_lexer_de/gherkin_lexer_de.c +296 -286
  15. data/ext/gherkin_lexer_el/gherkin_lexer_el.c +2 -2
  16. data/ext/gherkin_lexer_en/gherkin_lexer_en.c +2 -2
  17. data/ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c +2 -2
  18. data/ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c +2 -2
  19. data/ext/gherkin_lexer_en_old/gherkin_lexer_en_old.c +2 -2
  20. data/ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c +2 -2
  21. data/ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c +2 -2
  22. data/ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c +2 -2
  23. data/ext/gherkin_lexer_eo/gherkin_lexer_eo.c +2 -2
  24. data/ext/gherkin_lexer_es/gherkin_lexer_es.c +2 -2
  25. data/ext/gherkin_lexer_et/gherkin_lexer_et.c +2 -2
  26. data/ext/gherkin_lexer_fa/gherkin_lexer_fa.c +2 -2
  27. data/ext/gherkin_lexer_fi/gherkin_lexer_fi.c +2 -2
  28. data/ext/gherkin_lexer_fr/gherkin_lexer_fr.c +2 -2
  29. data/ext/gherkin_lexer_gl/gherkin_lexer_gl.c +2 -2
  30. data/ext/gherkin_lexer_he/gherkin_lexer_he.c +2 -2
  31. data/ext/gherkin_lexer_hi/gherkin_lexer_hi.c +784 -685
  32. data/ext/gherkin_lexer_hr/gherkin_lexer_hr.c +2 -2
  33. data/ext/gherkin_lexer_hu/gherkin_lexer_hu.c +2 -2
  34. data/ext/gherkin_lexer_id/gherkin_lexer_id.c +2 -2
  35. data/ext/gherkin_lexer_is/gherkin_lexer_is.c +2 -2
  36. data/ext/gherkin_lexer_it/gherkin_lexer_it.c +2 -2
  37. data/ext/gherkin_lexer_ja/gherkin_lexer_ja.c +2 -2
  38. data/ext/gherkin_lexer_ko/gherkin_lexer_ko.c +2 -2
  39. data/ext/gherkin_lexer_lt/gherkin_lexer_lt.c +2 -2
  40. data/ext/gherkin_lexer_lu/gherkin_lexer_lu.c +2 -2
  41. data/ext/gherkin_lexer_lv/gherkin_lexer_lv.c +2 -2
  42. data/ext/gherkin_lexer_nl/gherkin_lexer_nl.c +2 -2
  43. data/ext/gherkin_lexer_no/gherkin_lexer_no.c +2 -2
  44. data/ext/gherkin_lexer_pa/extconf.rb +6 -0
  45. data/ext/gherkin_lexer_pa/gherkin_lexer_pa.c +2160 -0
  46. data/ext/gherkin_lexer_pl/gherkin_lexer_pl.c +2 -2
  47. data/ext/gherkin_lexer_pt/gherkin_lexer_pt.c +2 -2
  48. data/ext/gherkin_lexer_ro/gherkin_lexer_ro.c +2 -2
  49. data/ext/gherkin_lexer_ru/gherkin_lexer_ru.c +2 -2
  50. data/ext/gherkin_lexer_sk/gherkin_lexer_sk.c +2 -2
  51. data/ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c +2 -2
  52. data/ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c +586 -589
  53. data/ext/gherkin_lexer_sv/gherkin_lexer_sv.c +2 -2
  54. data/ext/gherkin_lexer_th/extconf.rb +6 -0
  55. data/ext/gherkin_lexer_th/gherkin_lexer_th.c +2840 -0
  56. data/ext/gherkin_lexer_tl/gherkin_lexer_tl.c +2 -2
  57. data/ext/gherkin_lexer_tr/gherkin_lexer_tr.c +2 -2
  58. data/ext/gherkin_lexer_tt/gherkin_lexer_tt.c +2 -2
  59. data/ext/gherkin_lexer_uk/gherkin_lexer_uk.c +2 -2
  60. data/ext/gherkin_lexer_uz/gherkin_lexer_uz.c +586 -594
  61. data/ext/gherkin_lexer_vi/gherkin_lexer_vi.c +2 -2
  62. data/ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c +2 -2
  63. data/ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c +2 -2
  64. data/features/.cucumber/stepdefs.json +66 -66
  65. data/gherkin.gemspec +12 -11
  66. data/lib/gherkin/formatter/filter_formatter.rb +1 -1
  67. data/lib/gherkin/i18n.json +38 -10
  68. data/lib/gherkin/i18n.rb +1 -1
  69. data/lib/gherkin/lexer/ar.rb +1167 -0
  70. data/lib/gherkin/lexer/bg.rb +1379 -0
  71. data/lib/gherkin/lexer/bm.rb +1247 -0
  72. data/lib/gherkin/lexer/ca.rb +1307 -0
  73. data/lib/gherkin/lexer/cs.rb +1243 -0
  74. data/lib/gherkin/lexer/cy_gb.rb +1029 -0
  75. data/lib/gherkin/lexer/da.rb +1045 -0
  76. data/lib/gherkin/lexer/de.rb +1163 -0
  77. data/lib/gherkin/lexer/el.rb +1677 -0
  78. data/lib/gherkin/lexer/en.rb +1153 -0
  79. data/lib/gherkin/lexer/en_au.rb +1483 -0
  80. data/lib/gherkin/lexer/en_lol.rb +931 -0
  81. data/lib/gherkin/lexer/en_old.rb +1034 -0
  82. data/lib/gherkin/lexer/en_pirate.rb +1207 -0
  83. data/lib/gherkin/lexer/en_scouse.rb +1359 -0
  84. data/lib/gherkin/lexer/en_tx.rb +1013 -0
  85. data/lib/gherkin/lexer/eo.rb +992 -0
  86. data/lib/gherkin/lexer/es.rb +1137 -0
  87. data/lib/gherkin/lexer/et.rb +987 -0
  88. data/lib/gherkin/lexer/fa.rb +1211 -0
  89. data/lib/gherkin/lexer/fi.rb +966 -0
  90. data/lib/gherkin/lexer/fr.rb +1225 -0
  91. data/lib/gherkin/lexer/gl.rb +1114 -0
  92. data/lib/gherkin/lexer/he.rb +1115 -0
  93. data/lib/gherkin/lexer/hi.rb +1556 -0
  94. data/lib/gherkin/lexer/hr.rb +1063 -0
  95. data/lib/gherkin/lexer/hu.rb +1115 -0
  96. data/lib/gherkin/lexer/id.rb +960 -0
  97. data/lib/gherkin/lexer/is.rb +1117 -0
  98. data/lib/gherkin/lexer/it.rb +1083 -0
  99. data/lib/gherkin/lexer/ja.rb +1415 -0
  100. data/lib/gherkin/lexer/ko.rb +1099 -0
  101. data/lib/gherkin/lexer/lt.rb +1042 -0
  102. data/lib/gherkin/lexer/lu.rb +1129 -0
  103. data/lib/gherkin/lexer/lv.rb +1163 -0
  104. data/lib/gherkin/lexer/nl.rb +1112 -0
  105. data/lib/gherkin/lexer/no.rb +1057 -0
  106. data/lib/gherkin/lexer/pa.rb +1849 -0
  107. data/lib/gherkin/lexer/pl.rb +1454 -0
  108. data/lib/gherkin/lexer/pt.rb +1427 -0
  109. data/lib/gherkin/lexer/ro.rb +1161 -0
  110. data/lib/gherkin/lexer/ru.rb +1763 -0
  111. data/lib/gherkin/lexer/sk.rb +1449 -0
  112. data/lib/gherkin/lexer/sr_cyrl.rb +1800 -0
  113. data/lib/gherkin/lexer/sr_latn.rb +1291 -0
  114. data/lib/gherkin/lexer/sv.rb +1067 -0
  115. data/lib/gherkin/lexer/th.rb +2489 -0
  116. data/lib/gherkin/lexer/tl.rb +1723 -0
  117. data/lib/gherkin/lexer/tr.rb +1089 -0
  118. data/lib/gherkin/lexer/tt.rb +1640 -0
  119. data/lib/gherkin/lexer/uk.rb +1643 -0
  120. data/lib/gherkin/lexer/uz.rb +1373 -0
  121. data/lib/gherkin/lexer/vi.rb +1195 -0
  122. data/lib/gherkin/lexer/zh_cn.rb +1055 -0
  123. data/lib/gherkin/lexer/zh_tw.rb +1049 -0
  124. data/lib/gherkin/platform.rb +2 -2
  125. data/spec/gherkin/formatter/json_formatter_spec.rb +4 -0
  126. data/spec/gherkin/formatter/pretty_formatter_spec.rb +25 -18
  127. data/spec/gherkin/i18n_spec.rb +2 -0
  128. data/tasks/gems.rake +19 -4
  129. data/tasks/ikvm.rake +10 -8
  130. data/tasks/ragel_task.rb +3 -2
  131. data/tasks/rspec.rake +2 -6
  132. metadata +295 -169
@@ -1096,7 +1096,7 @@ _resume:
1096
1096
  else if ( (*p) > *_mid )
1097
1097
  _lower = _mid + 1;
1098
1098
  else {
1099
- _trans += (_mid - _keys);
1099
+ _trans += (unsigned int)(_mid - _keys);
1100
1100
  goto _match;
1101
1101
  }
1102
1102
  }
@@ -1119,7 +1119,7 @@ _resume:
1119
1119
  else if ( (*p) > _mid[1] )
1120
1120
  _lower = _mid + 2;
1121
1121
  else {
1122
- _trans += ((_mid - _keys)>>1);
1122
+ _trans += (unsigned int)((_mid - _keys)>>1);
1123
1123
  goto _match;
1124
1124
  }
1125
1125
  }
@@ -952,7 +952,7 @@ _resume:
952
952
  else if ( (*p) > *_mid )
953
953
  _lower = _mid + 1;
954
954
  else {
955
- _trans += (_mid - _keys);
955
+ _trans += (unsigned int)(_mid - _keys);
956
956
  goto _match;
957
957
  }
958
958
  }
@@ -975,7 +975,7 @@ _resume:
975
975
  else if ( (*p) > _mid[1] )
976
976
  _lower = _mid + 2;
977
977
  else {
978
- _trans += ((_mid - _keys)>>1);
978
+ _trans += (unsigned int)((_mid - _keys)>>1);
979
979
  goto _match;
980
980
  }
981
981
  }
@@ -945,7 +945,7 @@ _resume:
945
945
  else if ( (*p) > *_mid )
946
946
  _lower = _mid + 1;
947
947
  else {
948
- _trans += (_mid - _keys);
948
+ _trans += (unsigned int)(_mid - _keys);
949
949
  goto _match;
950
950
  }
951
951
  }
@@ -968,7 +968,7 @@ _resume:
968
968
  else if ( (*p) > _mid[1] )
969
969
  _lower = _mid + 2;
970
970
  else {
971
- _trans += ((_mid - _keys)>>1);
971
+ _trans += (unsigned int)((_mid - _keys)>>1);
972
972
  goto _match;
973
973
  }
974
974
  }
@@ -1,243 +1,243 @@
1
1
  [
2
2
  {
3
- "source": "^they have arrived$",
4
- "flags": "",
5
3
  "file_colon_line": "features/step_definitions/eyeball_steps.rb:1",
4
+ "flags": "",
5
+ "source": "^they have arrived$",
6
6
  "steps": [
7
7
  {
8
- "name": "they have arrived",
9
8
  "args": [
10
9
 
11
- ]
10
+ ],
11
+ "name": "they have arrived"
12
12
  }
13
13
  ]
14
14
  },
15
15
  {
16
- "source": "^a \"(ruby|native)\" \"([^\\\"]*)\" parser$",
17
- "flags": "",
18
16
  "file_colon_line": "features/step_definitions/gherkin_steps.rb:1",
17
+ "flags": "",
18
+ "source": "^a \"(ruby|native)\" \"([^\\\"]*)\" parser$",
19
19
  "steps": [
20
20
 
21
21
  ]
22
22
  },
23
23
  {
24
- "source": "^the\\ following\\ text\\ is\\ parsed:$",
25
- "flags": "",
26
24
  "file_colon_line": "features/step_definitions/gherkin_steps.rb:5",
25
+ "flags": "",
26
+ "source": "^the\\ following\\ text\\ is\\ parsed:$",
27
27
  "steps": [
28
28
  {
29
- "name": "the following text is parsed:",
30
29
  "args": [
31
30
 
32
- ]
31
+ ],
32
+ "name": "the following text is parsed:"
33
33
  }
34
34
  ]
35
35
  },
36
36
  {
37
- "source": "^there\\ should\\ be\\ no\\ parse\\ errors$",
38
- "flags": "",
39
37
  "file_colon_line": "features/step_definitions/gherkin_steps.rb:9",
38
+ "flags": "",
39
+ "source": "^there\\ should\\ be\\ no\\ parse\\ errors$",
40
40
  "steps": [
41
41
  {
42
- "name": "there should be no parse errors",
43
42
  "args": [
44
43
 
45
- ]
44
+ ],
45
+ "name": "there should be no parse errors"
46
46
  }
47
47
  ]
48
48
  },
49
49
  {
50
- "source": "^there should be a parse error on (line \\d+)$",
51
- "flags": "",
52
50
  "file_colon_line": "features/step_definitions/gherkin_steps.rb:13",
51
+ "flags": "",
52
+ "source": "^there should be a parse error on (line \\d+)$",
53
53
  "steps": [
54
54
  {
55
- "name": "there should be a parse error on line 1",
56
55
  "args": [
57
56
  {
58
57
  "offset": 33,
59
58
  "val": "line 1"
60
59
  }
61
- ]
60
+ ],
61
+ "name": "there should be a parse error on line 1"
62
62
  }
63
63
  ]
64
64
  },
65
65
  {
66
- "source": "^there should be parse errors on (lines .*)$",
67
- "flags": "",
68
66
  "file_colon_line": "features/step_definitions/gherkin_steps.rb:17",
67
+ "flags": "",
68
+ "source": "^there should be parse errors on (lines .*)$",
69
69
  "steps": [
70
70
  {
71
- "name": "there should be parse errors on lines 1 and 2",
72
71
  "args": [
73
72
  {
74
73
  "offset": 32,
75
74
  "val": "lines 1 and 2"
76
75
  }
77
- ]
76
+ ],
77
+ "name": "there should be parse errors on lines 1 and 2"
78
78
  },
79
79
  {
80
- "name": "there should be parse errors on lines 1 through 3",
81
80
  "args": [
82
81
  {
83
82
  "offset": 32,
84
83
  "val": "lines 1 through 3"
85
84
  }
86
- ]
85
+ ],
86
+ "name": "there should be parse errors on lines 1 through 3"
87
87
  },
88
88
  {
89
- "name": "there should be parse errors on lines 10 and 17",
90
89
  "args": [
91
90
  {
92
91
  "offset": 32,
93
92
  "val": "lines 10 and 17"
94
93
  }
95
- ]
94
+ ],
95
+ "name": "there should be parse errors on lines 10 and 17"
96
96
  },
97
97
  {
98
- "name": "there should be parse errors on lines 3 and 5",
99
98
  "args": [
100
99
  {
101
100
  "offset": 32,
102
101
  "val": "lines 3 and 5"
103
102
  }
104
- ]
103
+ ],
104
+ "name": "there should be parse errors on lines 3 and 5"
105
105
  },
106
106
  {
107
- "name": "there should be parse errors on lines 5, 10 and 12",
108
107
  "args": [
109
108
  {
110
109
  "offset": 32,
111
110
  "val": "lines 5, 10 and 12"
112
111
  }
113
- ]
112
+ ],
113
+ "name": "there should be parse errors on lines 5, 10 and 12"
114
114
  }
115
115
  ]
116
116
  },
117
117
  {
118
- "source": "^a JSON formatter$",
119
- "flags": "",
120
118
  "file_colon_line": "features/step_definitions/json_formatter_steps.rb:13",
119
+ "flags": "",
120
+ "source": "^a JSON formatter$",
121
121
  "steps": [
122
122
 
123
123
  ]
124
124
  },
125
125
  {
126
- "source": "^the outputted JSON should be:$",
127
- "flags": "",
128
126
  "file_colon_line": "features/step_definitions/json_formatter_steps.rb:18",
127
+ "flags": "",
128
+ "source": "^the outputted JSON should be:$",
129
129
  "steps": [
130
130
  {
131
- "name": "the outputted JSON should be:",
132
131
  "args": [
133
132
 
134
- ]
133
+ ],
134
+ "name": "the outputted JSON should be:"
135
135
  }
136
136
  ]
137
137
  },
138
138
  {
139
- "source": "^a PrettyFormatter$",
140
- "flags": "",
141
139
  "file_colon_line": "features/step_definitions/json_parser_steps.rb:6",
140
+ "flags": "",
141
+ "source": "^a PrettyFormatter$",
142
142
  "steps": [
143
143
 
144
144
  ]
145
145
  },
146
146
  {
147
- "source": "^a JSON lexer$",
148
- "flags": "",
149
147
  "file_colon_line": "features/step_definitions/json_parser_steps.rb:11",
148
+ "flags": "",
149
+ "source": "^a JSON lexer$",
150
150
  "steps": [
151
151
 
152
152
  ]
153
153
  },
154
154
  {
155
- "source": "^the following JSON is parsed:$",
156
- "flags": "",
157
155
  "file_colon_line": "features/step_definitions/json_parser_steps.rb:15",
156
+ "flags": "",
157
+ "source": "^the following JSON is parsed:$",
158
158
  "steps": [
159
159
  {
160
- "name": "the following JSON is parsed:",
161
160
  "args": [
162
161
 
163
- ]
162
+ ],
163
+ "name": "the following JSON is parsed:"
164
164
  }
165
165
  ]
166
166
  },
167
167
  {
168
- "source": "^the outputted text should be:$",
169
- "flags": "",
170
168
  "file_colon_line": "features/step_definitions/json_parser_steps.rb:19",
169
+ "flags": "",
170
+ "source": "^the outputted text should be:$",
171
171
  "steps": [
172
172
  {
173
- "name": "the outputted text should be:",
174
173
  "args": [
175
174
 
176
- ]
175
+ ],
176
+ "name": "the outputted text should be:"
177
177
  }
178
178
  ]
179
179
  },
180
180
  {
181
- "source": "^I have Cucumber's source code next to Gherkin's$",
182
- "flags": "",
183
181
  "file_colon_line": "features/step_definitions/pretty_formatter_steps.rb:50",
182
+ "flags": "",
183
+ "source": "^I have Cucumber's source code next to Gherkin's$",
184
184
  "steps": [
185
185
  {
186
- "name": "I have Cucumber's source code next to Gherkin's",
187
186
  "args": [
188
187
 
189
- ]
188
+ ],
189
+ "name": "I have Cucumber's source code next to Gherkin's"
190
190
  }
191
191
  ]
192
192
  },
193
193
  {
194
- "source": "^I find all of the \\.feature files$",
195
- "flags": "",
196
194
  "file_colon_line": "features/step_definitions/pretty_formatter_steps.rb:55",
195
+ "flags": "",
196
+ "source": "^I find all of the \\.feature files$",
197
197
  "steps": [
198
198
  {
199
- "name": "I find all of the .feature files",
200
199
  "args": [
201
200
 
202
- ]
201
+ ],
202
+ "name": "I find all of the .feature files"
203
203
  }
204
204
  ]
205
205
  },
206
206
  {
207
- "source": "^I send each prettified original through the \"([^\"]*)\" machinery$",
208
- "flags": "",
209
207
  "file_colon_line": "features/step_definitions/pretty_formatter_steps.rb:59",
208
+ "flags": "",
209
+ "source": "^I send each prettified original through the \"([^\"]*)\" machinery$",
210
210
  "steps": [
211
211
  {
212
- "name": "I send each prettified original through the \"json\" machinery",
213
212
  "args": [
214
213
  {
215
214
  "offset": 45,
216
215
  "val": "json"
217
216
  }
218
- ]
217
+ ],
218
+ "name": "I send each prettified original through the \"json\" machinery"
219
219
  },
220
220
  {
221
- "name": "I send each prettified original through the \"pretty\" machinery",
222
221
  "args": [
223
222
  {
224
223
  "offset": 45,
225
224
  "val": "pretty"
226
225
  }
227
- ]
226
+ ],
227
+ "name": "I send each prettified original through the \"pretty\" machinery"
228
228
  }
229
229
  ]
230
230
  },
231
231
  {
232
- "source": "^the machinery output should be identical to the prettified original$",
233
- "flags": "",
234
232
  "file_colon_line": "features/step_definitions/pretty_formatter_steps.rb:83",
233
+ "flags": "",
234
+ "source": "^the machinery output should be identical to the prettified original$",
235
235
  "steps": [
236
236
  {
237
- "name": "the machinery output should be identical to the prettified original",
238
237
  "args": [
239
238
 
240
- ]
239
+ ],
240
+ "name": "the machinery output should be identical to the prettified original"
241
241
  }
242
242
  ]
243
243
  }
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
15
15
  # Repeat these step for cucumber (swap `cucumber` with `gherkin`).
16
16
  #
17
17
  # When both are building OK, do a `bundle exec rake install` in both cucumber and gherkin projects, revert the changes in the first 2 steps
18
- # and release both projects. Do this for both ruby 1.8.7, ruby 1.9.3 and jruby.
18
+ # and release both projects. Do this for both ruby 1.9.3, ruby 2.0.0 and jruby.
19
19
  #
20
20
  s.version = Gherkin::VERSION
21
21
  s.authors = ["Mike Sassak", "Gregory Hnatiuk", "Aslak Hellesøy"]
@@ -23,6 +23,7 @@ Gem::Specification.new do |s|
23
23
  s.summary = "#{s.name}-#{s.version}"
24
24
  s.email = "cukes@googlegroups.com"
25
25
  s.homepage = "http://github.com/cucumber/gherkin"
26
+ s.license = 'MIT'
26
27
 
27
28
  s.files = `git ls-files`.split("\n")
28
29
  s.test_files = `git ls-files -- {spec,features}/*`.split("\n")
@@ -51,29 +52,29 @@ Gem::Specification.new do |s|
51
52
  when /dotnet/
52
53
  s.files += Dir['lib/*.dll']
53
54
  else # MRI or Rubinius
54
- s.files += Dir['lib/gherkin/rb_lexer/*.rb']
55
+ s.files += Dir['lib/gherkin/lexer/*.rb']
55
56
  s.files += Dir['ext/**/*.c']
56
57
  s.extensions = Dir['ext/**/extconf.rb']
57
- s.add_development_dependency('rake-compiler', '>= 0.8.2')
58
+ s.add_development_dependency('rake-compiler', '= 0.8.2')
58
59
  end
59
60
  s.files -= Dir['**/.gitignore']
60
61
 
61
62
  s.add_runtime_dependency('multi_json', '~> 1.3')
62
63
 
63
- s.add_development_dependency('cucumber', '>= 1.2.0')
64
- s.add_development_dependency('rake', '>= 10.0.3')
65
- s.add_development_dependency('bundler', '>= 1.2.3') # Make sure it's in sync with /.travis.yml
66
- s.add_development_dependency('rspec', '~> 2.13.0')
64
+ s.add_development_dependency('cucumber', '>= 1.3.4')
65
+ s.add_development_dependency('rake', '>= 10.1.0')
66
+ s.add_development_dependency('bundler', '>= 1.3.5') # Make sure it's in sync with /.travis.yml
67
+ s.add_development_dependency('rspec', '~> 2.14.1')
67
68
  s.add_development_dependency('rubyzip', '>= 0.9.9')
68
69
 
69
70
  unless ENV['RUBY_CC_VERSION'] || Gherkin::JRUBY
70
71
  s.add_development_dependency('therubyracer', '>= 0.11.4') if ENV['GHERKIN_JS']
71
72
  # For Documentation:
72
- s.add_development_dependency('yard', '>= 0.8.3')
73
- s.add_development_dependency('rdiscount', '>= 1.6.8')
73
+ s.add_development_dependency('yard', '>= 0.8.6.2')
74
+ s.add_development_dependency('rdiscount', '>= 2.1.6')
74
75
  end
75
76
 
76
77
  # Only needed by Cucumber. Remove when Cucumber no longer needs those.
77
- s.add_development_dependency('term-ansicolor', '>= 1.0.7')
78
- s.add_development_dependency('builder', '>= 3.1.4')
78
+ s.add_development_dependency('term-ansicolor', '>= 1.2.2')
79
+ s.add_development_dependency('builder', '>= 3.2.2')
79
80
  end
@@ -130,7 +130,7 @@ module Gherkin
130
130
  end
131
131
 
132
132
  @examples_events.clear
133
- @examples_tags.clear
133
+ @examples_tags = []
134
134
  @examples_name = nil
135
135
  @examples_range = nil
136
136
  end
@@ -32,14 +32,14 @@
32
32
  "native": "Bahasa Melayu",
33
33
  "feature": "Fungsi",
34
34
  "background": "Latar Belakang",
35
- "scenario": "Senario",
36
- "scenario_outline": "Menggariskan Senario ",
37
- "examples": "Contoh ",
38
- "given": "*|Bagi",
35
+ "scenario": "Senario|Situai|Keadaan",
36
+ "scenario_outline": "Template Senario|Template Situai|Template Keadaan|Menggariskan Senario",
37
+ "examples": "Contoh",
38
+ "given": "*|Diberi|Bagi",
39
39
  "when": "*|Apabila",
40
- "then": "*|Kemudian",
40
+ "then": "*|Maka|Kemudian",
41
41
  "and": "*|Dan",
42
- "but": "*|Tetapi"
42
+ "but": "*|Tetapi|Tapi"
43
43
  },
44
44
  "bg": {
45
45
  "name": "Bulgarian",
@@ -119,7 +119,7 @@
119
119
  "scenario": "Szenario",
120
120
  "scenario_outline": "Szenariogrundriss",
121
121
  "examples": "Beispiele",
122
- "given": "*|Angenommen|Gegeben sei",
122
+ "given": "*|Angenommen|Gegeben sei|Gegeben seien",
123
123
  "when": "*|Wenn",
124
124
  "then": "*|Dann",
125
125
  "and": "*|Und",
@@ -344,10 +344,10 @@
344
344
  "scenario_outline": "परिदृश्य रूपरेखा",
345
345
  "examples": "उदाहरण",
346
346
  "given": "*|अगर|यदि|चूंकि",
347
- "when": "*|जब",
348
- "then": "*|तब",
347
+ "when": "*|जब|कदा",
348
+ "then": "*|तब|तदा",
349
349
  "and": "*|और|तथा",
350
- "but": "*|पर"
350
+ "but": "*|पर|परन्तु|किन्तु"
351
351
  },
352
352
  "hr": {
353
353
  "name": "Croatian",
@@ -517,6 +517,20 @@
517
517
  "and": "*|Og",
518
518
  "but": "*|Men"
519
519
  },
520
+ "pa": {
521
+ "name": "Panjabi",
522
+ "native": "ਪੰਜਾਬੀ",
523
+ "feature": "ਖਾਸੀਅਤ|ਮੁਹਾਂਦਰਾ|ਨਕਸ਼ ਨੁਹਾਰ",
524
+ "background": "ਪਿਛੋਕੜ",
525
+ "scenario": "ਪਟਕਥਾ",
526
+ "scenario_outline": "ਪਟਕਥਾ ਢਾਂਚਾ|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ",
527
+ "examples": "ਉਦਾਹਰਨਾਂ",
528
+ "given": "*|ਜੇਕਰ|ਜਿਵੇਂ ਕਿ",
529
+ "when": "*|ਜਦੋਂ",
530
+ "then": "*|ਤਦ",
531
+ "and": "*|ਅਤੇ",
532
+ "but": "*|ਪਰ"
533
+ },
520
534
  "pl": {
521
535
  "name": "Polish",
522
536
  "native": "polski",
@@ -643,6 +657,20 @@
643
657
  "and": "*|మరియు",
644
658
  "but": "*|కాని"
645
659
  },
660
+ "th": {
661
+ "name": "Thai",
662
+ "native": "ไทย",
663
+ "feature": "โครงหลัก|ความต้องการทางธุรกิจ|ความสามารถ",
664
+ "background": "แนวคิด",
665
+ "scenario": "เหตุการณ์",
666
+ "scenario_outline": "สรุปเหตุการณ์|โครงสร้างของเหตุการณ์",
667
+ "examples": "ชุดของตัวอย่าง|ชุดของเหตุการณ์",
668
+ "given": "*|กำหนดให้",
669
+ "when": "*|เมื่อ",
670
+ "then": "*|ดังนั้น",
671
+ "and": "*|และ",
672
+ "but": "*|แต่"
673
+ },
646
674
  "tr": {
647
675
  "name": "Turkish",
648
676
  "native": "Türkçe",