bts-cucumber 0.1.13.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (241) hide show
  1. data/History.txt +297 -0
  2. data/License.txt +20 -0
  3. data/Manifest.txt +240 -0
  4. data/README.txt +4 -0
  5. data/Rakefile +8 -0
  6. data/bin/cucumber +6 -0
  7. data/config/hoe.rb +69 -0
  8. data/config/requirements.rb +15 -0
  9. data/cucumber.yml +1 -0
  10. data/examples/calculator_ruby_features/Rakefile +6 -0
  11. data/examples/calculator_ruby_features/features/addition.rb +23 -0
  12. data/examples/calculator_ruby_features/features/step_definitons/calculator_steps.rb +43 -0
  13. data/examples/cs/README.textile +1 -0
  14. data/examples/cs/Rakefile +12 -0
  15. data/examples/cs/compile.bat +1 -0
  16. data/examples/cs/features/addition.feature +17 -0
  17. data/examples/cs/features/step_definitons/calculator_steps.rb +23 -0
  18. data/examples/cs/src/demo/Calculator.cs +20 -0
  19. data/examples/dos_line_endings/Rakefile +6 -0
  20. data/examples/dos_line_endings/features/dos_line_endings.feature +9 -0
  21. data/examples/i18n/README.textile +18 -0
  22. data/examples/i18n/Rakefile +16 -0
  23. data/examples/i18n/ar/Rakefile +6 -0
  24. data/examples/i18n/ar/features/addition.feature +17 -0
  25. data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +32 -0
  26. data/examples/i18n/ar/lib/calculator.rb +10 -0
  27. data/examples/i18n/da/Rakefile +6 -0
  28. data/examples/i18n/da/features/step_definitons/kalkulator_steps.rb +22 -0
  29. data/examples/i18n/da/features/summering.feature +17 -0
  30. data/examples/i18n/da/lib/kalkulator.rb +11 -0
  31. data/examples/i18n/de/Rakefile +6 -0
  32. data/examples/i18n/de/features/addition.feature +17 -0
  33. data/examples/i18n/de/features/division.feature +10 -0
  34. data/examples/i18n/de/features/step_definitons/calculator_steps.rb +30 -0
  35. data/examples/i18n/de/lib/calculator.rb +14 -0
  36. data/examples/i18n/en/Rakefile +6 -0
  37. data/examples/i18n/en/features/addition.feature +17 -0
  38. data/examples/i18n/en/features/division.feature +10 -0
  39. data/examples/i18n/en/features/step_definitons/calculator_steps.rb +26 -0
  40. data/examples/i18n/en/lib/calculator.rb +14 -0
  41. data/examples/i18n/es/Rakefile +6 -0
  42. data/examples/i18n/es/features/adicion.feature +17 -0
  43. data/examples/i18n/es/features/step_definitons/calculador_steps.rb +22 -0
  44. data/examples/i18n/es/lib/calculador.rb +11 -0
  45. data/examples/i18n/et/Rakefile +6 -0
  46. data/examples/i18n/et/features/liitmine.feature +17 -0
  47. data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +26 -0
  48. data/examples/i18n/et/lib/kalkulaator.rb +10 -0
  49. data/examples/i18n/fr/Rakefile +6 -0
  50. data/examples/i18n/fr/features/addition.feature +13 -0
  51. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +22 -0
  52. data/examples/i18n/fr/lib/calculatrice.rb +10 -0
  53. data/examples/i18n/id/Rakefile +6 -0
  54. data/examples/i18n/id/features/addition.feature +17 -0
  55. data/examples/i18n/id/features/division.feature +10 -0
  56. data/examples/i18n/id/features/step_definitons/calculator_steps.rb +31 -0
  57. data/examples/i18n/id/lib/calculator.rb +14 -0
  58. data/examples/i18n/it/Rakefile +6 -0
  59. data/examples/i18n/it/features/somma.feature +10 -0
  60. data/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +22 -0
  61. data/examples/i18n/it/lib/calcolatrice.rb +11 -0
  62. data/examples/i18n/ja/README.txt +5 -0
  63. data/examples/i18n/ja/Rakefile +6 -0
  64. data/examples/i18n/ja/features/addition.feature +17 -0
  65. data/examples/i18n/ja/features/division.feature +10 -0
  66. data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +30 -0
  67. data/examples/i18n/ja/lib/calculator.rb +14 -0
  68. data/examples/i18n/lt/Rakefile +6 -0
  69. data/examples/i18n/lt/features/addition.feature +17 -0
  70. data/examples/i18n/lt/features/division.feature +10 -0
  71. data/examples/i18n/lt/features/step_definitons/calculator_steps.rb +31 -0
  72. data/examples/i18n/lt/lib/calculator.rb +14 -0
  73. data/examples/i18n/no/Rakefile +6 -0
  74. data/examples/i18n/no/features/step_definitons/kalkulator_steps.rb +22 -0
  75. data/examples/i18n/no/features/summering.feature +17 -0
  76. data/examples/i18n/no/lib/kalkulator.rb +11 -0
  77. data/examples/i18n/pt/Rakefile +6 -0
  78. data/examples/i18n/pt/features/adicao.feature +10 -0
  79. data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +22 -0
  80. data/examples/i18n/pt/lib/calculadora.rb +10 -0
  81. data/examples/i18n/ro/Rakefile +6 -0
  82. data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +22 -0
  83. data/examples/i18n/ro/features/suma.feature +10 -0
  84. data/examples/i18n/ro/lib/calculator.rb +11 -0
  85. data/examples/i18n/se/Rakefile +6 -0
  86. data/examples/i18n/se/features/step_definitons/kalkulator_steps.rb +22 -0
  87. data/examples/i18n/se/features/summering.feature +17 -0
  88. data/examples/i18n/se/lib/kalkulator.rb +11 -0
  89. data/examples/i18n/zh-CN/Rakefile +6 -0
  90. data/examples/i18n/zh-CN/features/addition.feature +17 -0
  91. data/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +24 -0
  92. data/examples/i18n/zh-CN/lib/calculator.rb +10 -0
  93. data/examples/java/README.textile +22 -0
  94. data/examples/java/Rakefile +12 -0
  95. data/examples/java/features/hello.feature +11 -0
  96. data/examples/java/features/step_definitons/hello_steps.rb +25 -0
  97. data/examples/java/features/step_definitons/tree_steps.rb +14 -0
  98. data/examples/java/features/tree.feature +9 -0
  99. data/examples/java/src/cucumber/demo/Hello.java +16 -0
  100. data/examples/selenium/Rakefile +6 -0
  101. data/examples/selenium/features/search.feature +9 -0
  102. data/examples/selenium/features/step_definitons/stories_steps.rb +41 -0
  103. data/examples/test_unit/Rakefile +6 -0
  104. data/examples/test_unit/features/step_definitions/test_unit_steps.rb +26 -0
  105. data/examples/test_unit/features/test_unit.feature +9 -0
  106. data/examples/tickets/Rakefile +11 -0
  107. data/examples/tickets/cucumber.yml +2 -0
  108. data/examples/tickets/features/step_definitons/tickets_steps.rb +32 -0
  109. data/examples/tickets/features/tickets.feature +24 -0
  110. data/examples/watir/Rakefile +6 -0
  111. data/examples/watir/features/search.feature +9 -0
  112. data/examples/watir/features/step_definitons/stories_steps.rb +51 -0
  113. data/features/see_features.feature +8 -0
  114. data/features/steps/features_steps.rb +9 -0
  115. data/gem_tasks/deployment.rake +34 -0
  116. data/gem_tasks/environment.rake +7 -0
  117. data/gem_tasks/features.rake +6 -0
  118. data/gem_tasks/fix_cr_lf.rake +10 -0
  119. data/gem_tasks/flog.rake +4 -0
  120. data/gem_tasks/gemspec.rake +6 -0
  121. data/gem_tasks/rspec.rake +35 -0
  122. data/gem_tasks/treetop.rake +41 -0
  123. data/lib/autotest/cucumber.rb +6 -0
  124. data/lib/autotest/cucumber_mixin.rb +131 -0
  125. data/lib/autotest/cucumber_rails.rb +6 -0
  126. data/lib/autotest/cucumber_rails_rspec.rb +6 -0
  127. data/lib/autotest/cucumber_rspec.rb +6 -0
  128. data/lib/autotest/discover.rb +9 -0
  129. data/lib/cucumber/broadcaster.rb +20 -0
  130. data/lib/cucumber/cli.rb +346 -0
  131. data/lib/cucumber/core_ext/proc.rb +69 -0
  132. data/lib/cucumber/core_ext/string.rb +29 -0
  133. data/lib/cucumber/executor.rb +188 -0
  134. data/lib/cucumber/formatters/ansicolor.rb +109 -0
  135. data/lib/cucumber/formatters/autotest_formatter.rb +23 -0
  136. data/lib/cucumber/formatters/cucumber.css +132 -0
  137. data/lib/cucumber/formatters/cucumber.js +11 -0
  138. data/lib/cucumber/formatters/html_formatter.rb +128 -0
  139. data/lib/cucumber/formatters/jquery.js +32 -0
  140. data/lib/cucumber/formatters/pretty_formatter.rb +234 -0
  141. data/lib/cucumber/formatters/profile_formatter.rb +92 -0
  142. data/lib/cucumber/formatters/progress_formatter.rb +58 -0
  143. data/lib/cucumber/formatters.rb +1 -0
  144. data/lib/cucumber/languages.yml +258 -0
  145. data/lib/cucumber/model/table.rb +28 -0
  146. data/lib/cucumber/model.rb +1 -0
  147. data/lib/cucumber/platform.rb +10 -0
  148. data/lib/cucumber/rails/rspec.rb +12 -0
  149. data/lib/cucumber/rails/world.rb +73 -0
  150. data/lib/cucumber/rake/task.rb +101 -0
  151. data/lib/cucumber/step_methods.rb +49 -0
  152. data/lib/cucumber/step_mother.rb +95 -0
  153. data/lib/cucumber/tree/feature.rb +63 -0
  154. data/lib/cucumber/tree/features.rb +21 -0
  155. data/lib/cucumber/tree/given_scenario.rb +13 -0
  156. data/lib/cucumber/tree/scenario.rb +175 -0
  157. data/lib/cucumber/tree/step.rb +142 -0
  158. data/lib/cucumber/tree/table.rb +26 -0
  159. data/lib/cucumber/tree/top_down_visitor.rb +23 -0
  160. data/lib/cucumber/tree.rb +16 -0
  161. data/lib/cucumber/treetop_parser/feature.treetop.erb +206 -0
  162. data/lib/cucumber/treetop_parser/feature_ar.rb +1591 -0
  163. data/lib/cucumber/treetop_parser/feature_cy.rb +1591 -0
  164. data/lib/cucumber/treetop_parser/feature_da.rb +1591 -0
  165. data/lib/cucumber/treetop_parser/feature_de.rb +1591 -0
  166. data/lib/cucumber/treetop_parser/feature_en-lol.rb +1591 -0
  167. data/lib/cucumber/treetop_parser/feature_en-tx.rb +1591 -0
  168. data/lib/cucumber/treetop_parser/feature_en.rb +1591 -0
  169. data/lib/cucumber/treetop_parser/feature_es.rb +1591 -0
  170. data/lib/cucumber/treetop_parser/feature_et.rb +1591 -0
  171. data/lib/cucumber/treetop_parser/feature_fr.rb +1591 -0
  172. data/lib/cucumber/treetop_parser/feature_id.rb +1591 -0
  173. data/lib/cucumber/treetop_parser/feature_it.rb +1591 -0
  174. data/lib/cucumber/treetop_parser/feature_ja.rb +1591 -0
  175. data/lib/cucumber/treetop_parser/feature_lt.rb +1591 -0
  176. data/lib/cucumber/treetop_parser/feature_nl.rb +1591 -0
  177. data/lib/cucumber/treetop_parser/feature_no.rb +1591 -0
  178. data/lib/cucumber/treetop_parser/feature_parser.rb +34 -0
  179. data/lib/cucumber/treetop_parser/feature_pl.rb +1591 -0
  180. data/lib/cucumber/treetop_parser/feature_pt.rb +1591 -0
  181. data/lib/cucumber/treetop_parser/feature_ro.rb +1591 -0
  182. data/lib/cucumber/treetop_parser/feature_ro2.rb +1591 -0
  183. data/lib/cucumber/treetop_parser/feature_ru.rb +1591 -0
  184. data/lib/cucumber/treetop_parser/feature_se.rb +1591 -0
  185. data/lib/cucumber/treetop_parser/feature_zh-CN.rb +1591 -0
  186. data/lib/cucumber/version.rb +9 -0
  187. data/lib/cucumber.rb +38 -0
  188. data/rails_generators/cucumber/USAGE +11 -0
  189. data/rails_generators/cucumber/cucumber_generator.rb +30 -0
  190. data/rails_generators/cucumber/templates/cucumber +7 -0
  191. data/rails_generators/cucumber/templates/cucumber.rake +7 -0
  192. data/rails_generators/cucumber/templates/env.rb +11 -0
  193. data/rails_generators/cucumber/templates/webrat_steps.rb +93 -0
  194. data/rails_generators/feature/USAGE +12 -0
  195. data/rails_generators/feature/feature_generator.rb +16 -0
  196. data/rails_generators/feature/templates/feature.erb +28 -0
  197. data/rails_generators/feature/templates/steps.erb +22 -0
  198. data/script/console +10 -0
  199. data/script/console.cmd +1 -0
  200. data/script/destroy +14 -0
  201. data/script/destroy.cmd +1 -0
  202. data/script/generate +14 -0
  203. data/script/generate.cmd +1 -0
  204. data/script/txt2html +74 -0
  205. data/script/txt2html.cmd +1 -0
  206. data/setup.rb +1585 -0
  207. data/spec/cucumber/broadcaster_spec.rb +27 -0
  208. data/spec/cucumber/cli_spec.rb +468 -0
  209. data/spec/cucumber/core_ext/proc_spec.rb +45 -0
  210. data/spec/cucumber/core_ext/string_spec.rb +34 -0
  211. data/spec/cucumber/executor_spec.rb +298 -0
  212. data/spec/cucumber/formatters/ansicolor_spec.rb +35 -0
  213. data/spec/cucumber/formatters/autotest_formatter_spec.rb +26 -0
  214. data/spec/cucumber/formatters/features.html +269 -0
  215. data/spec/cucumber/formatters/html_formatter_spec.rb +74 -0
  216. data/spec/cucumber/formatters/pretty_formatter_spec.rb +204 -0
  217. data/spec/cucumber/formatters/profile_formatter_spec.rb +192 -0
  218. data/spec/cucumber/formatters/progress_formatter_spec.rb +65 -0
  219. data/spec/cucumber/model/table_spec.rb +20 -0
  220. data/spec/cucumber/rails/stubs/mini_rails.rb +17 -0
  221. data/spec/cucumber/rails/stubs/test_help.rb +1 -0
  222. data/spec/cucumber/rails/world_spec.rb +11 -0
  223. data/spec/cucumber/sell_cucumbers.feature +19 -0
  224. data/spec/cucumber/step_mother_spec.rb +74 -0
  225. data/spec/cucumber/tree/feature_spec.rb +43 -0
  226. data/spec/cucumber/tree/row_scenario_spec.rb +55 -0
  227. data/spec/cucumber/tree/scenario_spec.rb +76 -0
  228. data/spec/cucumber/tree/step_spec.rb +50 -0
  229. data/spec/cucumber/treetop_parser/empty_feature.feature +4 -0
  230. data/spec/cucumber/treetop_parser/empty_scenario.feature +9 -0
  231. data/spec/cucumber/treetop_parser/feature_parser_spec.rb +98 -0
  232. data/spec/cucumber/treetop_parser/fit_scenario.feature +8 -0
  233. data/spec/cucumber/treetop_parser/given_scenario.feature +9 -0
  234. data/spec/cucumber/treetop_parser/multiline_steps.feature +17 -0
  235. data/spec/cucumber/treetop_parser/multiple_tables.feature +29 -0
  236. data/spec/cucumber/treetop_parser/spaces.feature +10 -0
  237. data/spec/cucumber/treetop_parser/test_dos.feature +25 -0
  238. data/spec/cucumber/treetop_parser/with_comments.feature +10 -0
  239. data/spec/spec.opts +2 -0
  240. data/spec/spec_helper.rb +20 -0
  241. metadata +333 -0
data/History.txt ADDED
@@ -0,0 +1,297 @@
1
+ == 0.1.13 (In Git)
2
+
3
+ === New features
4
+ * --language is aliased to -l instead of -a (-l became available when --line was refactored) (Aslak Hellesøy)
5
+
6
+ === Bugfixes
7
+ * The Cucumber Autotest plugin now launches JRuby if autotest is run with JRuby (Aslak Hellesøy)
8
+ * Provide helpful and non-confusing error message when specified profile is blank. (#118, Ben Mabey)
9
+ * Improve handling and error messages for malformed cucumber.yml files. (#117, Ben Mabey)
10
+ * document :x run option in command line help (#114, Aslak Hellesøy)
11
+ * Change 'visits' to 'visit' in features generator to comply with new Webrat API (Darius Roberts)
12
+
13
+ === Removed features
14
+
15
+ == 0.1.12 2008-12-04
16
+
17
+ This is the "getting serious with IronRuby release" - largely based on
18
+ "Patrick Gannon":http://www.patrickgannon.net/archive/2008/10/23/bdd-style-feature-tests-using-ironruby-and-rspeccucumber.aspx's
19
+ blog entry.
20
+
21
+ == New features
22
+ * Cucumber works with IronRuby/.NET - http://github.com/aslakhellesoy/cucumber/wikis/ironruby-and-net (Aslak Hellesøy)
23
+
24
+ == Bugfixes
25
+ * Fixed bug which was preventing coloring under Autotest (#111, Alan Larkin)
26
+
27
+ == Removed features
28
+ None
29
+
30
+ == 0.1.11 2008-12-02
31
+
32
+ Bugfix release with a couple of minor additional features to the command line options.
33
+
34
+ === New features
35
+ * Capture output from cucumber in Autotest (Alan Larkin)
36
+ * Update cucumber generator to work with latest Webrat (Bryan Helkamp)
37
+ * CUCUMBR LIKEZ 2 SPEEK WIF KATS. KTHXBAI (Aimee Daniells)
38
+ * Support for dynamically pluggable formatters (#99 Joseph Wilk)
39
+ * --verbose mode to see ruby files and feature files loaded by Cucumber (#106 Joseph Wilk)
40
+
41
+ === Bugfixes
42
+ * The jcode library is not loaded on JRuby/Rails. Workaround for http://tinyurl.com/55uu3u. (Aslak Hellesøy)
43
+ * Support including modules for class passed to --format (#109 Joseph Wilk)
44
+
45
+ === Removed features
46
+ * The cucumber gem no longer depends on the rspec gem. It must be downloaded manually if RSpec is used. (Jeff Rafter)
47
+
48
+ == 0.1.10 2008-11-25
49
+
50
+ This release mostly has smaller bugfixes. The most significant new feature is how
51
+ line numbers are specified. You can now run multiple features at specific lines numbers like this:
52
+
53
+ cucumber foo.feature:15 bar.feature:6:45:111
54
+
55
+ This will run foo.feature at line 15 and bar.feature at line 6, 45 and 111.
56
+
57
+ === New features
58
+ * Added example showing how to use Cucumber with Test::Unit + Matchy instead of RSpec (Aslak Hellesøy)
59
+ * Yield existing world object to World block (#87 Aslak Hellesøy)
60
+ * AUTOFEATURE=tRue works (case insensitive) (Aslak Hellesøy)
61
+ * Initial support for .NET via IronRuby. (Aslak Hellesøy)
62
+ * Lithuanian translation (sauliusgrigaitis)
63
+ * New webrat step defintions to wrap the new selects_time, selects_date, and selects_datetime methods. (Ben Mabey)
64
+ * Try to load webrat gem if it's not installed as a plugin (Aslak Hellesøy)
65
+ * Support example.feature:20 or example.feature:10:20:30 syntax for running features at specific line number(s). (#88 Joseph Wilk)
66
+
67
+ === Bugfixes
68
+ * Windows - all the 'a' characters in the output have gone on strike (#81 Luis Lavena, Joseph Wilk, Aslak Hellesøy)
69
+ * Raise a nice error when encountering step definition without block (#95 Aslak Hellesøy)
70
+ * Features written using Ruby where breaking due to missing a line number (#91 Joseph Wilk)
71
+ * Directly creating a Table meant the scenario table header was never set which was causing a formatter error (#91 Joseph Wilk)
72
+
73
+ === Removed features
74
+ * $KCODE='u' is no longer done automatically. Developers should do that explicitly when needed in step definitions or env.rb.
75
+ * Step definition without a block being treated as pending (#64 Joseph Wilk)
76
+ * The --line option has been removed. Use the new file.feature:line format instead.
77
+
78
+ == 0.1.9 2008-11-12
79
+
80
+ With this release Cucumber supports 19 (!) natural languages:
81
+
82
+ * Arabic
83
+ * Chinese Simplified
84
+ * Danish
85
+ * Dutch
86
+ * Estonian
87
+ * French
88
+ * German
89
+ * Italian
90
+ * Japanese
91
+ * Malay
92
+ * Norwegian
93
+ * Polish
94
+ * Portuguese
95
+ * Romanian
96
+ * Russian
97
+ * Spanish
98
+ * Swedish
99
+ * Texan
100
+ * Welsh
101
+
102
+ Thanks a lot to everyone who has contributed translations. If you don't see your language here, please
103
+ add it: http://github.com/aslakhellesoy/cucumber/wikis/spoken-languages
104
+
105
+ Main functional changes in this release is "Autotest":http://github.com/aslakhellesoy/cucumber/wikis/autotest-integration
106
+ support and how multiline strings work in feature files:
107
+
108
+ # In your .feature file
109
+ Then I should see
110
+ """
111
+ A string
112
+ that "indents"
113
+ and spans
114
+ several lines
115
+
116
+ """
117
+
118
+ # In your steps.rb file
119
+ Then 'I should see' do |text|
120
+ text.should == "A string\n that \"indents\"\nand spans\nseveral lines\n"
121
+ end
122
+
123
+ The triple quotes are used to define the start and end of a string, and it also defines what gets stripped away
124
+ in the inside string. If the triple quotes are indented 4 spaces, then the text within will have the 4 first
125
+ spaces removed too.
126
+
127
+ === New features
128
+ * Added --[no-]color option to force color on or off (Peter Jaros)
129
+ * Step definition without a block will be treated as pending (#64 Joseph Wilk)
130
+ * Added support for Welsh (improvements welcome) (Joseph Wilk)
131
+ * Added --quiet option to hide all development aid output when using Pretty formatter (#69 Joseph Wilk)
132
+ * Added --no-snippets option to hide snippets for pending steps when using Pretty formatter (#69 Joseph Wilk)
133
+ * Added error messages concerning cucumber.yml. (#70 Ben Mabey)
134
+ * Added Autotest support - work in progress... (Peter Jaros)
135
+ * Added new --exclude option (Bryan Helkamp)
136
+ * Added new --scenario option (Peter Jaros)
137
+ * Renamed common_webrat.rb to webrat_steps.rb (Ben Mabey, Aslak Hellesøy)
138
+ * Added new feature[:feature_path] task (Roman Gonzalez)
139
+ * Added support for Polish (Joseph Wilk)
140
+ * Support specifying multiple formatters and multiple outputs (#47 Joseph Wilk)
141
+ * Added support for Japanese. (Kakutani Shintaro)
142
+ * Added support for Texan (improvements welcome). (Aslak Hellesøy)
143
+
144
+ === Bugfixes
145
+ * Pending step snippets should escape special Regexp characters (#82 Joseph Wilk)
146
+ * Scenario without a body shouldn't show up as complete (#63 Josh Knowles)
147
+ * Fixed bug where utf-8 strings where breaking comment alighments. (#79 Joseph Wilk)
148
+ * Fixed next_column_index not resetting after large tables (#60, Barry Mitchelson)
149
+ * The HTML formatter was rendering everything twice. Cannot invoke visit_feature on formatters in executor (#72 Joseph Wilk)
150
+ * Row Scenarios need to support pending? in order for the Profile formatter to work (Joseph Wilk)
151
+ * Snippets are not shown for steps which already have a step definition (#65 Joseph Wilk)
152
+ * Prevent feature/scenario/pending step comments from containing '//' when running features by specifying a directory with a trailing '/' (Joseph Wilk)
153
+ * Scenario tables need spacing after them (#59 Joseph Wilk)
154
+ * Support running scenario table rows when using --line argument (#55 Joseph Wilk)
155
+ * Don't load cucumber.yml unless it exists (Aslak Hellesøy)
156
+ * Fixing bug where specifying line number 1 in a feature which starts with a scenario with a scenario table was raising an error (#56 Joseph Wilk)
157
+
158
+ === Removed features
159
+
160
+
161
+ == 0.1.8 2008-10-18
162
+
163
+ This release extends the support for tables. PLEASE NOTE THAT TABLES ARE STILL EXPERIMENTAL.
164
+ In previous releases it has been possible to use tables to define "more examples" of a scenario i
165
+ n a FIT-style column fixture kind of way. Now you can also use tables as arguments to steps.
166
+
167
+ Tables used to define more examples after a scenario must now be prefixed. In English it looks like this:
168
+
169
+ Feature: Addition
170
+ In order to avoid silly mistakes
171
+ As a math idiot
172
+ I want to be told the sum of two numbers
173
+
174
+ Scenario: Add two numbers
175
+ Given I have entered 50 into the calculator
176
+ And I have entered 70 into the calculator
177
+ When I press add
178
+ Then the result should be 120 on the screen
179
+ And the result class should be Fixnum
180
+
181
+ More Examples:
182
+ | input_1 | input_2 | button | output | class |
183
+ | 20 | 30 | add | 50 | Fixnum |
184
+ | 2 | 5 | add | 7 | Fixnum |
185
+ | 0 | 40 | add | 40 | Fixnum |
186
+
187
+ Languages that are not updated yet will have to use "More Examples" until we get the translations.
188
+
189
+ Tables can also be used as arguments to individual steps. In fact, steps now support a single argument
190
+ that can span several lines. This can be a table or a string.
191
+
192
+ Example:
193
+
194
+ Given the following people exist:
195
+ | name | email | phone |
196
+ | Aslak | aslak@email.com | 123 |
197
+ | Joe | joe@email.com | 234 |
198
+ | Bryan | bryan@email.org | 456 |
199
+ When I search for email.com
200
+ Then I should see:
201
+ | name | email | phone |
202
+ | Aslak | aslak@email.com | 123 |
203
+ | Joe | joe@email.com | 234 |
204
+ And I should see:
205
+ "Some text
206
+ on several lines"
207
+
208
+ The step definitions for such multiline steps must define an extra block argument for the argument:
209
+
210
+ Given /the following people exist:/ do |people_table|
211
+ # people_table is of type Cucumber::Model::Table
212
+ # See RDoc for more info
213
+ end
214
+
215
+ Then /I should see:/ do |string|
216
+ # string is a plain old ruby String with leading spaces on each line removed
217
+ end
218
+
219
+ === New features
220
+ * Added profile formatter. (#35, Joseph Wilk)
221
+ * Added support for Chinese Simplified. (Liming Lian)
222
+ * Added support for Dutch. (Sjoerd Tieleman)
223
+ * Multiline steps are now supported. (#4, Aslak Hellesøy)
224
+ * Tables used to define more examples for a scenario must be prefixed "More Examples" (see languages.yml for other languages)
225
+ * Show the file and line number for scenarios as a comment when displaying with the pretty formatter. (#40, Joseph Wilk)
226
+ * Show the file for the feature as a comment when displaying with the pretty formatter. (#40, Joseph Wilk)
227
+ * Show the feature file and line for pending steps as a comment when displaying with the pretty formatter. (#40, Joseph Wilk)
228
+
229
+ === Bugfixes
230
+ * Fixed speling errors in Spanish (Daniel Cadenas)
231
+ * ActionMailer delivery_method should not be set to test (#41, Luke Melia)
232
+ * Reverse incorrectly ordered args in webrat select step (#43, David Chelimsky)
233
+ * Support comments above the first scenario (#31, Aslak Hellesøy)
234
+ * Fixed the HTML Formatter to use actual values for FIT table headers (#30, Joseph Wilk)
235
+
236
+ === Removed features
237
+ * Removed the /^I go to (.*)$/ step from common_webrat.rb - it's not language agnostic and provides little value.
238
+
239
+ === New features
240
+ * Added new --out option to make it easier to specify output from Rake and cucumber.yml
241
+
242
+ == 0.1.7 2008-10-05
243
+
244
+ This release fixes a few bugs and adds some new features. The most notable features are:
245
+
246
+ === Calling steps from steps
247
+
248
+ Step definitions are a little bit closer to having regular method semantics.
249
+ You define them, but now you can also call them from other steps. Here is an
250
+ example:
251
+
252
+ Given /I am logged in as an (.*) named (.*)$/ do |role, name|
253
+ Given "I am registered as #{role}, #{name}, secret"
254
+ When "I log in with #{name}, secret"
255
+ end
256
+
257
+ Given /I am registered as (.*), (.*), (.*)/ do |role, name, password|
258
+ # (Code removed for brevity)
259
+ end
260
+
261
+ When /I log in with (.*), (.*)/ do |name, password|
262
+ # (Code removed for brevity)
263
+ end
264
+
265
+ This means that steps can be reused in other steps. The GivenScenario feature achieves a similar
266
+ effect (on the scenario level), but this feature is something we're not very happy with, mostly
267
+ because it's not parameterisable. Calling steps from steps is.
268
+
269
+ GivenScenario will still be working several releases, but the plan is to remove it completely in
270
+ the 0.3.0 release.
271
+
272
+ === Seeing where a step is defined
273
+
274
+ Prior to this release it could be hard to find out where the ruby step definition matching
275
+ a plain text step is defined. Not anymore! Cucumber will now output this:
276
+
277
+ Scenario: Regular numbers
278
+ Given I have entered 3 into the calculator # features/steps/calculator_steps.rb:12
279
+ And I have entered 2 into the calculator # features/steps/calculator_steps.rb:12
280
+ When I press divide # features/steps/calculator_steps.rb:16
281
+ Then the result should be 1.5 on the screen # features/steps/calculator_steps.rb:20
282
+ And the result class should be Float # features/steps/calculator_steps.rb:24
283
+
284
+ === Bugfixes
285
+ * Fixed a bug in the command line args being lost when using --profile (#27, Joseph Wilk)
286
+ * Fixed a bug in Webrat selects (Tim Glen)
287
+ * Fixed parsing of DOS line endings (#2, #28, Aslak Hellesøy)
288
+
289
+ === New features
290
+ * Steps can be called from other steps (#3, Bryan Helmkamp, Aslak Hellesøy)
291
+ * Added But keyword to all languages (#21, Aslak Hellesøy)
292
+ * Added --no-source option to display step definition location next to step text (#26, Joseph Wilk, Aslak Hellesøy)
293
+ * Added more Webrat steps (#25, Tim Glen)
294
+
295
+ == 0.1.6 2008-10-01
296
+
297
+ First gem release!
data/License.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2008 Aslak Hellesøy
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Manifest.txt ADDED
@@ -0,0 +1,240 @@
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/fr/Rakefile
50
+ examples/i18n/fr/features/addition.feature
51
+ examples/i18n/fr/features/step_definitions/calculatrice_steps.rb
52
+ examples/i18n/fr/lib/calculatrice.rb
53
+ examples/i18n/id/Rakefile
54
+ examples/i18n/id/features/addition.feature
55
+ examples/i18n/id/features/division.feature
56
+ examples/i18n/id/features/step_definitons/calculator_steps.rb
57
+ examples/i18n/id/lib/calculator.rb
58
+ examples/i18n/it/Rakefile
59
+ examples/i18n/it/features/somma.feature
60
+ examples/i18n/it/features/step_definitons/calcolatrice_steps.rb
61
+ examples/i18n/it/lib/calcolatrice.rb
62
+ examples/i18n/ja/README.txt
63
+ examples/i18n/ja/Rakefile
64
+ examples/i18n/ja/features/addition.feature
65
+ examples/i18n/ja/features/division.feature
66
+ examples/i18n/ja/features/step_definitons/calculator_steps.rb
67
+ examples/i18n/ja/lib/calculator.rb
68
+ examples/i18n/lt/Rakefile
69
+ examples/i18n/lt/features/addition.feature
70
+ examples/i18n/lt/features/division.feature
71
+ examples/i18n/lt/features/step_definitons/calculator_steps.rb
72
+ examples/i18n/lt/lib/calculator.rb
73
+ examples/i18n/no/Rakefile
74
+ examples/i18n/no/features/step_definitons/kalkulator_steps.rb
75
+ examples/i18n/no/features/summering.feature
76
+ examples/i18n/no/lib/kalkulator.rb
77
+ examples/i18n/pt/Rakefile
78
+ examples/i18n/pt/features/adicao.feature
79
+ examples/i18n/pt/features/step_definitions/calculadora_steps.rb
80
+ examples/i18n/pt/lib/calculadora.rb
81
+ examples/i18n/ro/Rakefile
82
+ examples/i18n/ro/features/step_definitons/calculator_steps.rb
83
+ examples/i18n/ro/features/suma.feature
84
+ examples/i18n/ro/lib/calculator.rb
85
+ examples/i18n/se/Rakefile
86
+ examples/i18n/se/features/step_definitons/kalkulator_steps.rb
87
+ examples/i18n/se/features/summering.feature
88
+ examples/i18n/se/lib/kalkulator.rb
89
+ examples/i18n/zh-CN/Rakefile
90
+ examples/i18n/zh-CN/features/addition.feature
91
+ examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb
92
+ examples/i18n/zh-CN/lib/calculator.rb
93
+ examples/java/README.textile
94
+ examples/java/Rakefile
95
+ examples/java/features/hello.feature
96
+ examples/java/features/step_definitons/hello_steps.rb
97
+ examples/java/features/step_definitons/tree_steps.rb
98
+ examples/java/features/tree.feature
99
+ examples/java/src/cucumber/demo/Hello.java
100
+ examples/selenium/Rakefile
101
+ examples/selenium/features/search.feature
102
+ examples/selenium/features/step_definitons/stories_steps.rb
103
+ examples/test_unit/Rakefile
104
+ examples/test_unit/features/step_definitions/test_unit_steps.rb
105
+ examples/test_unit/features/test_unit.feature
106
+ examples/tickets/Rakefile
107
+ examples/tickets/cucumber.yml
108
+ examples/tickets/features/step_definitons/tickets_steps.rb
109
+ examples/tickets/features/tickets.feature
110
+ examples/watir/Rakefile
111
+ examples/watir/features/search.feature
112
+ examples/watir/features/step_definitons/stories_steps.rb
113
+ features/see_features.feature
114
+ features/steps/features_steps.rb
115
+ gem_tasks/deployment.rake
116
+ gem_tasks/environment.rake
117
+ gem_tasks/features.rake
118
+ gem_tasks/fix_cr_lf.rake
119
+ gem_tasks/flog.rake
120
+ gem_tasks/gemspec.rake
121
+ gem_tasks/rspec.rake
122
+ gem_tasks/treetop.rake
123
+ lib/autotest/cucumber.rb
124
+ lib/autotest/cucumber_mixin.rb
125
+ lib/autotest/cucumber_rails.rb
126
+ lib/autotest/cucumber_rails_rspec.rb
127
+ lib/autotest/cucumber_rspec.rb
128
+ lib/autotest/discover.rb
129
+ lib/cucumber.rb
130
+ lib/cucumber/broadcaster.rb
131
+ lib/cucumber/cli.rb
132
+ lib/cucumber/core_ext/proc.rb
133
+ lib/cucumber/core_ext/string.rb
134
+ lib/cucumber/executor.rb
135
+ lib/cucumber/formatters.rb
136
+ lib/cucumber/formatters/ansicolor.rb
137
+ lib/cucumber/formatters/autotest_formatter.rb
138
+ lib/cucumber/formatters/cucumber.css
139
+ lib/cucumber/formatters/cucumber.js
140
+ lib/cucumber/formatters/html_formatter.rb
141
+ lib/cucumber/formatters/jquery.js
142
+ lib/cucumber/formatters/pretty_formatter.rb
143
+ lib/cucumber/formatters/profile_formatter.rb
144
+ lib/cucumber/formatters/progress_formatter.rb
145
+ lib/cucumber/languages.yml
146
+ lib/cucumber/model.rb
147
+ lib/cucumber/model/table.rb
148
+ lib/cucumber/platform.rb
149
+ lib/cucumber/rails/rspec.rb
150
+ lib/cucumber/rails/world.rb
151
+ lib/cucumber/rake/task.rb
152
+ lib/cucumber/step_methods.rb
153
+ lib/cucumber/step_mother.rb
154
+ lib/cucumber/tree.rb
155
+ lib/cucumber/tree/feature.rb
156
+ lib/cucumber/tree/features.rb
157
+ lib/cucumber/tree/given_scenario.rb
158
+ lib/cucumber/tree/scenario.rb
159
+ lib/cucumber/tree/step.rb
160
+ lib/cucumber/tree/table.rb
161
+ lib/cucumber/tree/top_down_visitor.rb
162
+ lib/cucumber/treetop_parser/feature.treetop.erb
163
+ lib/cucumber/treetop_parser/feature_ar.rb
164
+ lib/cucumber/treetop_parser/feature_cy.rb
165
+ lib/cucumber/treetop_parser/feature_da.rb
166
+ lib/cucumber/treetop_parser/feature_de.rb
167
+ lib/cucumber/treetop_parser/feature_en-lol.rb
168
+ lib/cucumber/treetop_parser/feature_en-tx.rb
169
+ lib/cucumber/treetop_parser/feature_en.rb
170
+ lib/cucumber/treetop_parser/feature_es.rb
171
+ lib/cucumber/treetop_parser/feature_et.rb
172
+ lib/cucumber/treetop_parser/feature_fr.rb
173
+ lib/cucumber/treetop_parser/feature_id.rb
174
+ lib/cucumber/treetop_parser/feature_it.rb
175
+ lib/cucumber/treetop_parser/feature_ja.rb
176
+ lib/cucumber/treetop_parser/feature_lt.rb
177
+ lib/cucumber/treetop_parser/feature_nl.rb
178
+ lib/cucumber/treetop_parser/feature_no.rb
179
+ lib/cucumber/treetop_parser/feature_parser.rb
180
+ lib/cucumber/treetop_parser/feature_pl.rb
181
+ lib/cucumber/treetop_parser/feature_pt.rb
182
+ lib/cucumber/treetop_parser/feature_ro.rb
183
+ lib/cucumber/treetop_parser/feature_ro2.rb
184
+ lib/cucumber/treetop_parser/feature_ru.rb
185
+ lib/cucumber/treetop_parser/feature_se.rb
186
+ lib/cucumber/treetop_parser/feature_zh-CN.rb
187
+ lib/cucumber/version.rb
188
+ rails_generators/cucumber/USAGE
189
+ rails_generators/cucumber/cucumber_generator.rb
190
+ rails_generators/cucumber/templates/cucumber
191
+ rails_generators/cucumber/templates/cucumber.rake
192
+ rails_generators/cucumber/templates/env.rb
193
+ rails_generators/cucumber/templates/webrat_steps.rb
194
+ rails_generators/feature/USAGE
195
+ rails_generators/feature/feature_generator.rb
196
+ rails_generators/feature/templates/feature.erb
197
+ rails_generators/feature/templates/steps.erb
198
+ script/console
199
+ script/console.cmd
200
+ script/destroy
201
+ script/destroy.cmd
202
+ script/generate
203
+ script/generate.cmd
204
+ script/txt2html
205
+ script/txt2html.cmd
206
+ setup.rb
207
+ spec/cucumber/broadcaster_spec.rb
208
+ spec/cucumber/cli_spec.rb
209
+ spec/cucumber/core_ext/proc_spec.rb
210
+ spec/cucumber/core_ext/string_spec.rb
211
+ spec/cucumber/executor_spec.rb
212
+ spec/cucumber/formatters/ansicolor_spec.rb
213
+ spec/cucumber/formatters/autotest_formatter_spec.rb
214
+ spec/cucumber/formatters/features.html
215
+ spec/cucumber/formatters/html_formatter_spec.rb
216
+ spec/cucumber/formatters/pretty_formatter_spec.rb
217
+ spec/cucumber/formatters/profile_formatter_spec.rb
218
+ spec/cucumber/formatters/progress_formatter_spec.rb
219
+ spec/cucumber/model/table_spec.rb
220
+ spec/cucumber/rails/stubs/mini_rails.rb
221
+ spec/cucumber/rails/stubs/test_help.rb
222
+ spec/cucumber/rails/world_spec.rb
223
+ spec/cucumber/sell_cucumbers.feature
224
+ spec/cucumber/step_mother_spec.rb
225
+ spec/cucumber/tree/feature_spec.rb
226
+ spec/cucumber/tree/row_scenario_spec.rb
227
+ spec/cucumber/tree/scenario_spec.rb
228
+ spec/cucumber/tree/step_spec.rb
229
+ spec/cucumber/treetop_parser/empty_feature.feature
230
+ spec/cucumber/treetop_parser/empty_scenario.feature
231
+ spec/cucumber/treetop_parser/feature_parser_spec.rb
232
+ spec/cucumber/treetop_parser/fit_scenario.feature
233
+ spec/cucumber/treetop_parser/given_scenario.feature
234
+ spec/cucumber/treetop_parser/multiline_steps.feature
235
+ spec/cucumber/treetop_parser/multiple_tables.feature
236
+ spec/cucumber/treetop_parser/spaces.feature
237
+ spec/cucumber/treetop_parser/test_dos.feature
238
+ spec/cucumber/treetop_parser/with_comments.feature
239
+ spec/spec.opts
240
+ spec/spec_helper.rb
data/README.txt ADDED
@@ -0,0 +1,4 @@
1
+ = Cucumber
2
+
3
+ Please see the "wiki":http://github.com/aslakhellesoy/cucumber/wikis/home
4
+ for documentation.
data/Rakefile ADDED
@@ -0,0 +1,8 @@
1
+ ENV['NODOT'] = 'true' # We don't want class diagrams in RDoc
2
+ require 'config/requirements'
3
+ require 'config/hoe' # setup Hoe + all gem configuration
4
+
5
+ Dir['gem_tasks/**/*.rake'].each { |rake| load rake }
6
+
7
+ # Hoe gives us :default => :test, but we don't have Test::Unit tests.
8
+ Rake::Task[:default].clear_prerequisites
data/bin/cucumber ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # Add '.rb' to work around a bug in IronRuby's File#dirname
3
+ $:.unshift(File.dirname(__FILE__ + '.rb') + '/../lib') unless $:.include?(File.dirname(__FILE__ + '.rb') + '/../lib')
4
+
5
+ require 'cucumber/cli'
6
+ Cucumber::CLI.execute
data/config/hoe.rb ADDED
@@ -0,0 +1,69 @@
1
+ require 'cucumber/version'
2
+
3
+ AUTHOR = 'Aslak Hellesøy' # can also be an array of Authors
4
+ EMAIL = "aslak.hellesoy@gmail.com"
5
+ DESCRIPTION = "Executable Feature scenarios"
6
+ GEM_NAME = 'cucumber' # what ppl will type to install your gem
7
+ HOMEPATH = "http://github.com/aslakhellesoy/cucumber"
8
+ RUBYFORGE_PROJECT = 'rspec'
9
+
10
+ @config_file = "~/.rubyforge/user-config.yml"
11
+ @config = nil
12
+ RUBYFORGE_USERNAME = "aslak_hellesoy"
13
+ def rubyforge_username
14
+ unless @config
15
+ begin
16
+ @config = YAML.load(File.read(File.expand_path(@config_file)))
17
+ rescue
18
+ puts <<-EOS
19
+ ERROR: No rubyforge config file found: #{@config_file}
20
+ Run 'rubyforge setup' to prepare your env for access to Rubyforge
21
+ - See http://newgem.rubyforge.org/rubyforge.html for more details
22
+ EOS
23
+ exit
24
+ end
25
+ end
26
+ RUBYFORGE_USERNAME.replace @config["username"]
27
+ end
28
+
29
+
30
+ REV = nil
31
+ # UNCOMMENT IF REQUIRED:
32
+ # REV = YAML.load(`svn info`)['Revision']
33
+ VERS = Cucumber::VERSION::STRING + (REV ? ".#{REV}" : "")
34
+ RDOC_OPTS = ['--quiet', '--title', 'Cucumber documentation',
35
+ "--opname", "index.html",
36
+ "--line-numbers",
37
+ "--main", "README.textile",
38
+ "--inline-source"]
39
+
40
+ class Hoe
41
+ def extra_deps
42
+ @extra_deps.reject! { |x| Array(x).first == 'hoe' }
43
+ @extra_deps
44
+ end
45
+ end
46
+
47
+ # Generate all the Rake tasks
48
+ # Run 'rake -T' to see list of generated tasks (from gem root directory)
49
+ $hoe = Hoe.new(GEM_NAME, VERS) do |p|
50
+ p.developer(AUTHOR, EMAIL)
51
+ p.description = DESCRIPTION
52
+ p.summary = DESCRIPTION
53
+ p.url = HOMEPATH
54
+ p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
55
+ p.clean_globs |= ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store', '**/*.class', '**/*.jar'] #An array of file patterns to delete on clean.
56
+
57
+ # == Optional
58
+ p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
59
+ #p.extra_deps = [] # An array of rubygem dependencies [name, version], e.g. [ ['active_support', '>= 1.3.1'] ]
60
+ p.extra_deps = [ ['term-ansicolor', '>= 1.0.3'], ['treetop', '>= 1.2.4'], ['diff-lcs', '>= 1.1.2'] ]
61
+
62
+ #p.spec_extras = {} # A hash of extra values to set in the gemspec.
63
+
64
+ end
65
+
66
+ CHANGES = $hoe.paragraphs_of('History.txt', 0..1).join("\\n\\n")
67
+ PATH = (RUBYFORGE_PROJECT == GEM_NAME) ? RUBYFORGE_PROJECT : "#{RUBYFORGE_PROJECT}/#{GEM_NAME}"
68
+ $hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc')
69
+ $hoe.rsync_args = '-av --delete --ignore-errors'
@@ -0,0 +1,15 @@
1
+ require 'fileutils'
2
+ include FileUtils
3
+
4
+ require 'rubygems'
5
+ %w[rake hoe].each do |req_gem|
6
+ begin
7
+ require req_gem
8
+ rescue LoadError
9
+ puts "This Rakefile requires the '#{req_gem}' RubyGem."
10
+ puts "Installation: gem install #{req_gem} -y"
11
+ exit
12
+ end
13
+ end
14
+
15
+ $:.unshift(File.join(File.dirname(__FILE__), %w[.. lib]))
data/cucumber.yml ADDED
@@ -0,0 +1 @@
1
+ default: --format progress features
@@ -0,0 +1,6 @@
1
+ $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
+ require 'cucumber/rake/task'
3
+
4
+ Cucumber::Rake::Task.new do |t|
5
+ t.cucumber_opts = "--format pretty"
6
+ end