kosmas58-cucumber 0.2.3.3 → 0.3.9.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (210) hide show
  1. data/History.txt +203 -3
  2. data/Manifest.txt +0 -346
  3. data/README.txt +0 -21
  4. data/Rakefile +3 -1
  5. data/bin/cucumber +12 -1
  6. data/config/hoe.rb +6 -5
  7. data/cucumber.yml +3 -1
  8. data/examples/cs/Rakefile +1 -1
  9. data/examples/cs/features/addition.feature +5 -5
  10. data/examples/cs/features/step_definitons/calculator_steps.rb +2 -2
  11. data/examples/dos_line_endings/Rakefile +1 -1
  12. data/examples/dos_line_endings/features/dos_line_endings.feature +9 -9
  13. data/examples/i18n/Rakefile +1 -1
  14. data/examples/i18n/ar/Rakefile +1 -1
  15. data/examples/i18n/bg/Rakefile +6 -0
  16. data/examples/i18n/bg/features/addition.feature +11 -0
  17. data/examples/i18n/bg/features/consecutive_calculations.feature +18 -0
  18. data/examples/i18n/bg/features/division.feature +16 -0
  19. data/examples/i18n/bg/features/step_definitons/calculator_steps.rb +24 -0
  20. data/examples/i18n/bg/features/support/env.rb +6 -0
  21. data/examples/i18n/bg/features/support/world.rb +8 -0
  22. data/examples/i18n/bg/lib/calculator.rb +24 -0
  23. data/examples/i18n/cat/Rakefile +6 -0
  24. data/examples/i18n/cat/features/step_definitons/calculator_steps.rb +21 -0
  25. data/examples/i18n/cat/features/suma.feature +16 -0
  26. data/examples/i18n/cat/lib/calculadora.rb +16 -0
  27. data/examples/i18n/da/Rakefile +1 -1
  28. data/examples/i18n/de/Rakefile +1 -1
  29. data/examples/i18n/en/Rakefile +1 -1
  30. data/examples/i18n/en-lol/Rakefile +1 -1
  31. data/examples/i18n/es/Rakefile +1 -1
  32. data/examples/i18n/et/Rakefile +1 -1
  33. data/examples/i18n/fi/Rakefile +1 -1
  34. data/examples/i18n/fr/Rakefile +1 -1
  35. data/examples/i18n/fr/features/addition.feature +4 -4
  36. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +1 -1
  37. data/examples/i18n/fr/lib/calculatrice.rb +1 -1
  38. data/examples/i18n/he/Rakefile +6 -0
  39. data/examples/i18n/he/features/addition.feature +16 -0
  40. data/examples/i18n/he/features/division.feature +9 -0
  41. data/examples/i18n/he/features/step_definitons/calculator_steps.rb +24 -0
  42. data/examples/i18n/he/lib/calculator.rb +14 -0
  43. data/examples/i18n/hu/Rakefile +6 -0
  44. data/examples/i18n/hu/features/addition.feature +16 -0
  45. data/examples/i18n/hu/features/division.feature +9 -0
  46. data/examples/i18n/hu/features/step_definitons/calculator_steps.rb +25 -0
  47. data/examples/i18n/hu/lib/calculator.rb +14 -0
  48. data/examples/i18n/id/Rakefile +1 -1
  49. data/examples/i18n/it/Rakefile +1 -1
  50. data/examples/i18n/ja/Rakefile +1 -1
  51. data/examples/i18n/ja/features/addition.feature +1 -1
  52. data/examples/i18n/ja/features/division.feature +1 -1
  53. data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +1 -1
  54. data/examples/i18n/ko/Rakefile +1 -1
  55. data/examples/i18n/lt/Rakefile +1 -1
  56. data/examples/i18n/lt/features/addition.feature +2 -3
  57. data/examples/i18n/lv/Rakefile +6 -0
  58. data/examples/i18n/lv/features/addition.feature +16 -0
  59. data/examples/i18n/lv/features/division.feature +9 -0
  60. data/examples/i18n/lv/features/step_definitons/calculator_steps.rb +24 -0
  61. data/examples/i18n/lv/lib/calculator.rb +14 -0
  62. data/examples/i18n/no/Rakefile +1 -1
  63. data/examples/i18n/pl/Rakefile +6 -0
  64. data/examples/i18n/pl/features/addition.feature +16 -0
  65. data/examples/i18n/pl/features/division.feature +9 -0
  66. data/examples/i18n/pl/features/step_definitons/calculator_steps.rb +24 -0
  67. data/examples/i18n/pl/features/support/env.rb +6 -0
  68. data/examples/i18n/pl/lib/calculator.rb +14 -0
  69. data/examples/i18n/pt/Rakefile +1 -1
  70. data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +3 -7
  71. data/examples/i18n/pt/features/support/env.rb +6 -0
  72. data/examples/i18n/ro/Rakefile +1 -1
  73. data/examples/i18n/ru/Rakefile +1 -1
  74. data/examples/i18n/se/Rakefile +1 -1
  75. data/examples/i18n/sk/Rakefile +1 -1
  76. data/examples/i18n/zh-CN/Rakefile +1 -1
  77. data/examples/i18n/zh-TW/Rakefile +1 -1
  78. data/examples/java/README.textile +2 -6
  79. data/examples/java/build.xml +33 -0
  80. data/examples/java/features/step_definitons/hello_steps.rb +0 -2
  81. data/examples/junit/features/one_passing_one_failing.feature +8 -0
  82. data/examples/junit/features/pending.feature +5 -0
  83. data/examples/junit/features/step_definitions/steps.rb +11 -0
  84. data/examples/selenium/Rakefile +1 -1
  85. data/examples/selenium_webrat/Rakefile +1 -1
  86. data/examples/selenium_webrat/config.ru +0 -0
  87. data/examples/selenium_webrat/features/search.feature +1 -1
  88. data/examples/selenium_webrat/features/step_definitons/search_steps.rb +2 -2
  89. data/examples/selenium_webrat/features/support/env.rb +7 -3
  90. data/examples/self_test/features/background/background_tagged_before_on_outline.feature +12 -0
  91. data/examples/self_test/features/background/failing_background.feature +1 -0
  92. data/examples/self_test/features/background/passing_background.feature +2 -2
  93. data/examples/self_test/features/multiline_name.feature +27 -0
  94. data/examples/self_test/features/sample.feature +2 -0
  95. data/examples/self_test/features/search_sample.feature +32 -0
  96. data/examples/self_test/features/step_definitions/sample_steps.rb +11 -0
  97. data/examples/self_test/features/support/env.rb +17 -1
  98. data/examples/sinatra/Rakefile +1 -1
  99. data/examples/test_unit/Rakefile +1 -1
  100. data/examples/tickets/Rakefile +3 -3
  101. data/examples/tickets/features/229/tagged_hooks.feature +8 -0
  102. data/examples/tickets/features/229/tagged_hooks.rb +14 -0
  103. data/examples/tickets/features/236.feature +9 -9
  104. data/examples/tickets/features/272/hooks.feature +26 -0
  105. data/examples/tickets/features/272/hooks_steps.rb +53 -0
  106. data/examples/tickets/features/279/py_string_indent.feature +25 -0
  107. data/examples/tickets/features/279/py_string_indent.steps.rb +12 -0
  108. data/examples/tickets/features/279/wrong.feature_ +11 -0
  109. data/examples/tickets/features/301/filter_background_tagged_hooks.feature +6 -0
  110. data/examples/tickets/features/301/filter_background_tagged_hooks_steps.rb +12 -0
  111. data/examples/tickets/features/306/only_background.feature +4 -0
  112. data/examples/tickets/features/step_definitons/tickets_steps.rb +0 -7
  113. data/examples/watir/Rakefile +1 -1
  114. data/examples/watir/features/search.feature +4 -1
  115. data/examples/watir/features/step_definitons/search_steps.rb +2 -4
  116. data/features/after_block_exceptions.feature +99 -0
  117. data/features/after_step_block_exceptions.feature +101 -0
  118. data/features/background.feature +105 -38
  119. data/features/cucumber_cli.feature +201 -64
  120. data/features/cucumber_cli_diff_disabled.feature +6 -4
  121. data/features/cucumber_cli_outlines.feature +60 -35
  122. data/features/custom_formatter.feature +3 -3
  123. data/features/exclude_files.feature +20 -0
  124. data/features/expand.feature +48 -0
  125. data/features/html_formatter/a.html +1632 -0
  126. data/features/html_formatter.feature +7 -0
  127. data/features/junit_formatter.feature +62 -0
  128. data/features/multiline_names.feature +43 -0
  129. data/features/rake_task.feature +150 -0
  130. data/features/report_called_undefined_steps.feature +4 -3
  131. data/features/snippet.feature +2 -3
  132. data/features/step_definitions/cucumber_steps.rb +98 -15
  133. data/features/support/env.rb +78 -3
  134. data/features/usage.feature +32 -19
  135. data/features/work_in_progress.feature +148 -0
  136. data/gem_tasks/deployment.rake +1 -1
  137. data/gem_tasks/rspec.rake +9 -2
  138. data/lib/cucumber/ast/background.rb +19 -7
  139. data/lib/cucumber/ast/comment.rb +4 -0
  140. data/lib/cucumber/ast/feature.rb +7 -1
  141. data/lib/cucumber/ast/feature_element.rb +24 -9
  142. data/lib/cucumber/ast/features.rb +4 -0
  143. data/lib/cucumber/ast/outline_table.rb +74 -4
  144. data/lib/cucumber/ast/py_string.rb +5 -1
  145. data/lib/cucumber/ast/scenario.rb +31 -7
  146. data/lib/cucumber/ast/scenario_outline.rb +17 -9
  147. data/lib/cucumber/ast/step.rb +8 -5
  148. data/lib/cucumber/ast/step_collection.rb +14 -1
  149. data/lib/cucumber/ast/step_invocation.rb +29 -15
  150. data/lib/cucumber/ast/table.rb +9 -1
  151. data/lib/cucumber/ast/tags.rb +9 -1
  152. data/lib/cucumber/ast/visitor.rb +6 -2
  153. data/lib/cucumber/cli/configuration.rb +134 -105
  154. data/lib/cucumber/cli/main.rb +35 -12
  155. data/lib/cucumber/core_ext/proc.rb +9 -13
  156. data/lib/cucumber/formatter/ansicolor.rb +1 -1
  157. data/lib/cucumber/formatter/console.rb +36 -14
  158. data/lib/cucumber/formatter/cucumber.css +31 -12
  159. data/lib/cucumber/formatter/duration.rb +10 -0
  160. data/lib/cucumber/formatter/html.rb +76 -16
  161. data/lib/cucumber/formatter/junit.rb +79 -0
  162. data/lib/cucumber/formatter/pretty.rb +19 -14
  163. data/lib/cucumber/formatter/profile.rb +1 -1
  164. data/lib/cucumber/formatter/progress.rb +12 -12
  165. data/lib/cucumber/formatter/rerun.rb +1 -0
  166. data/lib/cucumber/formatter/tag_cloud.rb +28 -0
  167. data/lib/cucumber/formatter/usage.rb +5 -5
  168. data/lib/cucumber/formatters/unicode.rb +5 -0
  169. data/lib/cucumber/languages.yml +111 -34
  170. data/lib/cucumber/parser/feature.rb +237 -36
  171. data/lib/cucumber/parser/feature.tt +68 -30
  172. data/lib/cucumber/parser/treetop_ext.rb +12 -3
  173. data/lib/cucumber/rails/rspec.rb +5 -3
  174. data/lib/cucumber/rails/world.rb +29 -4
  175. data/lib/cucumber/rake/task.rb +125 -37
  176. data/lib/cucumber/rspec_neuter.rb +23 -0
  177. data/lib/cucumber/step_definition.rb +5 -2
  178. data/lib/cucumber/step_match.rb +10 -6
  179. data/lib/cucumber/step_mother.rb +98 -26
  180. data/lib/cucumber/version.rb +3 -3
  181. data/lib/cucumber/world.rb +2 -2
  182. data/lib/cucumber.rb +7 -2
  183. data/rails_generators/cucumber/USAGE +0 -3
  184. data/rails_generators/cucumber/cucumber_generator.rb +51 -44
  185. data/rails_generators/cucumber/templates/cucumber.rake +5 -5
  186. data/rails_generators/cucumber/templates/cucumber_environment.rb +23 -0
  187. data/rails_generators/cucumber/templates/de/paths.rb +27 -0
  188. data/rails_generators/cucumber/templates/de/webrat_steps.rb +139 -0
  189. data/rails_generators/cucumber/templates/en/paths.rb +27 -0
  190. data/rails_generators/cucumber/templates/{webrat_steps.rb → en/webrat_steps.rb} +26 -2
  191. data/rails_generators/cucumber/templates/env.rb +1 -1
  192. data/rails_generators/feature/USAGE +0 -3
  193. data/rails_generators/feature/feature_generator.rb +6 -30
  194. data/spec/cucumber/ast/feature_element_spec.rb +40 -0
  195. data/spec/cucumber/ast/py_string_spec.rb +4 -0
  196. data/spec/cucumber/ast/table_spec.rb +21 -5
  197. data/spec/cucumber/ast/visitor_spec.rb +27 -0
  198. data/spec/cucumber/cli/configuration_spec.rb +75 -54
  199. data/spec/cucumber/cli/main_spec.rb +60 -154
  200. data/spec/cucumber/formatter/color_io_spec.rb +1 -0
  201. data/spec/cucumber/formatter/duration_spec.rb +22 -0
  202. data/spec/cucumber/formatter/progress_spec.rb +36 -0
  203. data/spec/cucumber/parser/feature_parser_spec.rb +102 -1
  204. data/spec/cucumber/step_mother_spec.rb +23 -5
  205. metadata +79 -22
  206. data/examples/java/Rakefile +0 -12
  207. data/examples/self_test/features/support/tag_count_formatter.rb +0 -25
  208. data/lib/cucumber/formatter.rb +0 -1
  209. data/rails_generators/cucumber/templates/paths.rb +0 -29
  210. data/spec/cucumber/formatters/profile_formatter_spec.rb +0 -198
@@ -48,6 +48,14 @@ Feature: hi
48
48
  [:feature, nil, "",
49
49
  [:comment, "# Hello\n\n# World\n"]]
50
50
  end
51
+
52
+ it "should not consume comments as part of a multiline name" do
53
+ parse("Feature: hi\n Scenario: test\n\n#hello\n Scenario: another").to_sexp.should ==
54
+ [:feature, nil, "Feature: hi",
55
+ [:scenario, 2, "Scenario:", "test"],
56
+ [:scenario, 5, "Scenario:", "another",
57
+ [:comment, "#hello\n "]]]
58
+ end
51
59
  end
52
60
 
53
61
  describe "Tags" do
@@ -59,6 +67,14 @@ Feature: hi
59
67
  [:tag, "world"]]
60
68
  end
61
69
 
70
+ it "should not take the tags as part of a multiline name feature element" do
71
+ parse("Feature: hi\n Scenario: test\n\n@hello Scenario: another").to_sexp.should ==
72
+ [:feature, nil, "Feature: hi",
73
+ [:scenario, 2, "Scenario:", "test"],
74
+ [:scenario, 4, "Scenario:", "another",
75
+ [:tag, "hello"]]]
76
+ end
77
+
62
78
  it "should parse a file with tags on a scenario" do
63
79
  parse(%{# FC
64
80
  @ft
@@ -90,6 +106,18 @@ Feature: hi
90
106
  [:background, 2, "Background:",
91
107
  [:step, 3, "Given", "I am a step"]]]
92
108
  end
109
+
110
+ it "should allow multiline names" do
111
+ parse(%{Feature: Hi
112
+ Background: It is my ambition to say
113
+ in ten sentences
114
+ what others say
115
+ in a whole book.
116
+ Given I am a step}).to_sexp.should ==
117
+ [:feature, nil, "Feature: Hi",
118
+ [:background, 2, "Background:", "It is my ambition to say\nin ten sentences\nwhat others say\nin a whole book.",
119
+ [:step, 6, "Given", "I am a step"]]]
120
+ end
93
121
  end
94
122
 
95
123
  describe "Scenarios" do
@@ -146,6 +174,32 @@ Given I have a string
146
174
  [:step_invocation, 3, "Given", "I have a string",
147
175
  [:py_string, "hello\nworld"]]]]
148
176
  end
177
+
178
+ it "should allow multiline names" do
179
+ parse(%{Feature: Hi
180
+ Scenario: It is my ambition to say
181
+ in ten sentences
182
+ what others say
183
+ in a whole book.
184
+ Given I am a step
185
+
186
+ }).to_sexp.should ==
187
+ [:feature, nil, "Feature: Hi",
188
+ [:scenario, 2, "Scenario:", "It is my ambition to say\nin ten sentences\nwhat others say\nin a whole book.",
189
+ [:step_invocation, 6, "Given", "I am a step"]]]
190
+ end
191
+
192
+ it "should ignore gherkin keywords which are parts of other words in the name" do
193
+ parse(%{Feature: Parser bug
194
+ Scenario: I have a Button
195
+ Buttons are great
196
+ Given I have it
197
+ }).to_sexp.should ==
198
+ [:feature, nil, "Feature: Parser bug",
199
+ [:scenario, 2, "Scenario:", "I have a Button\nButtons are great",
200
+ [:step_invocation, 4, "Given", "I have it"]]]
201
+
202
+ end
149
203
  end
150
204
 
151
205
  describe "Scenario Outlines" do
@@ -225,6 +279,53 @@ Examples:
225
279
  [:cell, "5"],
226
280
  [:cell, "6"]]]]]]
227
281
  end
282
+
283
+ it "should allow multiline names" do
284
+ parse(%{Feature: Hi
285
+ Scenario Outline: It is my ambition to say
286
+ in ten sentences
287
+ what others say
288
+ in a whole book.
289
+ Given I am a step
290
+
291
+ }).to_sexp.should ==
292
+ [:feature, nil, "Feature: Hi",
293
+ [:scenario_outline, "Scenario Outline:", "It is my ambition to say\nin ten sentences\nwhat others say\nin a whole book.",
294
+ [:step, 6, "Given", "I am a step"]]]
295
+ end
296
+
297
+ it "should allow Examples to have multiline names" do
298
+ parse(%{Feature: Hi
299
+ Scenario Outline: name
300
+ Given I am a step
301
+
302
+ Examples: I'm a multiline name
303
+ and I'm ok
304
+ |x|
305
+ |5|
306
+
307
+ }).to_sexp.should ==
308
+ [:feature, nil, "Feature: Hi",
309
+ [:scenario_outline, "Scenario Outline:", "name",
310
+ [:step, 3, "Given", "I am a step"],
311
+ [:examples, "Examples:", "I'm a multiline name\nand I'm ok",
312
+ [:table,
313
+ [:row, 7,
314
+ [:cell, "x"]],
315
+ [:row, 8,
316
+ [:cell, "5"]]]]]]
317
+ end
318
+
319
+ it "should allow Examples to have multiline names" do
320
+ parse(%{Feature: Hi
321
+ Scenario: When I have when in scenario
322
+ I should be fine
323
+ Given I am a step
324
+ }).to_sexp.should ==
325
+ [:feature, nil, "Feature: Hi",
326
+ [:scenario, 2, "Scenario:", "When I have when in scenario\nI should be fine",
327
+ [:step_invocation, 4, "Given", "I am a step"]]]
328
+ end
228
329
  end
229
330
 
230
331
  describe "Syntax" do
@@ -281,4 +382,4 @@ Examples:
281
382
  end
282
383
  end
283
384
  end
284
- end
385
+ end
@@ -86,16 +86,22 @@ spec/cucumber/step_mother_spec.rb:40:in `/Three cute (.*)/'
86
86
  end.should raise_error(Redundant)
87
87
  end
88
88
 
89
+ # http://railsforum.com/viewtopic.php?pid=93881
90
+ it "should not raise Redundant unless it's really redundant" do
91
+ @step_mother.Given(/^(.*) (.*) user named '(.*)'$/) {|a,b,c|}
92
+ @step_mother.Given(/^there is no (.*) user named '(.*)'$/) {|a,b|}
93
+ end
94
+
89
95
  it "should raise an error if the world is nil" do
90
96
  @step_mother.World do
91
97
  end
92
98
 
93
99
  begin
94
- @step_mother.before_and_after(nil)
100
+ @step_mother.before_and_after(nil) {}
95
101
  raise "Should fail"
96
102
  rescue NilWorld => e
97
103
  e.message.should == "World procs should never return nil"
98
- e.backtrace.should == ["spec/cucumber/step_mother_spec.rb:90:in `World'"]
104
+ e.backtrace.should == ["spec/cucumber/step_mother_spec.rb:96:in `World'"]
99
105
  end
100
106
  end
101
107
 
@@ -126,12 +132,24 @@ spec/cucumber/step_mother_spec.rb:40:in `/Three cute (.*)/'
126
132
  end.should raise_error(MultipleWorld, %{You can only pass a proc to #World once, but it's happening
127
133
  in 2 places:
128
134
 
129
- spec/cucumber/step_mother_spec.rb:123:in `World'
130
- spec/cucumber/step_mother_spec.rb:125:in `World'
135
+ spec/cucumber/step_mother_spec.rb:129:in `World'
136
+ spec/cucumber/step_mother_spec.rb:131:in `World'
131
137
 
132
- Use Ruby modules instead to extend your worlds. See the #World RDoc.
138
+ Use Ruby modules instead to extend your worlds. See the Cucumber::StepMother#World RDoc
139
+ or http://wiki.github.com/aslakhellesoy/cucumber/a-whole-new-world.
133
140
 
134
141
  })
135
142
  end
143
+
144
+ it "should find before hooks" do
145
+ fish = @step_mother.Before('@fish'){}
146
+ meat = @step_mother.Before('@meat'){}
147
+
148
+ scenario = mock('Scenario')
149
+ scenario.should_receive(:accept_hook?).with(fish).and_return(true)
150
+ scenario.should_receive(:accept_hook?).with(meat).and_return(false)
151
+
152
+ @step_mother.hooks_for(:before, scenario).should == [fish]
153
+ end
136
154
  end
137
155
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kosmas58-cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3.3
4
+ version: 0.3.9.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Aslak Helles\xC3\xB8y"
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-04-07 00:00:00 -07:00
12
+ date: 2009-06-03 00:00:00 -07:00
13
13
  default_executable: cucumber
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -62,16 +62,6 @@ dependencies:
62
62
  - !ruby/object:Gem::Version
63
63
  version: 2.1.2
64
64
  version:
65
- - !ruby/object:Gem::Dependency
66
- name: hoe
67
- type: :development
68
- version_requirement:
69
- version_requirements: !ruby/object:Gem::Requirement
70
- requirements:
71
- - - ">="
72
- - !ruby/object:Gem::Version
73
- version: 1.11.0
74
- version:
75
65
  description: Executable Feature scenarios
76
66
  email:
77
67
  - aslak.hellesoy@gmail.com
@@ -108,6 +98,18 @@ files:
108
98
  - examples/i18n/ar/features/addition.feature
109
99
  - examples/i18n/ar/features/step_definitons/calculator_steps.rb
110
100
  - examples/i18n/ar/lib/calculator.rb
101
+ - examples/i18n/bg/Rakefile
102
+ - examples/i18n/bg/features/addition.feature
103
+ - examples/i18n/bg/features/consecutive_calculations.feature
104
+ - examples/i18n/bg/features/division.feature
105
+ - examples/i18n/bg/features/step_definitons/calculator_steps.rb
106
+ - examples/i18n/bg/features/support/env.rb
107
+ - examples/i18n/bg/features/support/world.rb
108
+ - examples/i18n/bg/lib/calculator.rb
109
+ - examples/i18n/cat/Rakefile
110
+ - examples/i18n/cat/features/step_definitons/calculator_steps.rb
111
+ - examples/i18n/cat/features/suma.feature
112
+ - examples/i18n/cat/lib/calculadora.rb
111
113
  - examples/i18n/da/Rakefile
112
114
  - examples/i18n/da/features/step_definitons/kalkulator_steps.rb
113
115
  - examples/i18n/da/features/summering.feature
@@ -146,6 +148,16 @@ files:
146
148
  - examples/i18n/fr/features/addition.feature
147
149
  - examples/i18n/fr/features/step_definitions/calculatrice_steps.rb
148
150
  - examples/i18n/fr/lib/calculatrice.rb
151
+ - examples/i18n/he/Rakefile
152
+ - examples/i18n/he/features/addition.feature
153
+ - examples/i18n/he/features/division.feature
154
+ - examples/i18n/he/features/step_definitons/calculator_steps.rb
155
+ - examples/i18n/he/lib/calculator.rb
156
+ - examples/i18n/hu/Rakefile
157
+ - examples/i18n/hu/features/addition.feature
158
+ - examples/i18n/hu/features/division.feature
159
+ - examples/i18n/hu/features/step_definitons/calculator_steps.rb
160
+ - examples/i18n/hu/lib/calculator.rb
149
161
  - examples/i18n/id/Rakefile
150
162
  - examples/i18n/id/features/addition.feature
151
163
  - examples/i18n/id/features/division.feature
@@ -170,14 +182,26 @@ files:
170
182
  - examples/i18n/lt/features/division.feature
171
183
  - examples/i18n/lt/features/step_definitons/calculator_steps.rb
172
184
  - examples/i18n/lt/lib/calculator.rb
185
+ - examples/i18n/lv/Rakefile
186
+ - examples/i18n/lv/features/addition.feature
187
+ - examples/i18n/lv/features/division.feature
188
+ - examples/i18n/lv/features/step_definitons/calculator_steps.rb
189
+ - examples/i18n/lv/lib/calculator.rb
173
190
  - examples/i18n/no/Rakefile
174
191
  - examples/i18n/no/features/step_definitons/kalkulator_steps.rb
175
192
  - examples/i18n/no/features/summering.feature
176
193
  - examples/i18n/no/features/support/env.rb
177
194
  - examples/i18n/no/lib/kalkulator.rb
195
+ - examples/i18n/pl/Rakefile
196
+ - examples/i18n/pl/features/addition.feature
197
+ - examples/i18n/pl/features/division.feature
198
+ - examples/i18n/pl/features/step_definitons/calculator_steps.rb
199
+ - examples/i18n/pl/features/support/env.rb
200
+ - examples/i18n/pl/lib/calculator.rb
178
201
  - examples/i18n/pt/Rakefile
179
202
  - examples/i18n/pt/features/adicao.feature
180
203
  - examples/i18n/pt/features/step_definitions/calculadora_steps.rb
204
+ - examples/i18n/pt/features/support/env.rb
181
205
  - examples/i18n/pt/lib/calculadora.rb
182
206
  - examples/i18n/ro/Rakefile
183
207
  - examples/i18n/ro/features/step_definitons/calculator_steps.rb
@@ -210,23 +234,28 @@ files:
210
234
  - examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb
211
235
  - examples/i18n/zh-TW/lib/calculator.rb
212
236
  - examples/java/README.textile
213
- - examples/java/Rakefile
237
+ - examples/java/build.xml
214
238
  - examples/java/features/hello.feature
215
239
  - examples/java/features/step_definitons/hello_steps.rb
216
240
  - examples/java/features/step_definitons/tree_steps.rb
217
241
  - examples/java/features/tree.feature
218
242
  - examples/java/src/cucumber/demo/Hello.java
243
+ - examples/junit/features/one_passing_one_failing.feature
244
+ - examples/junit/features/pending.feature
245
+ - examples/junit/features/step_definitions/steps.rb
219
246
  - examples/pure_java/README.textile
220
247
  - examples/selenium/Rakefile
221
248
  - examples/selenium/features/search.feature
222
249
  - examples/selenium/features/step_definitons/search_steps.rb
223
250
  - examples/selenium/features/support/env.rb
224
251
  - examples/selenium_webrat/Rakefile
252
+ - examples/selenium_webrat/config.ru
225
253
  - examples/selenium_webrat/features/search.feature
226
254
  - examples/selenium_webrat/features/step_definitons/search_steps.rb
227
255
  - examples/selenium_webrat/features/support/env.rb
228
256
  - examples/self_test/README.textile
229
257
  - examples/self_test/Rakefile
258
+ - examples/self_test/features/background/background_tagged_before_on_outline.feature
230
259
  - examples/self_test/features/background/background_with_name.feature
231
260
  - examples/self_test/features/background/failing_background.feature
232
261
  - examples/self_test/features/background/failing_background_after_success.feature
@@ -238,11 +267,12 @@ files:
238
267
  - examples/self_test/features/call_undefined_step_from_step_def.feature
239
268
  - examples/self_test/features/failing_expectation.feature
240
269
  - examples/self_test/features/lots_of_undefined.feature
270
+ - examples/self_test/features/multiline_name.feature
241
271
  - examples/self_test/features/outline_sample.feature
242
272
  - examples/self_test/features/sample.feature
273
+ - examples/self_test/features/search_sample.feature
243
274
  - examples/self_test/features/step_definitions/sample_steps.rb
244
275
  - examples/self_test/features/support/env.rb
245
- - examples/self_test/features/support/tag_count_formatter.rb
246
276
  - examples/self_test/features/tons_of_cukes.feature
247
277
  - examples/self_test/features/undefined_multiline_args.feature
248
278
  - examples/sinatra/Rakefile
@@ -256,18 +286,27 @@ files:
256
286
  - examples/test_unit/features/step_definitions/test_unit_steps.rb
257
287
  - examples/test_unit/features/test_unit.feature
258
288
  - examples/tickets/Rakefile
259
- - examples/tickets/cucumber.yml
260
289
  - examples/tickets/features/172.feature
261
290
  - examples/tickets/features/177/1.feature
262
291
  - examples/tickets/features/177/2.feature
263
292
  - examples/tickets/features/177/3.feature
264
293
  - examples/tickets/features/180.feature
294
+ - examples/tickets/features/229/tagged_hooks.feature
295
+ - examples/tickets/features/229/tagged_hooks.rb
265
296
  - examples/tickets/features/236.feature
266
297
  - examples/tickets/features/241.feature
267
298
  - examples/tickets/features/246.feature
268
299
  - examples/tickets/features/248.feature
269
300
  - examples/tickets/features/270/back.feature
270
301
  - examples/tickets/features/270/back.steps.rb
302
+ - examples/tickets/features/272/hooks.feature
303
+ - examples/tickets/features/272/hooks_steps.rb
304
+ - examples/tickets/features/279/py_string_indent.feature
305
+ - examples/tickets/features/279/py_string_indent.steps.rb
306
+ - examples/tickets/features/279/wrong.feature_
307
+ - examples/tickets/features/301/filter_background_tagged_hooks.feature
308
+ - examples/tickets/features/301/filter_background_tagged_hooks_steps.rb
309
+ - examples/tickets/features/306/only_background.feature
271
310
  - examples/tickets/features/lib/eatting_machine.rb
272
311
  - examples/tickets/features/lib/pantry.rb
273
312
  - examples/tickets/features/scenario_outline.feature
@@ -281,17 +320,27 @@ files:
281
320
  - examples/watir/features/search.feature
282
321
  - examples/watir/features/step_definitons/search_steps.rb
283
322
  - examples/watir/features/support/env.rb
323
+ - features/after_block_exceptions.feature
324
+ - features/after_step_block_exceptions.feature
284
325
  - features/background.feature
285
326
  - features/cucumber_cli.feature
286
327
  - features/cucumber_cli_diff_disabled.feature
287
328
  - features/cucumber_cli_outlines.feature
288
329
  - features/custom_formatter.feature
330
+ - features/exclude_files.feature
331
+ - features/expand.feature
332
+ - features/html_formatter.feature
333
+ - features/html_formatter/a.html
334
+ - features/junit_formatter.feature
335
+ - features/multiline_names.feature
336
+ - features/rake_task.feature
289
337
  - features/report_called_undefined_steps.feature
290
338
  - features/snippet.feature
291
339
  - features/step_definitions/cucumber_steps.rb
292
340
  - features/step_definitions/extra_steps.rb
293
341
  - features/support/env.rb
294
342
  - features/usage.feature
343
+ - features/work_in_progress.feature
295
344
  - gem_tasks/deployment.rake
296
345
  - gem_tasks/environment.rake
297
346
  - gem_tasks/features.rake
@@ -332,17 +381,19 @@ files:
332
381
  - lib/cucumber/core_ext/instance_exec.rb
333
382
  - lib/cucumber/core_ext/proc.rb
334
383
  - lib/cucumber/core_ext/string.rb
335
- - lib/cucumber/formatter.rb
336
384
  - lib/cucumber/formatter/ansicolor.rb
337
385
  - lib/cucumber/formatter/color_io.rb
338
386
  - lib/cucumber/formatter/console.rb
339
387
  - lib/cucumber/formatter/cucumber.css
340
388
  - lib/cucumber/formatter/cucumber.sass
389
+ - lib/cucumber/formatter/duration.rb
341
390
  - lib/cucumber/formatter/html.rb
391
+ - lib/cucumber/formatter/junit.rb
342
392
  - lib/cucumber/formatter/pretty.rb
343
393
  - lib/cucumber/formatter/profile.rb
344
394
  - lib/cucumber/formatter/progress.rb
345
395
  - lib/cucumber/formatter/rerun.rb
396
+ - lib/cucumber/formatter/tag_cloud.rb
346
397
  - lib/cucumber/formatter/unicode.rb
347
398
  - lib/cucumber/formatter/usage.rb
348
399
  - lib/cucumber/formatters/unicode.rb
@@ -358,6 +409,7 @@ files:
358
409
  - lib/cucumber/rails/rspec.rb
359
410
  - lib/cucumber/rails/world.rb
360
411
  - lib/cucumber/rake/task.rb
412
+ - lib/cucumber/rspec_neuter.rb
361
413
  - lib/cucumber/step_definition.rb
362
414
  - lib/cucumber/step_match.rb
363
415
  - lib/cucumber/step_mother.rb
@@ -367,14 +419,18 @@ files:
367
419
  - rails_generators/cucumber/cucumber_generator.rb
368
420
  - rails_generators/cucumber/templates/cucumber
369
421
  - rails_generators/cucumber/templates/cucumber.rake
422
+ - rails_generators/cucumber/templates/cucumber_environment.rb
370
423
  - rails_generators/cucumber/templates/env.rb
371
- - rails_generators/cucumber/templates/paths.rb
372
- - rails_generators/cucumber/templates/webrat_steps.rb
424
+ - rails_generators/cucumber/templates/de/paths.rb
425
+ - rails_generators/cucumber/templates/de/webrat_steps.rb
426
+ - rails_generators/cucumber/templates/en/paths.rb
427
+ - rails_generators/cucumber/templates/en/webrat_steps.rb
373
428
  - rails_generators/feature/USAGE
374
429
  - rails_generators/feature/feature_generator.rb
375
430
  - rails_generators/feature/templates/feature.erb
376
431
  - rails_generators/feature/templates/steps.erb
377
432
  - spec/cucumber/ast/background_spec.rb
433
+ - spec/cucumber/ast/feature_element_spec.rb
378
434
  - spec/cucumber/ast/feature_factory.rb
379
435
  - spec/cucumber/ast/feature_spec.rb
380
436
  - spec/cucumber/ast/py_string_spec.rb
@@ -383,7 +439,7 @@ files:
383
439
  - spec/cucumber/ast/step_collection_spec.rb
384
440
  - spec/cucumber/ast/step_spec.rb
385
441
  - spec/cucumber/ast/table_spec.rb
386
- - spec/cucumber/ast/tags_spec.rb
442
+ - spec/cucumber/ast/visitor_spec.rb
387
443
  - spec/cucumber/broadcaster_spec.rb
388
444
  - spec/cucumber/cli/configuration_spec.rb
389
445
  - spec/cucumber/cli/main_spec.rb
@@ -391,12 +447,13 @@ files:
391
447
  - spec/cucumber/core_ext/string_spec.rb
392
448
  - spec/cucumber/formatter/ansicolor_spec.rb
393
449
  - spec/cucumber/formatter/color_io_spec.rb
450
+ - spec/cucumber/formatter/duration_spec.rb
394
451
  - spec/cucumber/formatter/html/cucumber.css
395
452
  - spec/cucumber/formatter/html/cucumber.js
396
453
  - spec/cucumber/formatter/html/index.html
397
454
  - spec/cucumber/formatter/html/jquery-1.3.min.js
398
455
  - spec/cucumber/formatter/html/jquery.uitableedit.js
399
- - spec/cucumber/formatters/profile_formatter_spec.rb
456
+ - spec/cucumber/formatter/progress_spec.rb
400
457
  - spec/cucumber/parser/feature_parser_spec.rb
401
458
  - spec/cucumber/parser/table_parser_spec.rb
402
459
  - spec/cucumber/rails/stubs/mini_rails.rb
@@ -421,7 +478,7 @@ files:
421
478
  - spec/cucumber/world/pending_spec.rb
422
479
  - spec/spec.opts
423
480
  - spec/spec_helper.rb
424
- has_rdoc: true
481
+ has_rdoc: false
425
482
  homepage: http://cukes.info
426
483
  post_install_message:
427
484
  rdoc_options:
@@ -446,7 +503,7 @@ requirements: []
446
503
  rubyforge_project: rspec
447
504
  rubygems_version: 1.2.0
448
505
  signing_key:
449
- specification_version: 2
506
+ specification_version: 3
450
507
  summary: Executable Feature scenarios
451
508
  test_files: []
452
509
 
@@ -1,12 +0,0 @@
1
- $:.unshift(File.dirname(__FILE__) + '/../../lib')
2
- require 'cucumber/rake/task'
3
-
4
- Cucumber::Rake::Task.new(:features) do |t|
5
- t.cucumber_opts = "--format pretty"
6
- end
7
-
8
- task :features => :compile
9
-
10
- task :compile do
11
- sh "javac src/cucumber/demo/Hello.java && jar cf src/cucumber_demo.jar -C src cucumber/demo/Hello.class"
12
- end
@@ -1,25 +0,0 @@
1
- module Tag
2
- # Custom formatter that reports occurrences of each tag
3
- class Count < Cucumber::Ast::Visitor
4
- def initialize(step_mother, io, options)
5
- super(step_mother)
6
- @io = io
7
- @counts = Hash.new{|h,k| h[k] = 0}
8
- end
9
-
10
- def visit_features(features)
11
- super
12
- print_summary
13
- end
14
-
15
- def visit_tag_name(tag_name)
16
- @counts[tag_name] += 1
17
- end
18
-
19
- def print_summary
20
- matrix = @counts.to_a.sort{|paira, pairb| paira[0] <=> pairb[0]}.transpose
21
- table = Cucumber::Ast::Table.new(matrix)
22
- Cucumber::Formatter::Pretty.new(@step_mother, @io, {}).visit_multiline_arg(table)
23
- end
24
- end
25
- end
@@ -1 +0,0 @@
1
- %w{color_io pretty progress profile rerun html usage}.each{|n| require "cucumber/formatter/#{n}"}
@@ -1,29 +0,0 @@
1
- module NavigationHelpers
2
- # Maps a static name to a static route.
3
- #
4
- # This method is *not* designed to map from a dynamic name to a
5
- # dynamic route like <tt>post_comments_path(post)</tt>. For dynamic
6
- # routes like this you should *not* rely on #path_to, but write
7
- # your own step definitions instead. Example:
8
- #
9
- # Given /I am on the comments page for the "(.+)" post/ |name|
10
- # post = Post.find_by_name(name)
11
- # visit post_comments_path(post)
12
- # end
13
- #
14
- def path_to(page_name)
15
- case page_name
16
-
17
- when /the homepage/
18
- root_path
19
-
20
- # Add more page name => path mappings here
21
-
22
- else
23
- raise "Can't find mapping from \"#{page_name}\" to a path.\n" +
24
- "Now, go and add a mapping in features/support/paths.rb"
25
- end
26
- end
27
- end
28
-
29
- World(NavigationHelpers)