gherkin 2.12.2 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (333) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -15
  3. data/CONTRIBUTING.md +23 -0
  4. data/Gemfile +0 -3
  5. data/LICENSE +18 -17
  6. data/Makefile +65 -0
  7. data/README.md +9 -268
  8. data/Rakefile +17 -19
  9. data/bin/gherkin-generate-ast +21 -0
  10. data/bin/gherkin-generate-pickles +25 -0
  11. data/bin/gherkin-generate-tokens +12 -0
  12. data/gherkin-ruby.razor +218 -0
  13. data/gherkin.gemspec +22 -76
  14. data/lib/gherkin/ast_builder.rb +243 -0
  15. data/lib/gherkin/ast_node.rb +30 -0
  16. data/lib/gherkin/dialect.rb +58 -0
  17. data/lib/gherkin/errors.rb +45 -0
  18. data/lib/gherkin/gherkin-languages.json +2968 -0
  19. data/lib/gherkin/gherkin_line.rb +95 -0
  20. data/lib/gherkin/parser.rb +1910 -0
  21. data/lib/gherkin/pickles/compiler.rb +164 -0
  22. data/lib/gherkin/token.rb +18 -0
  23. data/lib/gherkin/token_formatter_builder.rb +39 -0
  24. data/lib/gherkin/token_matcher.rb +169 -0
  25. data/lib/gherkin/token_scanner.rb +40 -0
  26. data/spec/capture_warnings.rb +68 -0
  27. data/spec/coverage.rb +10 -0
  28. data/spec/gherkin/parser_spec.rb +146 -0
  29. metadata +60 -567
  30. data/.gitattributes +0 -2
  31. data/.mailmap +0 -2
  32. data/.rbenv-gemsets +0 -1
  33. data/.rspec +0 -1
  34. data/.ruby-gemset +0 -1
  35. data/.ruby-version +0 -1
  36. data/.yardopts +0 -5
  37. data/History.md +0 -881
  38. data/build_native_gems.sh +0 -7
  39. data/cucumber.yml +0 -5
  40. data/examples/parse_and_output_json.rb +0 -19
  41. data/ext/gherkin_lexer_ar/extconf.rb +0 -6
  42. data/ext/gherkin_lexer_ar/gherkin_lexer_ar.c +0 -1432
  43. data/ext/gherkin_lexer_bg/extconf.rb +0 -6
  44. data/ext/gherkin_lexer_bg/gherkin_lexer_bg.c +0 -1655
  45. data/ext/gherkin_lexer_bm/extconf.rb +0 -6
  46. data/ext/gherkin_lexer_bm/gherkin_lexer_bm.c +0 -1516
  47. data/ext/gherkin_lexer_ca/extconf.rb +0 -6
  48. data/ext/gherkin_lexer_ca/gherkin_lexer_ca.c +0 -1581
  49. data/ext/gherkin_lexer_cs/extconf.rb +0 -6
  50. data/ext/gherkin_lexer_cs/gherkin_lexer_cs.c +0 -1515
  51. data/ext/gherkin_lexer_cy_gb/extconf.rb +0 -6
  52. data/ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c +0 -1282
  53. data/ext/gherkin_lexer_da/extconf.rb +0 -6
  54. data/ext/gherkin_lexer_da/gherkin_lexer_da.c +0 -1298
  55. data/ext/gherkin_lexer_de/extconf.rb +0 -6
  56. data/ext/gherkin_lexer_de/gherkin_lexer_de.c +0 -1425
  57. data/ext/gherkin_lexer_el/extconf.rb +0 -6
  58. data/ext/gherkin_lexer_el/gherkin_lexer_el.c +0 -1919
  59. data/ext/gherkin_lexer_en/extconf.rb +0 -6
  60. data/ext/gherkin_lexer_en/gherkin_lexer_en.c +0 -1418
  61. data/ext/gherkin_lexer_en_au/extconf.rb +0 -6
  62. data/ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c +0 -1765
  63. data/ext/gherkin_lexer_en_lol/extconf.rb +0 -6
  64. data/ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c +0 -1177
  65. data/ext/gherkin_lexer_en_old/extconf.rb +0 -6
  66. data/ext/gherkin_lexer_en_old/gherkin_lexer_en_old.c +0 -1309
  67. data/ext/gherkin_lexer_en_pirate/extconf.rb +0 -6
  68. data/ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c +0 -1471
  69. data/ext/gherkin_lexer_en_scouse/extconf.rb +0 -6
  70. data/ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c +0 -1634
  71. data/ext/gherkin_lexer_en_tx/extconf.rb +0 -6
  72. data/ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c +0 -1265
  73. data/ext/gherkin_lexer_eo/extconf.rb +0 -6
  74. data/ext/gherkin_lexer_eo/gherkin_lexer_eo.c +0 -1241
  75. data/ext/gherkin_lexer_es/extconf.rb +0 -6
  76. data/ext/gherkin_lexer_es/gherkin_lexer_es.c +0 -1399
  77. data/ext/gherkin_lexer_et/extconf.rb +0 -6
  78. data/ext/gherkin_lexer_et/gherkin_lexer_et.c +0 -1236
  79. data/ext/gherkin_lexer_fa/extconf.rb +0 -6
  80. data/ext/gherkin_lexer_fa/gherkin_lexer_fa.c +0 -1475
  81. data/ext/gherkin_lexer_fi/extconf.rb +0 -6
  82. data/ext/gherkin_lexer_fi/gherkin_lexer_fi.c +0 -1215
  83. data/ext/gherkin_lexer_fr/extconf.rb +0 -6
  84. data/ext/gherkin_lexer_fr/gherkin_lexer_fr.c +0 -1493
  85. data/ext/gherkin_lexer_gl/extconf.rb +0 -6
  86. data/ext/gherkin_lexer_gl/gherkin_lexer_gl.c +0 -1374
  87. data/ext/gherkin_lexer_he/extconf.rb +0 -6
  88. data/ext/gherkin_lexer_he/gherkin_lexer_he.c +0 -1374
  89. data/ext/gherkin_lexer_hi/extconf.rb +0 -6
  90. data/ext/gherkin_lexer_hi/gherkin_lexer_hi.c +0 -1848
  91. data/ext/gherkin_lexer_hr/extconf.rb +0 -6
  92. data/ext/gherkin_lexer_hr/gherkin_lexer_hr.c +0 -1323
  93. data/ext/gherkin_lexer_hu/extconf.rb +0 -6
  94. data/ext/gherkin_lexer_hu/gherkin_lexer_hu.c +0 -1376
  95. data/ext/gherkin_lexer_id/extconf.rb +0 -6
  96. data/ext/gherkin_lexer_id/gherkin_lexer_id.c +0 -1208
  97. data/ext/gherkin_lexer_is/extconf.rb +0 -6
  98. data/ext/gherkin_lexer_is/gherkin_lexer_is.c +0 -1376
  99. data/ext/gherkin_lexer_it/extconf.rb +0 -6
  100. data/ext/gherkin_lexer_it/gherkin_lexer_it.c +0 -1340
  101. data/ext/gherkin_lexer_ja/extconf.rb +0 -6
  102. data/ext/gherkin_lexer_ja/gherkin_lexer_ja.c +0 -1699
  103. data/ext/gherkin_lexer_kn/extconf.rb +0 -6
  104. data/ext/gherkin_lexer_kn/gherkin_lexer_kn.c +0 -1965
  105. data/ext/gherkin_lexer_ko/extconf.rb +0 -6
  106. data/ext/gherkin_lexer_ko/gherkin_lexer_ko.c +0 -1360
  107. data/ext/gherkin_lexer_lt/extconf.rb +0 -6
  108. data/ext/gherkin_lexer_lt/gherkin_lexer_lt.c +0 -1296
  109. data/ext/gherkin_lexer_lu/extconf.rb +0 -6
  110. data/ext/gherkin_lexer_lu/gherkin_lexer_lu.c +0 -1389
  111. data/ext/gherkin_lexer_lv/extconf.rb +0 -6
  112. data/ext/gherkin_lexer_lv/gherkin_lexer_lv.c +0 -1425
  113. data/ext/gherkin_lexer_nl/extconf.rb +0 -6
  114. data/ext/gherkin_lexer_nl/gherkin_lexer_nl.c +0 -1368
  115. data/ext/gherkin_lexer_no/extconf.rb +0 -6
  116. data/ext/gherkin_lexer_no/gherkin_lexer_no.c +0 -1311
  117. data/ext/gherkin_lexer_pa/extconf.rb +0 -6
  118. data/ext/gherkin_lexer_pa/gherkin_lexer_pa.c +0 -2160
  119. data/ext/gherkin_lexer_pl/extconf.rb +0 -6
  120. data/ext/gherkin_lexer_pl/gherkin_lexer_pl.c +0 -1738
  121. data/ext/gherkin_lexer_pt/extconf.rb +0 -6
  122. data/ext/gherkin_lexer_pt/gherkin_lexer_pt.c +0 -1711
  123. data/ext/gherkin_lexer_ro/extconf.rb +0 -6
  124. data/ext/gherkin_lexer_ro/gherkin_lexer_ro.c +0 -1427
  125. data/ext/gherkin_lexer_ru/extconf.rb +0 -6
  126. data/ext/gherkin_lexer_ru/gherkin_lexer_ru.c +0 -2071
  127. data/ext/gherkin_lexer_sk/extconf.rb +0 -6
  128. data/ext/gherkin_lexer_sk/gherkin_lexer_sk.c +0 -1739
  129. data/ext/gherkin_lexer_sr_cyrl/extconf.rb +0 -6
  130. data/ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c +0 -2112
  131. data/ext/gherkin_lexer_sr_latn/extconf.rb +0 -6
  132. data/ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c +0 -1567
  133. data/ext/gherkin_lexer_sv/extconf.rb +0 -6
  134. data/ext/gherkin_lexer_sv/gherkin_lexer_sv.c +0 -1324
  135. data/ext/gherkin_lexer_th/extconf.rb +0 -6
  136. data/ext/gherkin_lexer_th/gherkin_lexer_th.c +0 -2840
  137. data/ext/gherkin_lexer_tl/extconf.rb +0 -6
  138. data/ext/gherkin_lexer_tl/gherkin_lexer_tl.c +0 -2021
  139. data/ext/gherkin_lexer_tr/extconf.rb +0 -6
  140. data/ext/gherkin_lexer_tr/gherkin_lexer_tr.c +0 -1347
  141. data/ext/gherkin_lexer_tt/extconf.rb +0 -6
  142. data/ext/gherkin_lexer_tt/gherkin_lexer_tt.c +0 -1936
  143. data/ext/gherkin_lexer_uk/extconf.rb +0 -6
  144. data/ext/gherkin_lexer_uk/gherkin_lexer_uk.c +0 -1941
  145. data/ext/gherkin_lexer_uz/extconf.rb +0 -6
  146. data/ext/gherkin_lexer_uz/gherkin_lexer_uz.c +0 -1651
  147. data/ext/gherkin_lexer_vi/extconf.rb +0 -6
  148. data/ext/gherkin_lexer_vi/gherkin_lexer_vi.c +0 -1458
  149. data/ext/gherkin_lexer_zh_cn/extconf.rb +0 -6
  150. data/ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c +0 -1314
  151. data/ext/gherkin_lexer_zh_tw/extconf.rb +0 -6
  152. data/ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c +0 -1307
  153. data/features/.cucumber/stepdefs.json +0 -244
  154. data/features/escaped_pipes.feature +0 -8
  155. data/features/feature_parser.feature +0 -237
  156. data/features/json_formatter.feature +0 -498
  157. data/features/json_parser.feature +0 -331
  158. data/features/native_lexer.feature +0 -19
  159. data/features/parser_with_native_lexer.feature +0 -205
  160. data/features/pretty_formatter.feature +0 -17
  161. data/features/step_definitions/eyeball_steps.rb +0 -3
  162. data/features/step_definitions/gherkin_steps.rb +0 -29
  163. data/features/step_definitions/json_formatter_steps.rb +0 -30
  164. data/features/step_definitions/json_parser_steps.rb +0 -21
  165. data/features/step_definitions/pretty_formatter_steps.rb +0 -85
  166. data/features/steps_parser.feature +0 -46
  167. data/features/support/env.rb +0 -41
  168. data/install_mingw_os_x.sh +0 -5
  169. data/js/.npmignore +0 -1
  170. data/js/lib/gherkin/lexer/.npmignore +0 -0
  171. data/lib/gherkin.rb +0 -2
  172. data/lib/gherkin/README.md +0 -7
  173. data/lib/gherkin/c_lexer.rb +0 -17
  174. data/lib/gherkin/formatter/ansi_escapes.rb +0 -97
  175. data/lib/gherkin/formatter/argument.rb +0 -16
  176. data/lib/gherkin/formatter/escaping.rb +0 -15
  177. data/lib/gherkin/formatter/filter_formatter.rb +0 -150
  178. data/lib/gherkin/formatter/hashable.rb +0 -25
  179. data/lib/gherkin/formatter/json_formatter.rb +0 -133
  180. data/lib/gherkin/formatter/line_filter.rb +0 -26
  181. data/lib/gherkin/formatter/model.rb +0 -281
  182. data/lib/gherkin/formatter/pretty_formatter.rb +0 -245
  183. data/lib/gherkin/formatter/regexp_filter.rb +0 -21
  184. data/lib/gherkin/formatter/step_printer.rb +0 -21
  185. data/lib/gherkin/formatter/tag_count_formatter.rb +0 -47
  186. data/lib/gherkin/formatter/tag_filter.rb +0 -19
  187. data/lib/gherkin/i18n.json +0 -786
  188. data/lib/gherkin/i18n.rb +0 -176
  189. data/lib/gherkin/json_parser.rb +0 -177
  190. data/lib/gherkin/lexer/ar.rb +0 -1170
  191. data/lib/gherkin/lexer/bg.rb +0 -1382
  192. data/lib/gherkin/lexer/bm.rb +0 -1250
  193. data/lib/gherkin/lexer/ca.rb +0 -1310
  194. data/lib/gherkin/lexer/cs.rb +0 -1246
  195. data/lib/gherkin/lexer/cy_gb.rb +0 -1032
  196. data/lib/gherkin/lexer/da.rb +0 -1048
  197. data/lib/gherkin/lexer/de.rb +0 -1166
  198. data/lib/gherkin/lexer/el.rb +0 -1628
  199. data/lib/gherkin/lexer/en.rb +0 -1156
  200. data/lib/gherkin/lexer/en_au.rb +0 -1486
  201. data/lib/gherkin/lexer/en_lol.rb +0 -934
  202. data/lib/gherkin/lexer/en_old.rb +0 -1037
  203. data/lib/gherkin/lexer/en_pirate.rb +0 -1210
  204. data/lib/gherkin/lexer/en_scouse.rb +0 -1362
  205. data/lib/gherkin/lexer/en_tx.rb +0 -1016
  206. data/lib/gherkin/lexer/encoding.rb +0 -41
  207. data/lib/gherkin/lexer/eo.rb +0 -995
  208. data/lib/gherkin/lexer/es.rb +0 -1140
  209. data/lib/gherkin/lexer/et.rb +0 -990
  210. data/lib/gherkin/lexer/fa.rb +0 -1214
  211. data/lib/gherkin/lexer/fi.rb +0 -969
  212. data/lib/gherkin/lexer/fr.rb +0 -1228
  213. data/lib/gherkin/lexer/gl.rb +0 -1117
  214. data/lib/gherkin/lexer/he.rb +0 -1118
  215. data/lib/gherkin/lexer/hi.rb +0 -1559
  216. data/lib/gherkin/lexer/hr.rb +0 -1066
  217. data/lib/gherkin/lexer/hu.rb +0 -1118
  218. data/lib/gherkin/lexer/i18n_lexer.rb +0 -48
  219. data/lib/gherkin/lexer/id.rb +0 -963
  220. data/lib/gherkin/lexer/is.rb +0 -1120
  221. data/lib/gherkin/lexer/it.rb +0 -1086
  222. data/lib/gherkin/lexer/ja.rb +0 -1418
  223. data/lib/gherkin/lexer/kn.rb +0 -1672
  224. data/lib/gherkin/lexer/ko.rb +0 -1102
  225. data/lib/gherkin/lexer/lt.rb +0 -1045
  226. data/lib/gherkin/lexer/lu.rb +0 -1132
  227. data/lib/gherkin/lexer/lv.rb +0 -1166
  228. data/lib/gherkin/lexer/nl.rb +0 -1115
  229. data/lib/gherkin/lexer/no.rb +0 -1060
  230. data/lib/gherkin/lexer/pa.rb +0 -1852
  231. data/lib/gherkin/lexer/pl.rb +0 -1457
  232. data/lib/gherkin/lexer/pt.rb +0 -1430
  233. data/lib/gherkin/lexer/ro.rb +0 -1164
  234. data/lib/gherkin/lexer/ru.rb +0 -1766
  235. data/lib/gherkin/lexer/sk.rb +0 -1452
  236. data/lib/gherkin/lexer/sr_cyrl.rb +0 -1803
  237. data/lib/gherkin/lexer/sr_latn.rb +0 -1294
  238. data/lib/gherkin/lexer/sv.rb +0 -1070
  239. data/lib/gherkin/lexer/th.rb +0 -2492
  240. data/lib/gherkin/lexer/tl.rb +0 -1726
  241. data/lib/gherkin/lexer/tr.rb +0 -1092
  242. data/lib/gherkin/lexer/tt.rb +0 -1643
  243. data/lib/gherkin/lexer/uk.rb +0 -1646
  244. data/lib/gherkin/lexer/uz.rb +0 -1376
  245. data/lib/gherkin/lexer/vi.rb +0 -1198
  246. data/lib/gherkin/lexer/zh_cn.rb +0 -1058
  247. data/lib/gherkin/lexer/zh_tw.rb +0 -1052
  248. data/lib/gherkin/listener/event.rb +0 -45
  249. data/lib/gherkin/listener/formatter_listener.rb +0 -150
  250. data/lib/gherkin/native.rb +0 -7
  251. data/lib/gherkin/native/java.rb +0 -72
  252. data/lib/gherkin/native/null.rb +0 -5
  253. data/lib/gherkin/native/therubyracer.rb +0 -41
  254. data/lib/gherkin/parser/meta.txt +0 -5
  255. data/lib/gherkin/parser/parser.rb +0 -166
  256. data/lib/gherkin/parser/root.txt +0 -11
  257. data/lib/gherkin/parser/steps.txt +0 -4
  258. data/lib/gherkin/platform.rb +0 -13
  259. data/lib/gherkin/rubify.rb +0 -31
  260. data/lib/gherkin/tag_expression.rb +0 -63
  261. data/ragel/lexer.c.rl.erb +0 -454
  262. data/ragel/lexer.java.rl.erb +0 -219
  263. data/ragel/lexer.js.rl.erb +0 -322
  264. data/ragel/lexer.rb.rl.erb +0 -179
  265. data/ragel/lexer_common.rl.erb +0 -50
  266. data/spec/gherkin/c_lexer_spec.rb +0 -22
  267. data/spec/gherkin/fixtures/1.feature +0 -8
  268. data/spec/gherkin/fixtures/comments_in_table.feature +0 -9
  269. data/spec/gherkin/fixtures/complex.feature +0 -45
  270. data/spec/gherkin/fixtures/complex.json +0 -139
  271. data/spec/gherkin/fixtures/complex_for_filtering.feature +0 -60
  272. data/spec/gherkin/fixtures/complex_with_tags.feature +0 -61
  273. data/spec/gherkin/fixtures/dos_line_endings.feature +0 -45
  274. data/spec/gherkin/fixtures/examples_with_only_header.feature +0 -14
  275. data/spec/gherkin/fixtures/hantu_pisang.feature +0 -35
  276. data/spec/gherkin/fixtures/i18n_fr.feature +0 -14
  277. data/spec/gherkin/fixtures/i18n_fr2.feature +0 -8
  278. data/spec/gherkin/fixtures/i18n_no.feature +0 -7
  279. data/spec/gherkin/fixtures/i18n_pt1.feature +0 -44
  280. data/spec/gherkin/fixtures/i18n_pt2.feature +0 -4
  281. data/spec/gherkin/fixtures/i18n_pt3.feature +0 -4
  282. data/spec/gherkin/fixtures/i18n_pt4.feature +0 -4
  283. data/spec/gherkin/fixtures/i18n_zh-CN.feature +0 -9
  284. data/spec/gherkin/fixtures/iso-8859-1.feature +0 -6
  285. data/spec/gherkin/fixtures/issue_145.feature +0 -22
  286. data/spec/gherkin/fixtures/scenario_outline_with_tags.feature +0 -13
  287. data/spec/gherkin/fixtures/scenario_without_steps.feature +0 -5
  288. data/spec/gherkin/fixtures/simple_with_comments.feature +0 -7
  289. data/spec/gherkin/fixtures/simple_with_tags.feature +0 -11
  290. data/spec/gherkin/fixtures/with_bom.feature +0 -3
  291. data/spec/gherkin/fixtures/with_bom_and_language_spec.feature +0 -4
  292. data/spec/gherkin/formatter/ansi_escapes_spec.rb +0 -32
  293. data/spec/gherkin/formatter/filter_formatter_spec.rb +0 -204
  294. data/spec/gherkin/formatter/json_formatter_spec.rb +0 -179
  295. data/spec/gherkin/formatter/model_spec.rb +0 -28
  296. data/spec/gherkin/formatter/pretty_formatter_spec.rb +0 -184
  297. data/spec/gherkin/formatter/spaces.feature +0 -9
  298. data/spec/gherkin/formatter/step_printer_spec.rb +0 -55
  299. data/spec/gherkin/formatter/tabs.feature +0 -9
  300. data/spec/gherkin/formatter/tag_count_formatter_spec.rb +0 -30
  301. data/spec/gherkin/i18n_spec.rb +0 -256
  302. data/spec/gherkin/java_lexer_spec.rb +0 -20
  303. data/spec/gherkin/json_parser_spec.rb +0 -165
  304. data/spec/gherkin/lexer/i18n_lexer_spec.rb +0 -65
  305. data/spec/gherkin/native_lexer_spec.rb +0 -29
  306. data/spec/gherkin/parser/parser_spec.rb +0 -16
  307. data/spec/gherkin/rubify_spec.rb +0 -23
  308. data/spec/gherkin/sexp_recorder.rb +0 -59
  309. data/spec/gherkin/shared/doc_string_group.rb +0 -161
  310. data/spec/gherkin/shared/encoding_group.rb +0 -48
  311. data/spec/gherkin/shared/lexer_group.rb +0 -589
  312. data/spec/gherkin/shared/row_group.rb +0 -123
  313. data/spec/gherkin/shared/tags_group.rb +0 -52
  314. data/spec/gherkin/tag_expression_spec.rb +0 -146
  315. data/spec/spec_helper.rb +0 -94
  316. data/tasks/apidoc.rake +0 -32
  317. data/tasks/bench.rake +0 -184
  318. data/tasks/bench/feature_builder.rb +0 -49
  319. data/tasks/bench/null_listener.rb +0 -4
  320. data/tasks/compile.rake +0 -83
  321. data/tasks/cucumber.rake +0 -23
  322. data/tasks/gems.rake +0 -46
  323. data/tasks/ikvm.rake +0 -126
  324. data/tasks/ragel_task.rb +0 -124
  325. data/tasks/release.rake +0 -34
  326. data/tasks/rspec.rake +0 -6
  327. data/tasks/yard/default/layout/html/bubble_32x32.png +0 -0
  328. data/tasks/yard/default/layout/html/bubble_48x48.png +0 -0
  329. data/tasks/yard/default/layout/html/footer.erb +0 -5
  330. data/tasks/yard/default/layout/html/index.erb +0 -1
  331. data/tasks/yard/default/layout/html/layout.erb +0 -25
  332. data/tasks/yard/default/layout/html/logo.erb +0 -1
  333. data/tasks/yard/default/layout/html/setup.rb +0 -4
@@ -0,0 +1,10 @@
1
+ require 'simplecov'
2
+ formatters = [ SimpleCov::Formatter::HTMLFormatter ]
3
+
4
+ if ENV['TRAVIS']
5
+ require 'coveralls'
6
+ formatters << Coveralls::SimpleCov::Formatter
7
+ end
8
+
9
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[*formatters]
10
+ SimpleCov.start
@@ -0,0 +1,146 @@
1
+ require 'gherkin/parser'
2
+ require 'gherkin/token_scanner'
3
+ require 'gherkin/token_matcher'
4
+ require 'gherkin/ast_builder'
5
+ require 'gherkin/errors'
6
+ require 'rspec'
7
+
8
+ module Gherkin
9
+ describe Parser do
10
+ it "parses a simple feature" do
11
+ parser = Parser.new
12
+ scanner = TokenScanner.new("Feature: test")
13
+ ast = parser.parse(scanner)
14
+ expect(ast).to eq({
15
+ type: :Feature,
16
+ tags: [],
17
+ location: {line: 1, column: 1},
18
+ language: "en",
19
+ keyword: "Feature",
20
+ name: "test",
21
+ scenarioDefinitions: [],
22
+ comments: []
23
+ })
24
+ end
25
+
26
+ it "parses string feature" do
27
+ parser = Parser.new
28
+ ast = parser.parse("Feature: test")
29
+ expect(ast).to eq({
30
+ type: :Feature,
31
+ tags: [],
32
+ location: {line: 1, column: 1},
33
+ language: "en",
34
+ keyword: "Feature",
35
+ name: "test",
36
+ scenarioDefinitions: [],
37
+ comments: []
38
+ })
39
+ end
40
+
41
+ it "parses io feature" do
42
+ parser = Parser.new
43
+ ast = parser.parse(StringIO.new("Feature: test"))
44
+
45
+ expect(ast).to eq({
46
+ type: :Feature,
47
+ tags: [],
48
+ location: {line: 1, column: 1},
49
+ language: "en",
50
+ keyword: "Feature",
51
+ name: "test",
52
+ scenarioDefinitions: [],
53
+ comments: []
54
+ })
55
+ end
56
+
57
+ it "can parse multiple features" do
58
+ parser = Parser.new
59
+ ast1 = parser.parse(TokenScanner.new("Feature: test"))
60
+ ast2 = parser.parse(TokenScanner.new("Feature: test2"))
61
+
62
+ expect(ast1).to eq({
63
+ type: :Feature,
64
+ tags: [],
65
+ location: {line: 1, column: 1},
66
+ language: "en",
67
+ keyword: "Feature",
68
+ name: "test",
69
+ scenarioDefinitions: [],
70
+ comments: []
71
+ })
72
+ expect(ast2).to eq({
73
+ type: :Feature,
74
+ tags: [],
75
+ location: {line: 1, column: 1},
76
+ language: "en",
77
+ keyword: "Feature",
78
+ name: "test2",
79
+ scenarioDefinitions: [],
80
+ comments: []
81
+ })
82
+ end
83
+
84
+ it "can parse feature after parse error" do
85
+ parser = Parser.new
86
+ matcher = TokenMatcher.new
87
+
88
+ expect { parser.parse(TokenScanner.new("# a comment\n" +
89
+ "Feature: Foo\n" +
90
+ " Scenario: Bar\n" +
91
+ " Given x\n" +
92
+ " ```\n" +
93
+ " unclosed docstring\n"),
94
+ matcher)
95
+ }.to raise_error(ParserError)
96
+ ast = parser.parse(TokenScanner.new("Feature: Foo\n" +
97
+ " Scenario: Bar\n" +
98
+ " Given x\n" +
99
+ ' """' + "\n" +
100
+ " closed docstring\n" +
101
+ ' """' + "\n"),
102
+ matcher)
103
+
104
+ expect(ast).to eq({
105
+ type: :Feature,
106
+ tags: [],
107
+ location: {line: 1, column: 1},
108
+ language: "en",
109
+ keyword: "Feature",
110
+ name: "Foo",
111
+ scenarioDefinitions: [{
112
+ :type=>:Scenario,
113
+ :tags=>[],
114
+ :location=>{:line=>2, :column=>3},
115
+ :keyword=>"Scenario",
116
+ :name=>"Bar",
117
+ :steps=>[{
118
+ :type=>:Step,
119
+ :location=>{:line=>3, :column=>5},
120
+ :keyword=>"Given ",
121
+ :text=>"x",
122
+ :argument=>{:type=>:DocString,
123
+ :location=>{:line=>4, :column=>7},
124
+ :content=>"closed docstring"}}]}],
125
+ comments: []
126
+ })
127
+ end
128
+
129
+ it "can change the default language" do
130
+ parser = Parser.new
131
+ matcher = TokenMatcher.new("no")
132
+ scanner = TokenScanner.new("Egenskap: i18n support")
133
+ ast = parser.parse(scanner, matcher)
134
+ expect(ast).to eq({
135
+ type: :Feature,
136
+ tags: [],
137
+ location: {line: 1, column: 1},
138
+ language: "no",
139
+ keyword: "Egenskap",
140
+ name: "i18n support",
141
+ scenarioDefinitions: [],
142
+ comments: []
143
+ })
144
+ end
145
+ end
146
+ end
metadata CHANGED
@@ -1,645 +1,138 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gherkin
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.12.2
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
- - Mike Sassak
8
- - Gregory Hnatiuk
7
+ - Gáspár Nagy
9
8
  - Aslak Hellesøy
9
+ - Steve Tooke
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-10-12 00:00:00.000000000 Z
13
+ date: 2016-01-12 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: rake-compiler
17
- requirement: !ruby/object:Gem::Requirement
18
- requirements:
19
- - - '='
20
- - !ruby/object:Gem::Version
21
- version: 0.8.2
22
- type: :development
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- requirements:
26
- - - '='
27
- - !ruby/object:Gem::Version
28
- version: 0.8.2
29
- - !ruby/object:Gem::Dependency
30
- name: multi_json
31
- requirement: !ruby/object:Gem::Requirement
32
- requirements:
33
- - - ~>
34
- - !ruby/object:Gem::Version
35
- version: '1.3'
36
- type: :runtime
37
- prerelease: false
38
- version_requirements: !ruby/object:Gem::Requirement
39
- requirements:
40
- - - ~>
41
- - !ruby/object:Gem::Version
42
- version: '1.3'
43
- - !ruby/object:Gem::Dependency
44
- name: cucumber
16
+ name: bundler
45
17
  requirement: !ruby/object:Gem::Requirement
46
18
  requirements:
47
- - - '>='
19
+ - - "~>"
48
20
  - !ruby/object:Gem::Version
49
- version: 1.3.8
21
+ version: '1.7'
50
22
  type: :development
51
23
  prerelease: false
52
24
  version_requirements: !ruby/object:Gem::Requirement
53
25
  requirements:
54
- - - '>='
26
+ - - "~>"
55
27
  - !ruby/object:Gem::Version
56
- version: 1.3.8
28
+ version: '1.7'
57
29
  - !ruby/object:Gem::Dependency
58
30
  name: rake
59
31
  requirement: !ruby/object:Gem::Requirement
60
32
  requirements:
61
- - - '>='
33
+ - - "~>"
62
34
  - !ruby/object:Gem::Version
63
- version: 10.1.0
35
+ version: '10.4'
64
36
  type: :development
65
37
  prerelease: false
66
38
  version_requirements: !ruby/object:Gem::Requirement
67
39
  requirements:
68
- - - '>='
40
+ - - "~>"
69
41
  - !ruby/object:Gem::Version
70
- version: 10.1.0
71
- - !ruby/object:Gem::Dependency
72
- name: bundler
73
- requirement: !ruby/object:Gem::Requirement
74
- requirements:
75
- - - '>='
76
- - !ruby/object:Gem::Version
77
- version: 1.3.5
78
- type: :development
79
- prerelease: false
80
- version_requirements: !ruby/object:Gem::Requirement
81
- requirements:
82
- - - '>='
83
- - !ruby/object:Gem::Version
84
- version: 1.3.5
42
+ version: '10.4'
85
43
  - !ruby/object:Gem::Dependency
86
44
  name: rspec
87
45
  requirement: !ruby/object:Gem::Requirement
88
46
  requirements:
89
- - - ~>
90
- - !ruby/object:Gem::Version
91
- version: 2.14.1
92
- type: :development
93
- prerelease: false
94
- version_requirements: !ruby/object:Gem::Requirement
95
- requirements:
96
- - - ~>
97
- - !ruby/object:Gem::Version
98
- version: 2.14.1
99
- - !ruby/object:Gem::Dependency
100
- name: rubyzip
101
- requirement: !ruby/object:Gem::Requirement
102
- requirements:
103
- - - '>='
104
- - !ruby/object:Gem::Version
105
- version: 1.0.0
106
- type: :development
107
- prerelease: false
108
- version_requirements: !ruby/object:Gem::Requirement
109
- requirements:
110
- - - '>='
111
- - !ruby/object:Gem::Version
112
- version: 1.0.0
113
- - !ruby/object:Gem::Dependency
114
- name: ruby-beautify
115
- requirement: !ruby/object:Gem::Requirement
116
- requirements:
117
- - - '='
118
- - !ruby/object:Gem::Version
119
- version: 0.92.2
120
- type: :development
121
- prerelease: false
122
- version_requirements: !ruby/object:Gem::Requirement
123
- requirements:
124
- - - '='
125
- - !ruby/object:Gem::Version
126
- version: 0.92.2
127
- - !ruby/object:Gem::Dependency
128
- name: therubyracer
129
- requirement: !ruby/object:Gem::Requirement
130
- requirements:
131
- - - '>='
47
+ - - "~>"
132
48
  - !ruby/object:Gem::Version
133
- version: 0.12.0
49
+ version: '3.3'
134
50
  type: :development
135
51
  prerelease: false
136
52
  version_requirements: !ruby/object:Gem::Requirement
137
53
  requirements:
138
- - - '>='
54
+ - - "~>"
139
55
  - !ruby/object:Gem::Version
140
- version: 0.12.0
56
+ version: '3.3'
141
57
  - !ruby/object:Gem::Dependency
142
- name: yard
58
+ name: coveralls
143
59
  requirement: !ruby/object:Gem::Requirement
144
60
  requirements:
145
- - - '>='
61
+ - - "~>"
146
62
  - !ruby/object:Gem::Version
147
- version: 0.8.7.2
148
- type: :development
149
- prerelease: false
150
- version_requirements: !ruby/object:Gem::Requirement
151
- requirements:
152
- - - '>='
153
- - !ruby/object:Gem::Version
154
- version: 0.8.7.2
155
- - !ruby/object:Gem::Dependency
156
- name: rdiscount
157
- requirement: !ruby/object:Gem::Requirement
158
- requirements:
159
- - - '>='
63
+ version: '0.8'
64
+ - - "<"
160
65
  - !ruby/object:Gem::Version
161
- version: 2.1.6
66
+ version: 0.8.8
162
67
  type: :development
163
68
  prerelease: false
164
69
  version_requirements: !ruby/object:Gem::Requirement
165
70
  requirements:
166
- - - '>='
71
+ - - "~>"
167
72
  - !ruby/object:Gem::Version
168
- version: 2.1.6
169
- - !ruby/object:Gem::Dependency
170
- name: builder
171
- requirement: !ruby/object:Gem::Requirement
172
- requirements:
173
- - - '>='
73
+ version: '0.8'
74
+ - - "<"
174
75
  - !ruby/object:Gem::Version
175
- version: 3.2.2
176
- type: :development
177
- prerelease: false
178
- version_requirements: !ruby/object:Gem::Requirement
179
- requirements:
180
- - - '>='
181
- - !ruby/object:Gem::Version
182
- version: 3.2.2
183
- description: A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.
76
+ version: 0.8.8
77
+ description: Gherkin parser
184
78
  email: cukes@googlegroups.com
185
79
  executables: []
186
- extensions:
187
- - ext/gherkin_lexer_ar/extconf.rb
188
- - ext/gherkin_lexer_bg/extconf.rb
189
- - ext/gherkin_lexer_bm/extconf.rb
190
- - ext/gherkin_lexer_ca/extconf.rb
191
- - ext/gherkin_lexer_cs/extconf.rb
192
- - ext/gherkin_lexer_cy_gb/extconf.rb
193
- - ext/gherkin_lexer_da/extconf.rb
194
- - ext/gherkin_lexer_de/extconf.rb
195
- - ext/gherkin_lexer_el/extconf.rb
196
- - ext/gherkin_lexer_en/extconf.rb
197
- - ext/gherkin_lexer_en_au/extconf.rb
198
- - ext/gherkin_lexer_en_lol/extconf.rb
199
- - ext/gherkin_lexer_en_old/extconf.rb
200
- - ext/gherkin_lexer_en_pirate/extconf.rb
201
- - ext/gherkin_lexer_en_scouse/extconf.rb
202
- - ext/gherkin_lexer_en_tx/extconf.rb
203
- - ext/gherkin_lexer_eo/extconf.rb
204
- - ext/gherkin_lexer_es/extconf.rb
205
- - ext/gherkin_lexer_et/extconf.rb
206
- - ext/gherkin_lexer_fa/extconf.rb
207
- - ext/gherkin_lexer_fi/extconf.rb
208
- - ext/gherkin_lexer_fr/extconf.rb
209
- - ext/gherkin_lexer_gl/extconf.rb
210
- - ext/gherkin_lexer_he/extconf.rb
211
- - ext/gherkin_lexer_hi/extconf.rb
212
- - ext/gherkin_lexer_hr/extconf.rb
213
- - ext/gherkin_lexer_hu/extconf.rb
214
- - ext/gherkin_lexer_id/extconf.rb
215
- - ext/gherkin_lexer_is/extconf.rb
216
- - ext/gherkin_lexer_it/extconf.rb
217
- - ext/gherkin_lexer_ja/extconf.rb
218
- - ext/gherkin_lexer_kn/extconf.rb
219
- - ext/gherkin_lexer_ko/extconf.rb
220
- - ext/gherkin_lexer_lt/extconf.rb
221
- - ext/gherkin_lexer_lu/extconf.rb
222
- - ext/gherkin_lexer_lv/extconf.rb
223
- - ext/gherkin_lexer_nl/extconf.rb
224
- - ext/gherkin_lexer_no/extconf.rb
225
- - ext/gherkin_lexer_pa/extconf.rb
226
- - ext/gherkin_lexer_pl/extconf.rb
227
- - ext/gherkin_lexer_pt/extconf.rb
228
- - ext/gherkin_lexer_ro/extconf.rb
229
- - ext/gherkin_lexer_ru/extconf.rb
230
- - ext/gherkin_lexer_sk/extconf.rb
231
- - ext/gherkin_lexer_sr_cyrl/extconf.rb
232
- - ext/gherkin_lexer_sr_latn/extconf.rb
233
- - ext/gherkin_lexer_sv/extconf.rb
234
- - ext/gherkin_lexer_th/extconf.rb
235
- - ext/gherkin_lexer_tl/extconf.rb
236
- - ext/gherkin_lexer_tr/extconf.rb
237
- - ext/gherkin_lexer_tt/extconf.rb
238
- - ext/gherkin_lexer_uk/extconf.rb
239
- - ext/gherkin_lexer_uz/extconf.rb
240
- - ext/gherkin_lexer_vi/extconf.rb
241
- - ext/gherkin_lexer_zh_cn/extconf.rb
242
- - ext/gherkin_lexer_zh_tw/extconf.rb
80
+ extensions: []
243
81
  extra_rdoc_files: []
244
82
  files:
245
- - .gitattributes
246
- - .mailmap
247
- - .rbenv-gemsets
248
- - .rspec
249
- - .ruby-gemset
250
- - .ruby-version
251
- - .travis.yml
252
- - .yardopts
83
+ - ".travis.yml"
84
+ - CONTRIBUTING.md
253
85
  - Gemfile
254
- - History.md
255
86
  - LICENSE
87
+ - Makefile
256
88
  - README.md
257
89
  - Rakefile
258
- - build_native_gems.sh
259
- - cucumber.yml
260
- - examples/parse_and_output_json.rb
261
- - features/.cucumber/stepdefs.json
262
- - features/escaped_pipes.feature
263
- - features/feature_parser.feature
264
- - features/json_formatter.feature
265
- - features/json_parser.feature
266
- - features/native_lexer.feature
267
- - features/parser_with_native_lexer.feature
268
- - features/pretty_formatter.feature
269
- - features/step_definitions/eyeball_steps.rb
270
- - features/step_definitions/gherkin_steps.rb
271
- - features/step_definitions/json_formatter_steps.rb
272
- - features/step_definitions/json_parser_steps.rb
273
- - features/step_definitions/pretty_formatter_steps.rb
274
- - features/steps_parser.feature
275
- - features/support/env.rb
90
+ - bin/gherkin-generate-ast
91
+ - bin/gherkin-generate-pickles
92
+ - bin/gherkin-generate-tokens
93
+ - gherkin-ruby.razor
276
94
  - gherkin.gemspec
277
- - install_mingw_os_x.sh
278
- - js/.npmignore
279
- - js/lib/gherkin/lexer/.npmignore
280
- - lib/gherkin.rb
281
- - lib/gherkin/README.md
282
- - lib/gherkin/c_lexer.rb
283
- - lib/gherkin/formatter/ansi_escapes.rb
284
- - lib/gherkin/formatter/argument.rb
285
- - lib/gherkin/formatter/escaping.rb
286
- - lib/gherkin/formatter/filter_formatter.rb
287
- - lib/gherkin/formatter/hashable.rb
288
- - lib/gherkin/formatter/json_formatter.rb
289
- - lib/gherkin/formatter/line_filter.rb
290
- - lib/gherkin/formatter/model.rb
291
- - lib/gherkin/formatter/pretty_formatter.rb
292
- - lib/gherkin/formatter/regexp_filter.rb
293
- - lib/gherkin/formatter/step_printer.rb
294
- - lib/gherkin/formatter/tag_count_formatter.rb
295
- - lib/gherkin/formatter/tag_filter.rb
296
- - lib/gherkin/i18n.json
297
- - lib/gherkin/i18n.rb
298
- - lib/gherkin/json_parser.rb
299
- - lib/gherkin/lexer/encoding.rb
300
- - lib/gherkin/lexer/i18n_lexer.rb
301
- - lib/gherkin/listener/event.rb
302
- - lib/gherkin/listener/formatter_listener.rb
303
- - lib/gherkin/native.rb
304
- - lib/gherkin/native/java.rb
305
- - lib/gherkin/native/null.rb
306
- - lib/gherkin/native/therubyracer.rb
307
- - lib/gherkin/parser/meta.txt
308
- - lib/gherkin/parser/parser.rb
309
- - lib/gherkin/parser/root.txt
310
- - lib/gherkin/parser/steps.txt
311
- - lib/gherkin/platform.rb
312
- - lib/gherkin/rubify.rb
313
- - lib/gherkin/tag_expression.rb
314
- - ragel/lexer.c.rl.erb
315
- - ragel/lexer.java.rl.erb
316
- - ragel/lexer.js.rl.erb
317
- - ragel/lexer.rb.rl.erb
318
- - ragel/lexer_common.rl.erb
319
- - spec/gherkin/c_lexer_spec.rb
320
- - spec/gherkin/fixtures/1.feature
321
- - spec/gherkin/fixtures/comments_in_table.feature
322
- - spec/gherkin/fixtures/complex.feature
323
- - spec/gherkin/fixtures/complex.json
324
- - spec/gherkin/fixtures/complex_for_filtering.feature
325
- - spec/gherkin/fixtures/complex_with_tags.feature
326
- - spec/gherkin/fixtures/dos_line_endings.feature
327
- - spec/gherkin/fixtures/examples_with_only_header.feature
328
- - spec/gherkin/fixtures/hantu_pisang.feature
329
- - spec/gherkin/fixtures/i18n_fr.feature
330
- - spec/gherkin/fixtures/i18n_fr2.feature
331
- - spec/gherkin/fixtures/i18n_no.feature
332
- - spec/gherkin/fixtures/i18n_pt1.feature
333
- - spec/gherkin/fixtures/i18n_pt2.feature
334
- - spec/gherkin/fixtures/i18n_pt3.feature
335
- - spec/gherkin/fixtures/i18n_pt4.feature
336
- - spec/gherkin/fixtures/i18n_zh-CN.feature
337
- - spec/gherkin/fixtures/iso-8859-1.feature
338
- - spec/gherkin/fixtures/issue_145.feature
339
- - spec/gherkin/fixtures/scenario_outline_with_tags.feature
340
- - spec/gherkin/fixtures/scenario_without_steps.feature
341
- - spec/gherkin/fixtures/simple_with_comments.feature
342
- - spec/gherkin/fixtures/simple_with_tags.feature
343
- - spec/gherkin/fixtures/with_bom.feature
344
- - spec/gherkin/fixtures/with_bom_and_language_spec.feature
345
- - spec/gherkin/formatter/ansi_escapes_spec.rb
346
- - spec/gherkin/formatter/filter_formatter_spec.rb
347
- - spec/gherkin/formatter/json_formatter_spec.rb
348
- - spec/gherkin/formatter/model_spec.rb
349
- - spec/gherkin/formatter/pretty_formatter_spec.rb
350
- - spec/gherkin/formatter/spaces.feature
351
- - spec/gherkin/formatter/step_printer_spec.rb
352
- - spec/gherkin/formatter/tabs.feature
353
- - spec/gherkin/formatter/tag_count_formatter_spec.rb
354
- - spec/gherkin/i18n_spec.rb
355
- - spec/gherkin/java_lexer_spec.rb
356
- - spec/gherkin/json_parser_spec.rb
357
- - spec/gherkin/lexer/i18n_lexer_spec.rb
358
- - spec/gherkin/native_lexer_spec.rb
359
- - spec/gherkin/parser/parser_spec.rb
360
- - spec/gherkin/rubify_spec.rb
361
- - spec/gherkin/sexp_recorder.rb
362
- - spec/gherkin/shared/doc_string_group.rb
363
- - spec/gherkin/shared/encoding_group.rb
364
- - spec/gherkin/shared/lexer_group.rb
365
- - spec/gherkin/shared/row_group.rb
366
- - spec/gherkin/shared/tags_group.rb
367
- - spec/gherkin/tag_expression_spec.rb
368
- - spec/spec_helper.rb
369
- - tasks/apidoc.rake
370
- - tasks/bench.rake
371
- - tasks/bench/feature_builder.rb
372
- - tasks/bench/null_listener.rb
373
- - tasks/compile.rake
374
- - tasks/cucumber.rake
375
- - tasks/gems.rake
376
- - tasks/ikvm.rake
377
- - tasks/ragel_task.rb
378
- - tasks/release.rake
379
- - tasks/rspec.rake
380
- - tasks/yard/default/layout/html/bubble_32x32.png
381
- - tasks/yard/default/layout/html/bubble_48x48.png
382
- - tasks/yard/default/layout/html/footer.erb
383
- - tasks/yard/default/layout/html/index.erb
384
- - tasks/yard/default/layout/html/layout.erb
385
- - tasks/yard/default/layout/html/logo.erb
386
- - tasks/yard/default/layout/html/setup.rb
387
- - lib/gherkin/lexer/ar.rb
388
- - lib/gherkin/lexer/bg.rb
389
- - lib/gherkin/lexer/bm.rb
390
- - lib/gherkin/lexer/ca.rb
391
- - lib/gherkin/lexer/cs.rb
392
- - lib/gherkin/lexer/cy_gb.rb
393
- - lib/gherkin/lexer/da.rb
394
- - lib/gherkin/lexer/de.rb
395
- - lib/gherkin/lexer/el.rb
396
- - lib/gherkin/lexer/en.rb
397
- - lib/gherkin/lexer/en_au.rb
398
- - lib/gherkin/lexer/en_lol.rb
399
- - lib/gherkin/lexer/en_old.rb
400
- - lib/gherkin/lexer/en_pirate.rb
401
- - lib/gherkin/lexer/en_scouse.rb
402
- - lib/gherkin/lexer/en_tx.rb
403
- - lib/gherkin/lexer/eo.rb
404
- - lib/gherkin/lexer/es.rb
405
- - lib/gherkin/lexer/et.rb
406
- - lib/gherkin/lexer/fa.rb
407
- - lib/gherkin/lexer/fi.rb
408
- - lib/gherkin/lexer/fr.rb
409
- - lib/gherkin/lexer/gl.rb
410
- - lib/gherkin/lexer/he.rb
411
- - lib/gherkin/lexer/hi.rb
412
- - lib/gherkin/lexer/hr.rb
413
- - lib/gherkin/lexer/hu.rb
414
- - lib/gherkin/lexer/id.rb
415
- - lib/gherkin/lexer/is.rb
416
- - lib/gherkin/lexer/it.rb
417
- - lib/gherkin/lexer/ja.rb
418
- - lib/gherkin/lexer/kn.rb
419
- - lib/gherkin/lexer/ko.rb
420
- - lib/gherkin/lexer/lt.rb
421
- - lib/gherkin/lexer/lu.rb
422
- - lib/gherkin/lexer/lv.rb
423
- - lib/gherkin/lexer/nl.rb
424
- - lib/gherkin/lexer/no.rb
425
- - lib/gherkin/lexer/pa.rb
426
- - lib/gherkin/lexer/pl.rb
427
- - lib/gherkin/lexer/pt.rb
428
- - lib/gherkin/lexer/ro.rb
429
- - lib/gherkin/lexer/ru.rb
430
- - lib/gherkin/lexer/sk.rb
431
- - lib/gherkin/lexer/sr_cyrl.rb
432
- - lib/gherkin/lexer/sr_latn.rb
433
- - lib/gherkin/lexer/sv.rb
434
- - lib/gherkin/lexer/th.rb
435
- - lib/gherkin/lexer/tl.rb
436
- - lib/gherkin/lexer/tr.rb
437
- - lib/gherkin/lexer/tt.rb
438
- - lib/gherkin/lexer/uk.rb
439
- - lib/gherkin/lexer/uz.rb
440
- - lib/gherkin/lexer/vi.rb
441
- - lib/gherkin/lexer/zh_cn.rb
442
- - lib/gherkin/lexer/zh_tw.rb
443
- - ext/gherkin_lexer_ar/gherkin_lexer_ar.c
444
- - ext/gherkin_lexer_bg/gherkin_lexer_bg.c
445
- - ext/gherkin_lexer_bm/gherkin_lexer_bm.c
446
- - ext/gherkin_lexer_ca/gherkin_lexer_ca.c
447
- - ext/gherkin_lexer_cs/gherkin_lexer_cs.c
448
- - ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c
449
- - ext/gherkin_lexer_da/gherkin_lexer_da.c
450
- - ext/gherkin_lexer_de/gherkin_lexer_de.c
451
- - ext/gherkin_lexer_el/gherkin_lexer_el.c
452
- - ext/gherkin_lexer_en/gherkin_lexer_en.c
453
- - ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c
454
- - ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c
455
- - ext/gherkin_lexer_en_old/gherkin_lexer_en_old.c
456
- - ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c
457
- - ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c
458
- - ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c
459
- - ext/gherkin_lexer_eo/gherkin_lexer_eo.c
460
- - ext/gherkin_lexer_es/gherkin_lexer_es.c
461
- - ext/gherkin_lexer_et/gherkin_lexer_et.c
462
- - ext/gherkin_lexer_fa/gherkin_lexer_fa.c
463
- - ext/gherkin_lexer_fi/gherkin_lexer_fi.c
464
- - ext/gherkin_lexer_fr/gherkin_lexer_fr.c
465
- - ext/gherkin_lexer_gl/gherkin_lexer_gl.c
466
- - ext/gherkin_lexer_he/gherkin_lexer_he.c
467
- - ext/gherkin_lexer_hi/gherkin_lexer_hi.c
468
- - ext/gherkin_lexer_hr/gherkin_lexer_hr.c
469
- - ext/gherkin_lexer_hu/gherkin_lexer_hu.c
470
- - ext/gherkin_lexer_id/gherkin_lexer_id.c
471
- - ext/gherkin_lexer_is/gherkin_lexer_is.c
472
- - ext/gherkin_lexer_it/gherkin_lexer_it.c
473
- - ext/gherkin_lexer_ja/gherkin_lexer_ja.c
474
- - ext/gherkin_lexer_kn/gherkin_lexer_kn.c
475
- - ext/gherkin_lexer_ko/gherkin_lexer_ko.c
476
- - ext/gherkin_lexer_lt/gherkin_lexer_lt.c
477
- - ext/gherkin_lexer_lu/gherkin_lexer_lu.c
478
- - ext/gherkin_lexer_lv/gherkin_lexer_lv.c
479
- - ext/gherkin_lexer_nl/gherkin_lexer_nl.c
480
- - ext/gherkin_lexer_no/gherkin_lexer_no.c
481
- - ext/gherkin_lexer_pa/gherkin_lexer_pa.c
482
- - ext/gherkin_lexer_pl/gherkin_lexer_pl.c
483
- - ext/gherkin_lexer_pt/gherkin_lexer_pt.c
484
- - ext/gherkin_lexer_ro/gherkin_lexer_ro.c
485
- - ext/gherkin_lexer_ru/gherkin_lexer_ru.c
486
- - ext/gherkin_lexer_sk/gherkin_lexer_sk.c
487
- - ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c
488
- - ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c
489
- - ext/gherkin_lexer_sv/gherkin_lexer_sv.c
490
- - ext/gherkin_lexer_th/gherkin_lexer_th.c
491
- - ext/gherkin_lexer_tl/gherkin_lexer_tl.c
492
- - ext/gherkin_lexer_tr/gherkin_lexer_tr.c
493
- - ext/gherkin_lexer_tt/gherkin_lexer_tt.c
494
- - ext/gherkin_lexer_uk/gherkin_lexer_uk.c
495
- - ext/gherkin_lexer_uz/gherkin_lexer_uz.c
496
- - ext/gherkin_lexer_vi/gherkin_lexer_vi.c
497
- - ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c
498
- - ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c
499
- - ext/gherkin_lexer_ar/extconf.rb
500
- - ext/gherkin_lexer_bg/extconf.rb
501
- - ext/gherkin_lexer_bm/extconf.rb
502
- - ext/gherkin_lexer_ca/extconf.rb
503
- - ext/gherkin_lexer_cs/extconf.rb
504
- - ext/gherkin_lexer_cy_gb/extconf.rb
505
- - ext/gherkin_lexer_da/extconf.rb
506
- - ext/gherkin_lexer_de/extconf.rb
507
- - ext/gherkin_lexer_el/extconf.rb
508
- - ext/gherkin_lexer_en/extconf.rb
509
- - ext/gherkin_lexer_en_au/extconf.rb
510
- - ext/gherkin_lexer_en_lol/extconf.rb
511
- - ext/gherkin_lexer_en_old/extconf.rb
512
- - ext/gherkin_lexer_en_pirate/extconf.rb
513
- - ext/gherkin_lexer_en_scouse/extconf.rb
514
- - ext/gherkin_lexer_en_tx/extconf.rb
515
- - ext/gherkin_lexer_eo/extconf.rb
516
- - ext/gherkin_lexer_es/extconf.rb
517
- - ext/gherkin_lexer_et/extconf.rb
518
- - ext/gherkin_lexer_fa/extconf.rb
519
- - ext/gherkin_lexer_fi/extconf.rb
520
- - ext/gherkin_lexer_fr/extconf.rb
521
- - ext/gherkin_lexer_gl/extconf.rb
522
- - ext/gherkin_lexer_he/extconf.rb
523
- - ext/gherkin_lexer_hi/extconf.rb
524
- - ext/gherkin_lexer_hr/extconf.rb
525
- - ext/gherkin_lexer_hu/extconf.rb
526
- - ext/gherkin_lexer_id/extconf.rb
527
- - ext/gherkin_lexer_is/extconf.rb
528
- - ext/gherkin_lexer_it/extconf.rb
529
- - ext/gherkin_lexer_ja/extconf.rb
530
- - ext/gherkin_lexer_kn/extconf.rb
531
- - ext/gherkin_lexer_ko/extconf.rb
532
- - ext/gherkin_lexer_lt/extconf.rb
533
- - ext/gherkin_lexer_lu/extconf.rb
534
- - ext/gherkin_lexer_lv/extconf.rb
535
- - ext/gherkin_lexer_nl/extconf.rb
536
- - ext/gherkin_lexer_no/extconf.rb
537
- - ext/gherkin_lexer_pa/extconf.rb
538
- - ext/gherkin_lexer_pl/extconf.rb
539
- - ext/gherkin_lexer_pt/extconf.rb
540
- - ext/gherkin_lexer_ro/extconf.rb
541
- - ext/gherkin_lexer_ru/extconf.rb
542
- - ext/gherkin_lexer_sk/extconf.rb
543
- - ext/gherkin_lexer_sr_cyrl/extconf.rb
544
- - ext/gherkin_lexer_sr_latn/extconf.rb
545
- - ext/gherkin_lexer_sv/extconf.rb
546
- - ext/gherkin_lexer_th/extconf.rb
547
- - ext/gherkin_lexer_tl/extconf.rb
548
- - ext/gherkin_lexer_tr/extconf.rb
549
- - ext/gherkin_lexer_tt/extconf.rb
550
- - ext/gherkin_lexer_uk/extconf.rb
551
- - ext/gherkin_lexer_uz/extconf.rb
552
- - ext/gherkin_lexer_vi/extconf.rb
553
- - ext/gherkin_lexer_zh_cn/extconf.rb
554
- - ext/gherkin_lexer_zh_tw/extconf.rb
555
- homepage: http://github.com/cucumber/gherkin
95
+ - lib/gherkin/ast_builder.rb
96
+ - lib/gherkin/ast_node.rb
97
+ - lib/gherkin/dialect.rb
98
+ - lib/gherkin/errors.rb
99
+ - lib/gherkin/gherkin-languages.json
100
+ - lib/gherkin/gherkin_line.rb
101
+ - lib/gherkin/parser.rb
102
+ - lib/gherkin/pickles/compiler.rb
103
+ - lib/gherkin/token.rb
104
+ - lib/gherkin/token_formatter_builder.rb
105
+ - lib/gherkin/token_matcher.rb
106
+ - lib/gherkin/token_scanner.rb
107
+ - spec/capture_warnings.rb
108
+ - spec/coverage.rb
109
+ - spec/gherkin/parser_spec.rb
110
+ homepage: https://github.com/cucumber/gherkin
556
111
  licenses:
557
112
  - MIT
558
113
  metadata: {}
559
114
  post_install_message:
560
115
  rdoc_options:
561
- - --charset=UTF-8
116
+ - "--charset=UTF-8"
562
117
  require_paths:
563
118
  - lib
564
119
  required_ruby_version: !ruby/object:Gem::Requirement
565
120
  requirements:
566
- - - '>='
121
+ - - ">="
567
122
  - !ruby/object:Gem::Version
568
- version: '0'
123
+ version: 1.9.3
569
124
  required_rubygems_version: !ruby/object:Gem::Requirement
570
125
  requirements:
571
- - - '>='
126
+ - - ">="
572
127
  - !ruby/object:Gem::Version
573
128
  version: '0'
574
129
  requirements: []
575
130
  rubyforge_project:
576
- rubygems_version: 2.0.3
131
+ rubygems_version: 2.4.5
577
132
  signing_key:
578
133
  specification_version: 4
579
- summary: gherkin-2.12.2
134
+ summary: gherkin-3.2.0
580
135
  test_files:
581
- - features/escaped_pipes.feature
582
- - features/feature_parser.feature
583
- - features/json_formatter.feature
584
- - features/json_parser.feature
585
- - features/native_lexer.feature
586
- - features/parser_with_native_lexer.feature
587
- - features/pretty_formatter.feature
588
- - features/step_definitions/eyeball_steps.rb
589
- - features/step_definitions/gherkin_steps.rb
590
- - features/step_definitions/json_formatter_steps.rb
591
- - features/step_definitions/json_parser_steps.rb
592
- - features/step_definitions/pretty_formatter_steps.rb
593
- - features/steps_parser.feature
594
- - features/support/env.rb
595
- - spec/gherkin/c_lexer_spec.rb
596
- - spec/gherkin/fixtures/1.feature
597
- - spec/gherkin/fixtures/comments_in_table.feature
598
- - spec/gherkin/fixtures/complex.feature
599
- - spec/gherkin/fixtures/complex.json
600
- - spec/gherkin/fixtures/complex_for_filtering.feature
601
- - spec/gherkin/fixtures/complex_with_tags.feature
602
- - spec/gherkin/fixtures/dos_line_endings.feature
603
- - spec/gherkin/fixtures/examples_with_only_header.feature
604
- - spec/gherkin/fixtures/hantu_pisang.feature
605
- - spec/gherkin/fixtures/i18n_fr.feature
606
- - spec/gherkin/fixtures/i18n_fr2.feature
607
- - spec/gherkin/fixtures/i18n_no.feature
608
- - spec/gherkin/fixtures/i18n_pt1.feature
609
- - spec/gherkin/fixtures/i18n_pt2.feature
610
- - spec/gherkin/fixtures/i18n_pt3.feature
611
- - spec/gherkin/fixtures/i18n_pt4.feature
612
- - spec/gherkin/fixtures/i18n_zh-CN.feature
613
- - spec/gherkin/fixtures/iso-8859-1.feature
614
- - spec/gherkin/fixtures/issue_145.feature
615
- - spec/gherkin/fixtures/scenario_outline_with_tags.feature
616
- - spec/gherkin/fixtures/scenario_without_steps.feature
617
- - spec/gherkin/fixtures/simple_with_comments.feature
618
- - spec/gherkin/fixtures/simple_with_tags.feature
619
- - spec/gherkin/fixtures/with_bom.feature
620
- - spec/gherkin/fixtures/with_bom_and_language_spec.feature
621
- - spec/gherkin/formatter/ansi_escapes_spec.rb
622
- - spec/gherkin/formatter/filter_formatter_spec.rb
623
- - spec/gherkin/formatter/json_formatter_spec.rb
624
- - spec/gherkin/formatter/model_spec.rb
625
- - spec/gherkin/formatter/pretty_formatter_spec.rb
626
- - spec/gherkin/formatter/spaces.feature
627
- - spec/gherkin/formatter/step_printer_spec.rb
628
- - spec/gherkin/formatter/tabs.feature
629
- - spec/gherkin/formatter/tag_count_formatter_spec.rb
630
- - spec/gherkin/i18n_spec.rb
631
- - spec/gherkin/java_lexer_spec.rb
632
- - spec/gherkin/json_parser_spec.rb
633
- - spec/gherkin/lexer/i18n_lexer_spec.rb
634
- - spec/gherkin/native_lexer_spec.rb
635
- - spec/gherkin/parser/parser_spec.rb
636
- - spec/gherkin/rubify_spec.rb
637
- - spec/gherkin/sexp_recorder.rb
638
- - spec/gherkin/shared/doc_string_group.rb
639
- - spec/gherkin/shared/encoding_group.rb
640
- - spec/gherkin/shared/lexer_group.rb
641
- - spec/gherkin/shared/row_group.rb
642
- - spec/gherkin/shared/tags_group.rb
643
- - spec/gherkin/tag_expression_spec.rb
644
- - spec/spec_helper.rb
645
- has_rdoc:
136
+ - spec/capture_warnings.rb
137
+ - spec/coverage.rb
138
+ - spec/gherkin/parser_spec.rb