kosmas58-cucumber 0.1.16.6 → 0.1.99.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (248) hide show
  1. data/History.txt +126 -2
  2. data/License.txt +1 -1
  3. data/Manifest.txt +0 -270
  4. data/Rakefile +1 -1
  5. data/bin/cucumber +2 -2
  6. data/config/hoe.rb +7 -2
  7. data/examples/cs/features/step_definitons/calculator_steps.rb +1 -1
  8. data/examples/i18n/README.textile +1 -1
  9. data/examples/i18n/Rakefile +3 -3
  10. data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +1 -6
  11. data/examples/i18n/da/features/step_definitons/kalkulator_steps.rb +1 -1
  12. data/examples/i18n/de/features/addition.feature +6 -6
  13. data/examples/i18n/de/features/step_definitons/calculator_steps.rb +2 -2
  14. data/examples/i18n/en/features/addition.feature +6 -6
  15. data/examples/i18n/en/features/step_definitons/calculator_steps.rb +2 -2
  16. data/examples/i18n/es/features/adicion.feature +11 -12
  17. data/examples/i18n/es/features/step_definitons/calculador_steps.rb +7 -10
  18. data/examples/i18n/es/lib/calculador.rb +4 -1
  19. data/examples/i18n/et/features/liitmine.feature +7 -6
  20. data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +1 -1
  21. data/examples/i18n/fi/features/step_definitons/laskin_steps.rb +1 -1
  22. data/examples/i18n/fi/features/yhteenlasku.feature +2 -2
  23. data/examples/i18n/fr/features/addition.feature +2 -2
  24. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +1 -1
  25. data/examples/i18n/id/features/addition.feature +6 -6
  26. data/examples/i18n/id/features/step_definitons/calculator_steps.rb +2 -2
  27. data/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +1 -1
  28. data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +2 -3
  29. data/examples/i18n/ko/features/step_definitons/calculator_steps.rb +1 -1
  30. data/examples/i18n/lt/features/addition.feature +7 -6
  31. data/examples/i18n/lt/features/step_definitons/calculator_steps.rb +2 -2
  32. data/examples/i18n/no/features/step_definitons/kalkulator_steps.rb +7 -7
  33. data/examples/i18n/no/features/summering.feature +1 -0
  34. data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +1 -1
  35. data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +1 -1
  36. data/examples/i18n/se/features/step_definitons/kalkulator_steps.rb +1 -1
  37. data/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +2 -2
  38. data/examples/java/src/cucumber/demo/Hello.java +16 -0
  39. data/examples/jbehave/README.textile +17 -0
  40. data/examples/jbehave/features/support/env.rb +7 -0
  41. data/examples/jbehave/features/trading.feature +24 -0
  42. data/examples/jbehave/pom.xml +48 -0
  43. data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/converters/TraderConverter.java +32 -0
  44. data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/model/Stock.java +42 -0
  45. data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/model/Trader.java +29 -0
  46. data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/persistence/TraderPersister.java +22 -0
  47. data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/scenarios/TraderSteps.java +65 -0
  48. data/examples/self_test/README.textile +4 -1
  49. data/examples/{calculator_ruby_features → self_test}/Rakefile +3 -3
  50. data/examples/self_test/features/background/failing_background.feature +10 -0
  51. data/examples/self_test/features/background/failing_background_after_success.feature +11 -0
  52. data/examples/self_test/features/background/multiline_args_background.feature +32 -0
  53. data/examples/self_test/features/background/passing_background.feature +10 -0
  54. data/examples/self_test/features/background/pending_background.feature +10 -0
  55. data/examples/self_test/features/background/scenario_outline_failing_background.feature +16 -0
  56. data/examples/self_test/features/background/scenario_outline_passing_background.feature +16 -0
  57. data/examples/self_test/features/call_undefined_step_from_step_def.feature +7 -0
  58. data/examples/self_test/features/lots_of_undefined.feature +8 -0
  59. data/examples/self_test/features/outline_sample.feature +11 -5
  60. data/examples/self_test/features/sample.feature +8 -3
  61. data/examples/self_test/features/step_definitions/sample_steps.rb +53 -4
  62. data/examples/self_test/features/support/env.rb +1 -0
  63. data/examples/self_test/features/support/tag_count_formatter.rb +25 -0
  64. data/examples/tickets/features/172.feature +28 -0
  65. data/examples/tickets/features/177/1.feature +29 -0
  66. data/examples/tickets/features/177/2.feature +21 -0
  67. data/examples/tickets/features/177/3.feature +18 -0
  68. data/examples/tickets/features/180.feature +7 -0
  69. data/examples/tickets/features/scenario_outline.feature +6 -1
  70. data/examples/tickets/features/step_definitons/tickets_steps.rb +27 -3
  71. data/examples/tickets/features/tickets.feature +4 -0
  72. data/features/background.feature +223 -0
  73. data/features/cucumber_cli.feature +218 -98
  74. data/features/cucumber_cli_outlines.feature +54 -37
  75. data/features/custom_formatter.feature +11 -0
  76. data/features/report_called_undefined_steps.feature +32 -0
  77. data/features/step_definitions/cucumber_steps.rb +7 -3
  78. data/features/step_definitions/extra_steps.rb +1 -1
  79. data/features/support/env.rb +2 -1
  80. data/gem_tasks/flog.rake +1 -1
  81. data/gem_tasks/gemspec.rake +2 -2
  82. data/gem_tasks/jar.rake +67 -0
  83. data/lib/autotest/cucumber_mixin.rb +17 -23
  84. data/lib/cucumber.rb +63 -11
  85. data/lib/cucumber/ast.rb +29 -0
  86. data/lib/cucumber/ast/background.rb +88 -0
  87. data/lib/cucumber/ast/comment.rb +26 -0
  88. data/lib/cucumber/ast/examples.rb +26 -0
  89. data/lib/cucumber/ast/feature.rb +66 -0
  90. data/lib/cucumber/ast/features.rb +39 -0
  91. data/lib/cucumber/ast/filter.rb +22 -0
  92. data/lib/cucumber/ast/outline_table.rb +49 -0
  93. data/lib/cucumber/ast/py_string.rb +52 -0
  94. data/lib/cucumber/ast/scenario.rb +103 -0
  95. data/lib/cucumber/ast/scenario_outline.rb +92 -0
  96. data/lib/cucumber/ast/step.rb +161 -0
  97. data/lib/cucumber/ast/steps.rb +13 -0
  98. data/lib/cucumber/ast/table.rb +218 -0
  99. data/lib/cucumber/ast/tags.rb +40 -0
  100. data/lib/cucumber/ast/visitor.rb +109 -0
  101. data/lib/cucumber/broadcaster.rb +1 -6
  102. data/lib/cucumber/cli/configuration.rb +339 -0
  103. data/lib/cucumber/cli/language_help_formatter.rb +59 -0
  104. data/lib/cucumber/cli/main.rb +100 -0
  105. data/lib/cucumber/core_ext/exception.rb +41 -8
  106. data/lib/cucumber/core_ext/instance_exec.rb +54 -0
  107. data/lib/cucumber/core_ext/proc.rb +29 -65
  108. data/lib/cucumber/core_ext/string.rb +19 -0
  109. data/lib/cucumber/formatter.rb +1 -0
  110. data/lib/cucumber/{formatters → formatter}/ansicolor.rb +14 -16
  111. data/lib/cucumber/formatter/color_io.rb +17 -0
  112. data/lib/cucumber/formatter/console.rb +119 -0
  113. data/lib/cucumber/formatter/cucumber.css +55 -0
  114. data/lib/cucumber/formatter/cucumber.sass +49 -0
  115. data/lib/cucumber/formatter/html.rb +121 -0
  116. data/lib/cucumber/formatter/pretty.rb +167 -0
  117. data/lib/cucumber/formatter/profile.rb +77 -0
  118. data/lib/cucumber/formatter/progress.rb +68 -0
  119. data/lib/cucumber/formatter/rerun.rb +35 -0
  120. data/lib/cucumber/formatter/unicode.rb +35 -0
  121. data/lib/cucumber/formatters/unicode.rb +2 -35
  122. data/lib/cucumber/jbehave.rb +102 -0
  123. data/lib/cucumber/languages.yml +128 -75
  124. data/lib/cucumber/parser.rb +43 -0
  125. data/lib/cucumber/parser/basic.rb +0 -0
  126. data/lib/cucumber/parser/feature.rb +1490 -0
  127. data/lib/cucumber/parser/feature.tt +188 -0
  128. data/lib/cucumber/parser/i18n.tt +31 -0
  129. data/lib/cucumber/parser/table.rb +402 -0
  130. data/lib/cucumber/parser/table.tt +59 -0
  131. data/lib/cucumber/parser/treetop_ext.rb +75 -0
  132. data/lib/cucumber/platform.rb +3 -17
  133. data/lib/cucumber/rails/rspec.rb +5 -2
  134. data/lib/cucumber/step_definition.rb +87 -0
  135. data/lib/cucumber/step_mother.rb +151 -66
  136. data/lib/cucumber/version.rb +2 -2
  137. data/rails_generators/cucumber/USAGE +3 -2
  138. data/rails_generators/cucumber/cucumber_generator.rb +33 -23
  139. data/rails_generators/cucumber/templates/cucumber +2 -1
  140. data/rails_generators/cucumber/templates/cucumber.rake +6 -1
  141. data/rails_generators/cucumber/templates/env.rb +1 -1
  142. data/rails_generators/feature/USAGE +3 -0
  143. data/rails_generators/feature/feature_generator.rb +30 -6
  144. data/spec/cucumber/ast/background_spec.rb +58 -0
  145. data/spec/cucumber/ast/feature_factory.rb +54 -0
  146. data/spec/cucumber/ast/feature_spec.rb +60 -0
  147. data/spec/cucumber/ast/py_string_spec.rb +40 -0
  148. data/spec/cucumber/ast/scenario_outline_spec.rb +64 -0
  149. data/spec/cucumber/ast/scenario_spec.rb +82 -0
  150. data/spec/cucumber/ast/step_spec.rb +45 -0
  151. data/spec/cucumber/ast/table_spec.rb +81 -0
  152. data/spec/cucumber/ast/tags_spec.rb +23 -0
  153. data/spec/cucumber/broadcaster_spec.rb +4 -17
  154. data/spec/cucumber/cli/configuration_spec.rb +239 -0
  155. data/spec/cucumber/cli/main_spec.rb +164 -0
  156. data/spec/cucumber/core_ext/proc_spec.rb +27 -35
  157. data/spec/cucumber/core_ext/string_spec.rb +8 -0
  158. data/spec/cucumber/{formatters → formatter}/ansicolor_spec.rb +2 -2
  159. data/spec/cucumber/formatter/html/cucumber.css +37 -0
  160. data/spec/cucumber/formatter/html/cucumber.js +13 -0
  161. data/spec/cucumber/formatter/html/index.html +45 -0
  162. data/spec/cucumber/formatter/html/jquery-1.3.min.js +19 -0
  163. data/spec/cucumber/formatter/html/jquery.uitableedit.js +100 -0
  164. data/spec/cucumber/formatters/profile_formatter_spec.rb +17 -16
  165. data/spec/cucumber/parser/feature_parser_spec.rb +281 -0
  166. data/spec/cucumber/parser/table_parser_spec.rb +48 -0
  167. data/spec/cucumber/step_definition_spec.rb +62 -0
  168. data/spec/cucumber/step_mother_spec.rb +50 -51
  169. data/spec/cucumber/treetop_parser/empty_feature.feature +1 -1
  170. data/spec/cucumber/treetop_parser/scenario_outline.feature +1 -1
  171. data/spec/cucumber/treetop_parser/spaces.feature +3 -1
  172. data/spec/cucumber/treetop_parser/with_comments.feature +1 -1
  173. data/spec/cucumber/treetop_parser/with_tags.feature +18 -0
  174. data/spec/cucumber/world/pending_spec.rb +13 -12
  175. data/spec/spec_helper.rb +1 -1
  176. metadata +107 -79
  177. data/examples/calculator_ruby_features/features/addition.rb +0 -39
  178. data/examples/calculator_ruby_features/features/step_definitons/calculator_steps.rb +0 -43
  179. data/gem_tasks/treetop.rake +0 -41
  180. data/lib/cucumber/cli.rb +0 -355
  181. data/lib/cucumber/executor.rb +0 -205
  182. data/lib/cucumber/formatters.rb +0 -1
  183. data/lib/cucumber/formatters/autotest_formatter.rb +0 -23
  184. data/lib/cucumber/formatters/cucumber.css +0 -132
  185. data/lib/cucumber/formatters/cucumber.js +0 -11
  186. data/lib/cucumber/formatters/html_formatter.rb +0 -152
  187. data/lib/cucumber/formatters/jquery.js +0 -32
  188. data/lib/cucumber/formatters/pretty_formatter.rb +0 -285
  189. data/lib/cucumber/formatters/profile_formatter.rb +0 -92
  190. data/lib/cucumber/formatters/progress_formatter.rb +0 -61
  191. data/lib/cucumber/model.rb +0 -1
  192. data/lib/cucumber/model/table.rb +0 -32
  193. data/lib/cucumber/step_methods.rb +0 -49
  194. data/lib/cucumber/tree.rb +0 -16
  195. data/lib/cucumber/tree/feature.rb +0 -105
  196. data/lib/cucumber/tree/features.rb +0 -21
  197. data/lib/cucumber/tree/given_scenario.rb +0 -13
  198. data/lib/cucumber/tree/scenario.rb +0 -240
  199. data/lib/cucumber/tree/step.rb +0 -173
  200. data/lib/cucumber/tree/table.rb +0 -26
  201. data/lib/cucumber/tree/top_down_visitor.rb +0 -23
  202. data/lib/cucumber/treetop_parser/feature.treetop.erb +0 -254
  203. data/lib/cucumber/treetop_parser/feature_ar.rb +0 -1951
  204. data/lib/cucumber/treetop_parser/feature_cy.rb +0 -1951
  205. data/lib/cucumber/treetop_parser/feature_da.rb +0 -1951
  206. data/lib/cucumber/treetop_parser/feature_de.rb +0 -1951
  207. data/lib/cucumber/treetop_parser/feature_en-lol.rb +0 -1951
  208. data/lib/cucumber/treetop_parser/feature_en-tx.rb +0 -1951
  209. data/lib/cucumber/treetop_parser/feature_en.rb +0 -1951
  210. data/lib/cucumber/treetop_parser/feature_es.rb +0 -1951
  211. data/lib/cucumber/treetop_parser/feature_et.rb +0 -1951
  212. data/lib/cucumber/treetop_parser/feature_fi.rb +0 -1951
  213. data/lib/cucumber/treetop_parser/feature_fr.rb +0 -1951
  214. data/lib/cucumber/treetop_parser/feature_id.rb +0 -1951
  215. data/lib/cucumber/treetop_parser/feature_it.rb +0 -1951
  216. data/lib/cucumber/treetop_parser/feature_ja.rb +0 -1951
  217. data/lib/cucumber/treetop_parser/feature_ko.rb +0 -1951
  218. data/lib/cucumber/treetop_parser/feature_lt.rb +0 -1951
  219. data/lib/cucumber/treetop_parser/feature_nl.rb +0 -1951
  220. data/lib/cucumber/treetop_parser/feature_no.rb +0 -1951
  221. data/lib/cucumber/treetop_parser/feature_parser.rb +0 -36
  222. data/lib/cucumber/treetop_parser/feature_pl.rb +0 -1951
  223. data/lib/cucumber/treetop_parser/feature_pt.rb +0 -1951
  224. data/lib/cucumber/treetop_parser/feature_ro.rb +0 -1951
  225. data/lib/cucumber/treetop_parser/feature_ro2.rb +0 -1951
  226. data/lib/cucumber/treetop_parser/feature_ru.rb +0 -1951
  227. data/lib/cucumber/treetop_parser/feature_se.rb +0 -1951
  228. data/lib/cucumber/treetop_parser/feature_zh-CN.rb +0 -1951
  229. data/lib/cucumber/world.rb +0 -1
  230. data/lib/cucumber/world/pending.rb +0 -22
  231. data/setup.rb +0 -1585
  232. data/spec/cucumber/cli_spec.rb +0 -521
  233. data/spec/cucumber/executor_spec.rb +0 -382
  234. data/spec/cucumber/formatters/autotest_formatter_spec.rb +0 -26
  235. data/spec/cucumber/formatters/features.html +0 -269
  236. data/spec/cucumber/formatters/html_formatter_spec.rb +0 -110
  237. data/spec/cucumber/formatters/pretty_formatter_spec.rb +0 -410
  238. data/spec/cucumber/formatters/progress_formatter_spec.rb +0 -81
  239. data/spec/cucumber/model/table_spec.rb +0 -32
  240. data/spec/cucumber/tree/feature_spec.rb +0 -122
  241. data/spec/cucumber/tree/row_scenario_outline_spec.rb +0 -73
  242. data/spec/cucumber/tree/row_scenario_spec.rb +0 -55
  243. data/spec/cucumber/tree/row_step_outline_spec.rb +0 -38
  244. data/spec/cucumber/tree/scenario_outline_spec.rb +0 -50
  245. data/spec/cucumber/tree/scenario_spec.rb +0 -134
  246. data/spec/cucumber/tree/step_outline_spec.rb +0 -17
  247. data/spec/cucumber/tree/step_spec.rb +0 -59
  248. data/spec/cucumber/treetop_parser/feature_parser_spec.rb +0 -120
data/History.txt CHANGED
@@ -1,9 +1,130 @@
1
- === New features
1
+ === Added language option to generators and rake
2
2
  * Added language as rake option
3
3
  * Added GemInstaller config files
4
4
  * Added CruiseControl.rb files
5
5
 
6
- == 0.1.16.x (Git)
6
+ == Git (0.2 alpha)
7
+
8
+ This is a major rewrite of Cucumber's internals. The rewrite was done to address technical
9
+ debt and to have a codebase that is easier to evolve and maintain. There are some major
10
+ changes to the Gherkin language, so this release is not fully backwards compatible. You
11
+ may have to edit your feature files a little. Most importantly, "GivenScenario" and
12
+ "More Examples" no longer exist. See the "Removed features" section below for more details
13
+ on how to use alternatives.
14
+
15
+ **** CALL FOR TRANSLATORS ****
16
+ Since the grammar has changed, there are some new keywords. We have to rely on the community
17
+ to provide updated translations. This is much easier than before - just update languages.yml.
18
+ There is no static code generation anymore. To list all languages:
19
+
20
+ cucumber --lang help
21
+
22
+ And to list the keywords for a particular language:
23
+
24
+ cucumber --lang en-lol help
25
+
26
+ So just go ahead and list the language of your choice and send us updated translations.
27
+
28
+ There are some really awesome new features in this release: Tagging, Autoformatting, automatic
29
+ aliasing of keywords in all languages, much better Ruby 1.9 support and improved output
30
+ for multiline arguments are some of the highlights.
31
+
32
+ This version also brings Cucumber even closer to Java. Although it has been possible to
33
+ run Cucumber on JRuby since v0.1.11, it has required that step definitions be defined
34
+ in Ruby code. This has been a barrier for many Java developers who don't know Ruby.
35
+
36
+ With this version you can write step definitions in pure Java code! Java step definitions
37
+ are implemented simply by subclassing org.jbehave.scenario.steps.Steps. Example:
38
+
39
+ package super.duper;
40
+
41
+ public class MyJavaSteps extends Steps {
42
+ @Given("I have %count cucumbers in my belly")
43
+ public void cucumbersInTheBelly(int count) {
44
+ // talk to the Belly class
45
+ }
46
+
47
+ @Then("I should not be hungry for %n hours")
48
+ public void shouldNotBeHungry(int n) {
49
+ // Make assertions with JUnit or Hamcrest
50
+ }
51
+ }
52
+
53
+ The only Ruby code you have to write is a little wiring in your env.rb file:
54
+
55
+ require 'cucumber/jbehave'
56
+ JBehave(super.duper.MyJavaSteps.new)
57
+
58
+ You might be wondering what this brings over just using the whole JBehave tool
59
+ standalone. Well, it gives you access to the Gherkin language in your features,
60
+ which is a richer DSL than JBehave's language. -Over 20 spoken languages, Tables,
61
+ Scenario Outlines, the rich command line, the nice output format and everything
62
+ pure Ruby users have been enjoying for a while.
63
+
64
+ == TODO Before 0.2 release
65
+ * Make sure all features and specs pass on Windows, JRuby and Ruby 1.9
66
+ * Tighten up and simplify the grammar. More edge case features/specs.
67
+ * Reintroduce StepInvocation. Reduce some of the redundant calls to StepDefinition/StepMother. Align with JBehave.
68
+ * Make some class diagrams.
69
+ * Implement at least a basic HTML formatter
70
+ * Run a single cucumber feature from rake "rake features FEATURE=/path/to/feature:line"
71
+ * Wiki page about running subsets
72
+ ** file:line
73
+ *** scenario (or step within)
74
+ *** scenario outline
75
+ *** scenario outline examples
76
+ *** line in an example table
77
+ *** background (same as whole file)
78
+ *** fix bugs in any of those cases (there are some)
79
+ ** --tags
80
+ *** Link to page about tags
81
+ * Tags with arguments
82
+ * cucumber.jar + examples
83
+ ** Remove need for -S cucumber
84
+ ** Full jar and simple jar
85
+
86
+ == Bugfixes
87
+ * Depend on polyglot version (0.2.4) to avoid masking require errors. (Aslak Hellesøy).
88
+ * -n option does not suppress the line info for a Scenario Outline (#175 Aslak Hellesøy)
89
+ * Errors with rspec-rails matchers in cucumber 0.1.99 (#173 David Chelimsky)
90
+ * Can't use an empty string as a table value in a scenario outline (#172 Aslak Hellesøy)
91
+ * Really skip skipped steps (#90 Aslak Hellesøy)
92
+ * No output for multi-line strings (#71 Aslak Hellesøy)
93
+ * Fix cucumber/formatters/unicode flaws on Windows (#145 Michael)
94
+ * Autotest-related Bugs: YAML missing (#136 Tobias Pape)
95
+ * Overeager "rescue LoadError" hides lots of errors (#137 Jonathan del Strother)
96
+ * Nested steps don't show mismatch (#116 Aslak Hellesøy)
97
+ * Pending steps in > steps called from steps (#65 Aslak Hellesøy)
98
+
99
+ === New features
100
+ * Keywords can be aliased in languages.yml. See English for an example (examples: Examples|Scenarios)
101
+ * Adding support for Background (#153 Joseph Wilk)
102
+ * Added Česky/Czech (Vojtech Salbaba)
103
+ * New --no-multiline option to reduce noise. Useful if lots of features are failing.
104
+ * Added ability to pass URIs to cucumber in addition to files and directories. Useful for troubleshooting! (Aslak Hellesøy)
105
+ * Groups of tabular scenarios (#57 Aslak Hellesøy)
106
+ * Tagging scenarios and features. Pick the ones to run with --tags (#54 Aslak Hellesøy)
107
+ * Make the current scenario available to the steps. (#44 Aslak Hellesøy)
108
+ * Step definition snippets contain a 'pending' call (#84 Aslak Hellesøy)
109
+ * Call multiline steps from other steps (#144 Aslak Hellesøy)
110
+ * Run cucumber with --autoformat DIR to reformat (pretty print) all of your feature files. (Aslak Hellesøy)
111
+ * New --strict option exits with an error code if there are undefined steps. (#52 Aslak Hellesøy)
112
+ * Given, When, Then are automatically aliased to current language.
113
+ Ruby 1.8 doesn't allow non-ascii method names in the source, so unless you're on 1.9
114
+ you will have to use Given, When, Then or set up your own aliases. Here is Norwegian:
115
+ Cucumber.alias_steps(%w{Naar Saa}) # Når, Så already aliased, but can't be called. (Aslak Hellesøy)
116
+ * Run cucumber --language help to see all supported languages. (Aslak Hellesøy)
117
+ * Run cucumber --language LANG help to see keywords for a given language. (Aslak Hellesøy)
118
+ * Multiline arguments (tables and """ strings) are printed in the output. (Aslak Hellesøy)
119
+ * It's no longer necessary to compile the Treetop grammar when adding a new language. Localised parser is generated at runtime. (Aslak Hellesøy)
120
+ * New --guess option tries to guess the best step definition match instead of raising Cucumber::Multiple. (Jake Howerton)
121
+
122
+ === Removed features
123
+ * "GivenScenario" is gone. Instead you can call Steps from Steps, or wait for "Background (#153)"
124
+ * "More Examples" is gone. "Scenario" + "More Examples" is no longer supported. Use "Scenario Outline" + "Examples" instead.
125
+ * Pure Ruby features are no longer supported.
126
+
127
+ == (0.16.4 aslakhellesoy-webrat gem on GitHub)
7
128
 
8
129
  Bugfix release.
9
130
 
@@ -22,6 +143,7 @@ to this:
22
143
  * Use Webrat's #contain matcher in generated "I should (not) see" step definitions (Bryan Helmkamp)
23
144
 
24
145
  == Bugfixes
146
+ * Escaped quotes - \" - inside multiline strings will be unescaped.
25
147
  * Flush output in HTML formatter since JRuby doesnt do it automatically (Diego Carrion)
26
148
  * Better handling of ARGV (#169 David Chelimsky, Ben Mabey)
27
149
  * Compatibility with ruby-debug (do ARGV.dup in bin/cucumber so it can restart ruby with same args) (Aslak Hellesøy)
@@ -32,6 +154,8 @@ This is a small bugfix release. The most notable improvement is compatibility wi
32
154
  upgrade both Cucumber and Webrat gems.
33
155
 
34
156
  === New features
157
+ * Allow argument placeholders in step tables and multiline comments (#121 Joseph Wilk)
158
+ * Scenario Outline can be followed by several named Examples sections (#123 Aslak Hellesøy)
35
159
  * Add the #binary= method back to the Rake task. It is needed by merb_cucumber for running the features of a merb app with it's bundled gems. (Thomas Marek)
36
160
  * Added a /^When I go to (.+)$/ step definition to webrat_steps.rb and a simple page name to path mapping method (Bryan Helmkamp)
37
161
 
data/License.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2008 Aslak Hellesøy
1
+ Copyright (c) 2008,2009 Aslak Hellesøy
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/Manifest.txt CHANGED
@@ -1,270 +0,0 @@
1
- History.txt
2
- License.txt
3
- Manifest.txt
4
- README.txt
5
- Rakefile
6
- bin/cucumber
7
- config/hoe.rb
8
- config/requirements.rb
9
- cucumber.yml
10
- examples/calculator_ruby_features/Rakefile
11
- examples/calculator_ruby_features/features/addition.rb
12
- examples/calculator_ruby_features/features/step_definitons/calculator_steps.rb
13
- examples/cs/README.textile
14
- examples/cs/Rakefile
15
- examples/cs/compile.bat
16
- examples/cs/features/addition.feature
17
- examples/cs/features/step_definitons/calculator_steps.rb
18
- examples/cs/src/demo/Calculator.cs
19
- examples/dos_line_endings/Rakefile
20
- examples/dos_line_endings/features/dos_line_endings.feature
21
- examples/i18n/README.textile
22
- examples/i18n/Rakefile
23
- examples/i18n/ar/Rakefile
24
- examples/i18n/ar/features/addition.feature
25
- examples/i18n/ar/features/step_definitons/calculator_steps.rb
26
- examples/i18n/ar/lib/calculator.rb
27
- examples/i18n/da/Rakefile
28
- examples/i18n/da/features/step_definitons/kalkulator_steps.rb
29
- examples/i18n/da/features/summering.feature
30
- examples/i18n/da/lib/kalkulator.rb
31
- examples/i18n/de/Rakefile
32
- examples/i18n/de/features/addition.feature
33
- examples/i18n/de/features/division.feature
34
- examples/i18n/de/features/step_definitons/calculator_steps.rb
35
- examples/i18n/de/lib/calculator.rb
36
- examples/i18n/en/Rakefile
37
- examples/i18n/en/features/addition.feature
38
- examples/i18n/en/features/division.feature
39
- examples/i18n/en/features/step_definitons/calculator_steps.rb
40
- examples/i18n/en/lib/calculator.rb
41
- examples/i18n/es/Rakefile
42
- examples/i18n/es/features/adicion.feature
43
- examples/i18n/es/features/step_definitons/calculador_steps.rb
44
- examples/i18n/es/lib/calculador.rb
45
- examples/i18n/et/Rakefile
46
- examples/i18n/et/features/liitmine.feature
47
- examples/i18n/et/features/step_definitions/kalkulaator_steps.rb
48
- examples/i18n/et/lib/kalkulaator.rb
49
- examples/i18n/fi/Rakefile
50
- examples/i18n/fi/features/jakolasku.feature
51
- examples/i18n/fi/features/step_definitons/laskin_steps.rb
52
- examples/i18n/fi/features/yhteenlasku.feature
53
- examples/i18n/fi/lib/laskin.rb
54
- examples/i18n/fr/Rakefile
55
- examples/i18n/fr/features/addition.feature
56
- examples/i18n/fr/features/step_definitions/calculatrice_steps.rb
57
- examples/i18n/fr/lib/calculatrice.rb
58
- examples/i18n/id/Rakefile
59
- examples/i18n/id/features/addition.feature
60
- examples/i18n/id/features/division.feature
61
- examples/i18n/id/features/step_definitons/calculator_steps.rb
62
- examples/i18n/id/lib/calculator.rb
63
- examples/i18n/it/Rakefile
64
- examples/i18n/it/features/somma.feature
65
- examples/i18n/it/features/step_definitons/calcolatrice_steps.rb
66
- examples/i18n/it/lib/calcolatrice.rb
67
- examples/i18n/ja/README.txt
68
- examples/i18n/ja/Rakefile
69
- examples/i18n/ja/features/addition.feature
70
- examples/i18n/ja/features/division.feature
71
- examples/i18n/ja/features/step_definitons/calculator_steps.rb
72
- examples/i18n/ja/lib/calculator.rb
73
- examples/i18n/ko/Rakefile
74
- examples/i18n/ko/features/addition.feature
75
- examples/i18n/ko/features/division.feature
76
- examples/i18n/ko/features/step_definitons/calculator_steps.rb
77
- examples/i18n/ko/lib/calculator.rb
78
- examples/i18n/lt/Rakefile
79
- examples/i18n/lt/features/addition.feature
80
- examples/i18n/lt/features/division.feature
81
- examples/i18n/lt/features/step_definitons/calculator_steps.rb
82
- examples/i18n/lt/lib/calculator.rb
83
- examples/i18n/no/Rakefile
84
- examples/i18n/no/features/step_definitons/kalkulator_steps.rb
85
- examples/i18n/no/features/summering.feature
86
- examples/i18n/no/lib/kalkulator.rb
87
- examples/i18n/pt/Rakefile
88
- examples/i18n/pt/features/adicao.feature
89
- examples/i18n/pt/features/step_definitions/calculadora_steps.rb
90
- examples/i18n/pt/lib/calculadora.rb
91
- examples/i18n/ro/Rakefile
92
- examples/i18n/ro/features/step_definitons/calculator_steps.rb
93
- examples/i18n/ro/features/suma.feature
94
- examples/i18n/ro/lib/calculator.rb
95
- examples/i18n/se/Rakefile
96
- examples/i18n/se/features/step_definitons/kalkulator_steps.rb
97
- examples/i18n/se/features/summering.feature
98
- examples/i18n/se/lib/kalkulator.rb
99
- examples/i18n/zh-CN/Rakefile
100
- examples/i18n/zh-CN/features/addition.feature
101
- examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb
102
- examples/i18n/zh-CN/lib/calculator.rb
103
- examples/java/README.textile
104
- examples/java/Rakefile
105
- examples/java/features/hello.feature
106
- examples/java/features/step_definitons/hello_steps.rb
107
- examples/java/features/step_definitons/tree_steps.rb
108
- examples/java/features/tree.feature
109
- examples/selenium/Rakefile
110
- examples/selenium/features/search.feature
111
- examples/selenium/features/step_definitons/stories_steps.rb
112
- examples/self_test/README.textile
113
- examples/self_test/features/outline_sample.feature
114
- examples/self_test/features/sample.feature
115
- examples/self_test/features/step_definitions/sample_steps.rb
116
- examples/test_unit/Rakefile
117
- examples/test_unit/features/step_definitions/test_unit_steps.rb
118
- examples/test_unit/features/test_unit.feature
119
- examples/tickets/Rakefile
120
- examples/tickets/cucumber.yml
121
- examples/tickets/features/lib/eatting_machine.rb
122
- examples/tickets/features/lib/pantry.rb
123
- examples/tickets/features/scenario_outline.feature
124
- examples/tickets/features/step_definitons/scenario_outline_steps.rb
125
- examples/tickets/features/step_definitons/tickets_steps.rb
126
- examples/tickets/features/tickets.feature
127
- examples/watir/README.textile
128
- examples/watir/Rakefile
129
- examples/watir/features/search.feature
130
- examples/watir/features/step_definitons/search_steps.rb
131
- examples/watir/features/support/env.rb
132
- features/cucumber_cli.feature
133
- features/cucumber_cli_outlines.feature
134
- features/step_definitions/cucumber_steps.rb
135
- features/step_definitions/extra_steps.rb
136
- features/support/env.rb
137
- gem_tasks/deployment.rake
138
- gem_tasks/environment.rake
139
- gem_tasks/features.rake
140
- gem_tasks/fix_cr_lf.rake
141
- gem_tasks/flog.rake
142
- gem_tasks/gemspec.rake
143
- gem_tasks/rspec.rake
144
- gem_tasks/treetop.rake
145
- gem_tasks/yard.rake
146
- lib/autotest/cucumber.rb
147
- lib/autotest/cucumber_mixin.rb
148
- lib/autotest/cucumber_rails.rb
149
- lib/autotest/cucumber_rails_rspec.rb
150
- lib/autotest/cucumber_rspec.rb
151
- lib/autotest/discover.rb
152
- lib/cucumber.rb
153
- lib/cucumber/broadcaster.rb
154
- lib/cucumber/cli.rb
155
- lib/cucumber/core_ext/exception.rb
156
- lib/cucumber/core_ext/proc.rb
157
- lib/cucumber/core_ext/string.rb
158
- lib/cucumber/executor.rb
159
- lib/cucumber/formatters.rb
160
- lib/cucumber/formatters/ansicolor.rb
161
- lib/cucumber/formatters/autotest_formatter.rb
162
- lib/cucumber/formatters/cucumber.css
163
- lib/cucumber/formatters/cucumber.js
164
- lib/cucumber/formatters/html_formatter.rb
165
- lib/cucumber/formatters/jquery.js
166
- lib/cucumber/formatters/pretty_formatter.rb
167
- lib/cucumber/formatters/profile_formatter.rb
168
- lib/cucumber/formatters/progress_formatter.rb
169
- lib/cucumber/formatters/unicode.rb
170
- lib/cucumber/languages.yml
171
- lib/cucumber/model.rb
172
- lib/cucumber/model/table.rb
173
- lib/cucumber/platform.rb
174
- lib/cucumber/rails/rspec.rb
175
- lib/cucumber/rails/world.rb
176
- lib/cucumber/rake/task.rb
177
- lib/cucumber/step_methods.rb
178
- lib/cucumber/step_mother.rb
179
- lib/cucumber/tree.rb
180
- lib/cucumber/tree/feature.rb
181
- lib/cucumber/tree/features.rb
182
- lib/cucumber/tree/given_scenario.rb
183
- lib/cucumber/tree/scenario.rb
184
- lib/cucumber/tree/step.rb
185
- lib/cucumber/tree/table.rb
186
- lib/cucumber/tree/top_down_visitor.rb
187
- lib/cucumber/treetop_parser/feature.treetop.erb
188
- lib/cucumber/treetop_parser/feature_ar.rb
189
- lib/cucumber/treetop_parser/feature_cy.rb
190
- lib/cucumber/treetop_parser/feature_da.rb
191
- lib/cucumber/treetop_parser/feature_de.rb
192
- lib/cucumber/treetop_parser/feature_en-lol.rb
193
- lib/cucumber/treetop_parser/feature_en-tx.rb
194
- lib/cucumber/treetop_parser/feature_en.rb
195
- lib/cucumber/treetop_parser/feature_es.rb
196
- lib/cucumber/treetop_parser/feature_et.rb
197
- lib/cucumber/treetop_parser/feature_fi.rb
198
- lib/cucumber/treetop_parser/feature_fr.rb
199
- lib/cucumber/treetop_parser/feature_id.rb
200
- lib/cucumber/treetop_parser/feature_it.rb
201
- lib/cucumber/treetop_parser/feature_ja.rb
202
- lib/cucumber/treetop_parser/feature_ko.rb
203
- lib/cucumber/treetop_parser/feature_lt.rb
204
- lib/cucumber/treetop_parser/feature_nl.rb
205
- lib/cucumber/treetop_parser/feature_no.rb
206
- lib/cucumber/treetop_parser/feature_parser.rb
207
- lib/cucumber/treetop_parser/feature_pl.rb
208
- lib/cucumber/treetop_parser/feature_pt.rb
209
- lib/cucumber/treetop_parser/feature_ro.rb
210
- lib/cucumber/treetop_parser/feature_ro2.rb
211
- lib/cucumber/treetop_parser/feature_ru.rb
212
- lib/cucumber/treetop_parser/feature_se.rb
213
- lib/cucumber/treetop_parser/feature_zh-CN.rb
214
- lib/cucumber/version.rb
215
- lib/cucumber/world.rb
216
- lib/cucumber/world/pending.rb
217
- rails_generators/cucumber/USAGE
218
- rails_generators/cucumber/cucumber_generator.rb
219
- rails_generators/cucumber/templates/cucumber
220
- rails_generators/cucumber/templates/cucumber.rake
221
- rails_generators/cucumber/templates/env.rb
222
- rails_generators/cucumber/templates/paths.rb
223
- rails_generators/cucumber/templates/webrat_steps.rb
224
- rails_generators/feature/USAGE
225
- rails_generators/feature/feature_generator.rb
226
- rails_generators/feature/templates/feature.erb
227
- rails_generators/feature/templates/steps.erb
228
- setup.rb
229
- spec/cucumber/broadcaster_spec.rb
230
- spec/cucumber/cli_spec.rb
231
- spec/cucumber/core_ext/proc_spec.rb
232
- spec/cucumber/core_ext/string_spec.rb
233
- spec/cucumber/executor_spec.rb
234
- spec/cucumber/formatters/ansicolor_spec.rb
235
- spec/cucumber/formatters/autotest_formatter_spec.rb
236
- spec/cucumber/formatters/features.html
237
- spec/cucumber/formatters/html_formatter_spec.rb
238
- spec/cucumber/formatters/pretty_formatter_spec.rb
239
- spec/cucumber/formatters/profile_formatter_spec.rb
240
- spec/cucumber/formatters/progress_formatter_spec.rb
241
- spec/cucumber/model/table_spec.rb
242
- spec/cucumber/rails/stubs/mini_rails.rb
243
- spec/cucumber/rails/stubs/test_help.rb
244
- spec/cucumber/rails/world_spec.rb
245
- spec/cucumber/sell_cucumbers.feature
246
- spec/cucumber/step_mother_spec.rb
247
- spec/cucumber/tree/feature_spec.rb
248
- spec/cucumber/tree/row_scenario_outline_spec.rb
249
- spec/cucumber/tree/row_scenario_spec.rb
250
- spec/cucumber/tree/row_step_outline_spec.rb
251
- spec/cucumber/tree/scenario_outline_spec.rb
252
- spec/cucumber/tree/scenario_spec.rb
253
- spec/cucumber/tree/step_outline_spec.rb
254
- spec/cucumber/tree/step_spec.rb
255
- spec/cucumber/treetop_parser/empty_feature.feature
256
- spec/cucumber/treetop_parser/empty_scenario.feature
257
- spec/cucumber/treetop_parser/empty_scenario_outline.feature
258
- spec/cucumber/treetop_parser/feature_parser_spec.rb
259
- spec/cucumber/treetop_parser/fit_scenario.feature
260
- spec/cucumber/treetop_parser/given_scenario.feature
261
- spec/cucumber/treetop_parser/invalid_scenario_outlines.feature
262
- spec/cucumber/treetop_parser/multiline_steps.feature
263
- spec/cucumber/treetop_parser/multiple_tables.feature
264
- spec/cucumber/treetop_parser/scenario_outline.feature
265
- spec/cucumber/treetop_parser/spaces.feature
266
- spec/cucumber/treetop_parser/test_dos.feature
267
- spec/cucumber/treetop_parser/with_comments.feature
268
- spec/cucumber/world/pending_spec.rb
269
- spec/spec.opts
270
- spec/spec_helper.rb
data/Rakefile CHANGED
@@ -6,4 +6,4 @@ require 'config/hoe' # setup Hoe + all gem configuration
6
6
  Dir['gem_tasks/**/*.rake'].each { |rake| load rake }
7
7
 
8
8
  # Hoe gives us :default => :test, but we don't have Test::Unit tests.
9
- Rake::Task[:default].clear_prerequisites
9
+ Rake::Task[:default].clear_prerequisites rescue nil # For some super weird reason this fails for some...
data/bin/cucumber CHANGED
@@ -2,5 +2,5 @@
2
2
  # Add '.rb' to work around a bug in IronRuby's File#dirname
3
3
  $:.unshift(File.dirname(__FILE__ + '.rb') + '/../lib') unless $:.include?(File.dirname(__FILE__ + '.rb') + '/../lib')
4
4
 
5
- require 'cucumber/cli'
6
- Cucumber::CLI.execute(ARGV.dup)
5
+ require 'cucumber/cli/main'
6
+ Cucumber::Cli::Main.execute(ARGV.dup)
data/config/hoe.rb CHANGED
@@ -5,7 +5,7 @@ AUTHOR = 'Aslak Hellesøy' # can also be an array of Authors
5
5
  EMAIL = "aslak.hellesoy@gmail.com"
6
6
  DESCRIPTION = "Executable Feature scenarios"
7
7
  GEM_NAME = 'cucumber' # what ppl will type to install your gem
8
- HOMEPATH = "http://github.com/aslakhellesoy/cucumber"
8
+ HOMEPATH = "http://cukes.info"
9
9
  RUBYFORGE_PROJECT = 'rspec'
10
10
 
11
11
  @config_file = "~/.rubyforge/user-config.yml"
@@ -58,7 +58,12 @@ $hoe = Hoe.new(GEM_NAME, VERS) do |p|
58
58
  # == Optional
59
59
  p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
60
60
  #p.extra_deps = [] # An array of rubygem dependencies [name, version], e.g. [ ['active_support', '>= 1.3.1'] ]
61
- p.extra_deps = [ ['term-ansicolor', '>= 1.0.3'], ['treetop', '>= 1.2.4'], ['diff-lcs', '>= 1.1.2'] ]
61
+ p.extra_deps = [
62
+ ['term-ansicolor', '>= 1.0.3'],
63
+ ['treetop', '>= 1.2.4'],
64
+ ['polyglot', '>= 0.2.4'], # Remove this when Treetop no longer loads polyglot by default.
65
+ ['diff-lcs', '>= 1.1.2']
66
+ ]
62
67
 
63
68
  #p.spec_extras = {} # A hash of extra values to set in the gemspec.
64
69