cucumber 0.4.4 → 0.4.5.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. data/.gitignore +2 -1
  2. data/Caliper.yml +5 -0
  3. data/History.txt +24 -1
  4. data/Rakefile +1 -1
  5. data/VERSION.yml +2 -2
  6. data/cucumber.gemspec +18 -27
  7. data/cucumber.yml +10 -4
  8. data/examples/i18n/README.textile +1 -1
  9. data/examples/i18n/bg/features/consecutive_calculations.feature +1 -1
  10. data/examples/i18n/bg/features/division.feature +1 -1
  11. data/examples/i18n/en-lol/Rakefile +1 -3
  12. data/examples/i18n/en/features/division.feature +4 -4
  13. data/examples/i18n/et/features/jagamine.feature +1 -1
  14. data/examples/i18n/fr/features/addition2.feature +17 -0
  15. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +13 -0
  16. data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +3 -3
  17. data/examples/i18n/lt/features/addition.feature +2 -2
  18. data/examples/i18n/lt/features/division.feature +1 -1
  19. data/examples/i18n/zh-CN/Rakefile +1 -3
  20. data/examples/i18n/zh-TW/Rakefile +1 -3
  21. data/examples/tcl/README.textile +11 -0
  22. data/examples/tcl/Rakefile +6 -0
  23. data/examples/tcl/features/fibonnacci.feature +17 -0
  24. data/examples/tcl/features/step_definitions/fib_steps.rb +7 -0
  25. data/examples/tcl/features/support/env.rb +6 -0
  26. data/examples/tcl/src/fib.tcl +3 -0
  27. data/examples/tickets/features/177/1.feature +3 -4
  28. data/examples/tickets/features/177/2.feature +2 -3
  29. data/examples/tickets/features/241.feature +2 -3
  30. data/examples/tickets/features/301/filter_background_tagged_hooks.feature +1 -1
  31. data/features/cucumber_cli.feature +4 -2
  32. data/features/custom_formatter.feature +32 -31
  33. data/features/html_formatter/a.html +319 -102
  34. data/features/language_help.feature +12 -14
  35. data/features/support/env.rb +1 -1
  36. data/features/transform.feature +17 -3
  37. data/gem_tasks/features.rake +3 -1
  38. data/lib/cucumber/ast/scenario_outline.rb +1 -1
  39. data/lib/cucumber/ast/step_invocation.rb +2 -2
  40. data/lib/cucumber/cli/configuration.rb +2 -17
  41. data/lib/cucumber/cli/language_help_formatter.rb +1 -1
  42. data/lib/cucumber/cli/options.rb +5 -4
  43. data/lib/cucumber/formatter/cucumber.css +198 -82
  44. data/lib/cucumber/formatter/cucumber.sass +173 -71
  45. data/lib/cucumber/formatter/html.rb +371 -195
  46. data/lib/cucumber/formatter/io.rb +33 -0
  47. data/lib/cucumber/formatter/junit.rb +16 -7
  48. data/lib/cucumber/formatter/pdf.rb +5 -5
  49. data/lib/cucumber/formatter/pretty.rb +6 -8
  50. data/lib/cucumber/formatter/progress.rb +4 -2
  51. data/lib/cucumber/formatter/rerun.rb +4 -2
  52. data/lib/cucumber/formatter/steps.rb +2 -2
  53. data/lib/cucumber/formatter/tag_cloud.rb +6 -2
  54. data/lib/cucumber/formatter/usage.rb +2 -2
  55. data/lib/cucumber/languages.yml +205 -281
  56. data/lib/cucumber/parser/feature.rb +348 -82
  57. data/lib/cucumber/parser/feature.tt +47 -11
  58. data/lib/cucumber/parser/i18n.tt +7 -17
  59. data/lib/cucumber/parser/natural_language.rb +45 -18
  60. data/lib/cucumber/rb_support/rb_transform.rb +1 -1
  61. data/lib/cucumber/step_mother.rb +2 -3
  62. data/lib/cucumber/webrat/element_locator.rb +9 -5
  63. data/spec/cucumber/cli/options_spec.rb +0 -3
  64. data/spec/cucumber/formatter/html_spec.rb +15 -2
  65. data/spec/cucumber/formatter/junit_spec.rb +3 -0
  66. data/spec/cucumber/treetop_parser/fit_scenario.feature +2 -2
  67. data/spec/cucumber/treetop_parser/given_scenario.feature +1 -1
  68. data/spec/cucumber/treetop_parser/multiple_tables.feature +2 -2
  69. data/spec/cucumber/treetop_parser/test_dos.feature +1 -1
  70. metadata +17 -26
  71. data/Manifest.txt +0 -0
  72. data/lib/cucumber/rails/action_controller.rb +0 -38
  73. data/lib/cucumber/rails/active_record.rb +0 -30
  74. data/lib/cucumber/rails/rspec.rb +0 -10
  75. data/lib/cucumber/rails/test_unit.rb +0 -9
  76. data/lib/cucumber/rails/world.rb +0 -30
  77. data/rails_generators/cucumber/USAGE +0 -11
  78. data/rails_generators/cucumber/cucumber_generator.rb +0 -117
  79. data/rails_generators/cucumber/templates/cucumber +0 -17
  80. data/rails_generators/cucumber/templates/cucumber.rake +0 -46
  81. data/rails_generators/cucumber/templates/cucumber_environment.rb +0 -30
  82. data/rails_generators/cucumber/templates/env.rb +0 -49
  83. data/rails_generators/cucumber/templates/paths.rb +0 -27
  84. data/rails_generators/cucumber/templates/spork_env.rb +0 -57
  85. data/rails_generators/cucumber/templates/version_check.rb +0 -31
  86. data/rails_generators/cucumber/templates/webrat_steps.rb +0 -241
  87. data/rails_generators/feature/USAGE +0 -12
  88. data/rails_generators/feature/feature_generator.rb +0 -40
  89. data/rails_generators/feature/templates/feature.erb +0 -31
  90. data/rails_generators/feature/templates/steps.erb +0 -14
@@ -76,8 +76,8 @@ module Cucumber
76
76
  steps.at_line?(line)
77
77
  end
78
78
 
79
- def matches_tags?(tag_name_lists)
80
- Ast::Tags.matches?(self.parent.tags.tag_names, tag_name_lists)
79
+ def matches_tags?(tag_names)
80
+ Ast::Tags.matches?(self.parent.tags.tag_names, tag_names)
81
81
  end
82
82
 
83
83
  def build
@@ -116,10 +116,10 @@ module Cucumber
116
116
  tags.at_line?(line)
117
117
  end
118
118
 
119
- def matches_tags?(tag_name_lists)
119
+ def matches_tags?(tag_names)
120
120
  feature_tag_names = self.parent.parent.tags.tag_names
121
121
  source_tag_names = (feature_tag_names + tags.tag_names).uniq
122
- Ast::Tags.matches?(source_tag_names, tag_name_lists)
122
+ Ast::Tags.matches?(source_tag_names, tag_names)
123
123
  end
124
124
 
125
125
  def matches_name?(regexp_to_match)
@@ -153,10 +153,10 @@ module Cucumber
153
153
  steps.at_line?(line)
154
154
  end
155
155
 
156
- def matches_tags?(tag_name_lists)
156
+ def matches_tags?(tag_names)
157
157
  feature_tag_names = self.parent.parent.tags.tag_names
158
158
  source_tag_names = (feature_tag_names + tags.tag_names).uniq
159
- Ast::Tags.matches?(source_tag_names, tag_name_lists)
159
+ Ast::Tags.matches?(source_tag_names, tag_names)
160
160
  end
161
161
 
162
162
  def matches_name?(regexp_to_match)
@@ -195,7 +195,7 @@ module Cucumber
195
195
  end
196
196
 
197
197
  rule step
198
- comment space* step_keyword keyword_space name:line_to_eol (eol+ / eof) multi:multiline_arg? white {
198
+ comment space* step_keyword space* name:line_to_eol (eol+ / eof) multi:multiline_arg? white {
199
199
  def at_line?(line)
200
200
  step_keyword.line == line ||
201
201
  (multi.respond_to?(:at_line?) && multi.at_line?(line))
@@ -203,9 +203,9 @@ module Cucumber
203
203
 
204
204
  def build
205
205
  if multi.respond_to?(:build)
206
- Ast::Step.new(step_keyword.line, step_keyword.text_value, name.text_value.strip, multi.build)
206
+ Ast::Step.new(step_keyword.line, step_keyword.text_value.strip, name.text_value.strip, multi.build)
207
207
  else
208
- Ast::Step.new(step_keyword.line, step_keyword.text_value, name.text_value.strip)
208
+ Ast::Step.new(step_keyword.line, step_keyword.text_value.strip, name.text_value.strip)
209
209
  end
210
210
  end
211
211
  }
@@ -238,7 +238,7 @@ module Cucumber
238
238
  table.at_line?(line)
239
239
  end
240
240
 
241
- def matches_tags?(tag_name_lists)
241
+ def matches_tags?(tag_names)
242
242
  true
243
243
  end
244
244
 
@@ -273,7 +273,43 @@ module Cucumber
273
273
  end
274
274
 
275
275
  rule reserved_words_and_symbols
276
- (step_keyword keyword_space) / scenario_keyword / scenario_outline_keyword / table / tag / comment_line
276
+ (step_keyword) / scenario_keyword / scenario_outline_keyword / table / tag / comment_line
277
+ end
278
+
279
+ rule py_string
280
+ open_py_string s:(!close_py_string .)* close_py_string {
281
+ def at_line?(line)
282
+ line >= open_py_string.line && line <= close_py_string.line
283
+ end
284
+
285
+ def build
286
+ Ast::PyString.new(open_py_string.line, close_py_string.line, s.text_value, open_py_string.indentation)
287
+ end
288
+ }
289
+ end
290
+
291
+ rule open_py_string
292
+ indent:space* '"""' space* eol {
293
+ def indentation
294
+ indent.text_value.length
295
+ end
296
+
297
+ def line
298
+ indent.line
299
+ end
300
+ }
301
+ end
302
+
303
+ rule close_py_string
304
+ eol space* quotes:'"""' white {
305
+ def line
306
+ quotes.line
307
+ end
308
+ }
309
+ end
310
+
311
+ rule white
312
+ (space / eol)*
277
313
  end
278
314
 
279
315
  end
@@ -1,44 +1,34 @@
1
1
  module Cucumber
2
2
  module Parser
3
3
  module I18n
4
- grammar <%= keywords('grammar_name', true) %>
5
- include Common
4
+ grammar <%= keywords('grammar_name')[0] %>
6
5
  include Feature
7
6
  include Table
8
- include PyString
9
7
 
10
8
  rule feature
11
9
  feature_sub
12
10
  end
13
11
 
14
12
  rule background_keyword
15
- (<%= keywords('background') %>) ':'
13
+ <%= treetop_keywords(background_keywords) %> ':'
16
14
  end
17
15
 
18
16
  rule scenario_keyword
19
- (<%= keywords('scenario') %>) ':'
17
+ <%= treetop_keywords(scenario_keywords) %> ':'
20
18
  end
21
19
 
22
20
  rule scenario_outline_keyword
23
- (<%= keywords('scenario_outline') %>) ':'
21
+ <%= treetop_keywords(scenario_outline_keywords) %> ':'
24
22
  end
25
23
 
26
24
  rule step_keyword
27
- (<%= keywords('given') %>) /
28
- (<%= keywords('when') %>) /
29
- (<%= keywords('then') %>) /
30
- (<%= keywords('and') %>) /
31
- (<%= keywords('but') %>)
32
- end
33
-
34
- rule keyword_space
35
- <%= keywords('space_after_keyword', true) ? 'space+' : 'space*' %>
25
+ <%= treetop_keywords(step_keywords) %>
36
26
  end
37
27
 
38
28
  rule examples_keyword
39
- (<%= keywords('examples') %>) ':'?
29
+ <%= treetop_keywords(examples_keywords) %> ':'?
40
30
  end
41
31
  end
42
32
  end
43
33
  end
44
- end
34
+ end
@@ -1,7 +1,9 @@
1
+ # TODO: REMOVE ME
2
+ # Most of this class now lives in Gherkin's i18n.rb
1
3
  module Cucumber
2
4
  module Parser
3
5
  class NaturalLanguage
4
- KEYWORD_KEYS = %w{name native encoding space_after_keyword feature background scenario scenario_outline examples given when then and but}
6
+ KEYWORD_KEYS = %w{name native feature background scenario scenario_outline examples given when then and but}
5
7
 
6
8
  class << self
7
9
  def get(step_mother, lang)
@@ -11,6 +13,11 @@ module Cucumber
11
13
  def languages
12
14
  @languages ||= {}
13
15
  end
16
+
17
+ # Used by code generators for other lexer tools like pygments lexer and textmate bundle
18
+ def all(step_mother=nil)
19
+ Cucumber::LANGUAGES.keys.sort.map{|lang| get(step_mother, lang)}
20
+ end
14
21
  end
15
22
 
16
23
  def initialize(step_mother, lang)
@@ -22,7 +29,7 @@ module Cucumber
22
29
  end
23
30
 
24
31
  def register_adverbs(step_mother)
25
- adverbs = %w{given when then and but}.map{|keyword| @keywords[keyword].split('|').map{|w| w.gsub(/\s/, '')}}.flatten
32
+ adverbs = %w{given when then and but}.map{|keyword| @keywords[keyword].split('|').map{|w| w.gsub(/[\s<']/, '')}}.flatten
26
33
  step_mother.register_adverbs(adverbs) if step_mother
27
34
  end
28
35
 
@@ -46,35 +53,55 @@ module Cucumber
46
53
  feature
47
54
  end
48
55
 
49
- def keywords(key, raw=false)
50
- return @keywords[key] if raw
51
- return nil unless @keywords[key]
52
- values = @keywords[key].to_s.split('|')
53
- values.map{|value| "'#{value}'"}.join(" / ")
54
- end
55
-
56
56
  def incomplete?
57
57
  KEYWORD_KEYS.detect{|key| @keywords[key].nil?}
58
58
  end
59
59
 
60
- def scenario_keyword
61
- @keywords['scenario'].split('|')[0] + ':'
60
+ def feature_keywords
61
+ keywords('feature')
62
62
  end
63
63
 
64
- def but_keywords
65
- @keywords['but'].split('|')
64
+ def scenario_keywords
65
+ keywords('scenario')
66
66
  end
67
67
 
68
- def and_keywords
69
- @keywords['and'].split('|')
68
+ def scenario_outline_keywords
69
+ keywords('scenario_outline')
70
+ end
71
+
72
+ def background_keywords
73
+ keywords('background')
74
+ end
75
+
76
+ def examples_keywords
77
+ keywords('examples')
78
+ end
79
+
80
+ def but_keywords(space=true)
81
+ keywords('but', space)
82
+ end
83
+
84
+ def and_keywords(space=true)
85
+ keywords('and', space)
70
86
  end
71
87
 
72
88
  def step_keywords
73
- %w{given when then and but}.map{|key| @keywords[key].split('|')}.flatten.uniq
89
+ %w{given when then and but}.map{|key| keywords(key, true)}.flatten.uniq
90
+ end
91
+
92
+ def keywords(key, space=false)
93
+ raise "No #{key} in #{@keywords.inspect}" if @keywords[key].nil?
94
+ @keywords[key].split('|').map{|kw| space ? keyword_space(kw) : kw}
95
+ end
96
+
97
+ private
98
+
99
+ def treetop_keywords(keywords)
100
+ "(" + keywords.map{|k| %{"#{k}"}}.join(" / ") + ")"
74
101
  end
75
102
 
76
- def space_after_keyword
77
- @keywords['space_after_keyword']
103
+ def keyword_space(val)
104
+ (val + ' ').sub(/< $/,'')
78
105
  end
79
106
  end
80
107
  end
@@ -23,7 +23,7 @@ module Cucumber
23
23
  end
24
24
 
25
25
  def match(arg)
26
- arg.match(@regexp)
26
+ arg ? arg.match(@regexp) : nil
27
27
  end
28
28
 
29
29
  def invoke(arg)
@@ -171,14 +171,13 @@ module Cucumber
171
171
  # Then I should not be thirsty
172
172
  # })
173
173
  def invoke_steps(steps_text, natural_language)
174
- ored_keywords = natural_language.step_keywords.join("|")
175
- after_keyword = natural_language.space_after_keyword ? ' ' : ''
174
+ ored_keywords = natural_language.step_keywords.map{|kw| Regexp.escape(kw)}.join("|")
176
175
  # TODO Gherkin:
177
176
  # This a bit hacky and fragile. When we move to Gherkin we should replace this entire method body
178
177
  # with a call to the parser - parsing the body of a scenario. We may need to put the parser/policy in the
179
178
  # appropriate state (the same state it's in after parsing a Scenario: line).
180
179
  steps_text.strip.split(/(?=^\s*(?:#{ored_keywords}))/).map { |step| step.strip }.each do |step|
181
- output = step.match(/^\s*(#{ored_keywords})#{after_keyword}([^\n]+)(\n.*)?$/m)
180
+ output = step.match(/^\s*(#{ored_keywords})([^\n]+)(\n.*)?$/m)
182
181
 
183
182
  action, step_name, table_or_string = output[1], output[2], output[3]
184
183
  if table_or_string.to_s.strip =~ /^\|/
@@ -1,3 +1,7 @@
1
+ warning = "\nWARNING: #{caller.detect{|l| l =~ /features/}}: cucumber/webrat/element_locator.rb is deprecated and will be removed in Cucumber 0.5.0.\nUse cucumber/web/tableish instead.\n"
2
+ at_exit do
3
+ warn warning
4
+ end
1
5
  require 'webrat'
2
6
 
3
7
  module Webrat
@@ -28,8 +32,8 @@ module Webrat
28
32
 
29
33
  def table_from_table #:nodoc:
30
34
  col_count = nil
31
- Webrat::XML.css_search(element, 'tr').map do |row|
32
- cols = Webrat::XML.css_search(row, 'th,td')
35
+ element.css('tr').map do |row|
36
+ cols = row.css('th,td')
33
37
  col_count ||= cols.length
34
38
  cols[0...col_count].map do |col|
35
39
  col.inner_html
@@ -38,7 +42,7 @@ module Webrat
38
42
  end
39
43
 
40
44
  def table_from_dl #:nodoc:
41
- Webrat::XML.css_search(@element, 'dt').map do |dt|
45
+ element.css('dt').map do |dt|
42
46
  next_node = dt.next_sibling
43
47
  while next_node.name != 'dd'
44
48
  next_node = next_node.next_sibling
@@ -48,7 +52,7 @@ module Webrat
48
52
  end
49
53
 
50
54
  def table_from_list #:nodoc:
51
- Webrat::XML.css_search(@element, 'li').map do |li|
55
+ element.css('li').map do |li|
52
56
  [li.inner_html]
53
57
  end
54
58
  end
@@ -63,7 +67,7 @@ module Webrat
63
67
  end
64
68
 
65
69
  def table_element
66
- Webrat::XML.css_search(@dom, @value)[0]
70
+ @dom.css(@value)[0]
67
71
  end
68
72
 
69
73
  def error_message
@@ -63,9 +63,6 @@ module Cli
63
63
  when_parsing('--language help') { Kernel.should_receive(:exit) }
64
64
  end
65
65
  end
66
- it "sets the langauge" do
67
- after_parsing('-l en') { options[:lang].should == 'en' }
68
- end
69
66
  end
70
67
 
71
68
  context "--port PORT" do
@@ -26,13 +26,26 @@ module Cucumber
26
26
  it "should not raise an error when visiting a blank feature name" do
27
27
  lambda { @formatter.feature_name("") }.should_not raise_error
28
28
  end
29
-
29
+
30
30
  describe "given a single feature" do
31
31
  before(:each) do
32
32
  run_defined_feature
33
33
  @doc = Nokogiri.HTML(@out.string)
34
34
  end
35
-
35
+
36
+ describe "basic feature" do
37
+ define_feature <<-FEATURE
38
+ Feature: Bananas
39
+ In order to find my inner monkey
40
+ As a human
41
+ I must eat bananas
42
+ FEATURE
43
+
44
+ it "should output a main container div" do
45
+ @out.string.should =~ /\<div class="cucumber"\>/
46
+ end
47
+ end
48
+
36
49
  describe "with a comment" do
37
50
  define_feature <<-FEATURE
38
51
  # Healthy
@@ -61,6 +61,9 @@ module Cucumber::Formatter
61
61
 
62
62
  Scenario Outline: Eat things
63
63
  Given <Things>
64
+ And stuff:
65
+ | foo |
66
+ | bar |
64
67
 
65
68
  Examples: Good
66
69
  | Things |
@@ -1,8 +1,8 @@
1
- Some title
1
+ Feature: Some title
2
2
 
3
3
  Scenario: second
4
4
  Given 'bind me please'
5
5
 
6
- More Examples:
6
+ Examples:
7
7
  |c|
8
8
  |I can have spaces|
@@ -1,4 +1,4 @@
1
- Some title
1
+ Feature: Some title
2
2
 
3
3
  Scenario: first
4
4
  Given a
@@ -9,7 +9,7 @@ Feature: Addition
9
9
  When I press add
10
10
  Then the result should be 120 on the screen
11
11
 
12
- More Examples:
12
+ Examples:
13
13
  | input_1 | input_2 | button | output |
14
14
  | 20 | 30 | add | 50 |
15
15
  | 2 | 5 | add | 7 |
@@ -22,6 +22,6 @@ Feature: Addition
22
22
  When I press add
23
23
  Then the result should be 50 on the screen
24
24
 
25
- More Examples:
25
+ Examples:
26
26
  | input_1 | input_2 | input_3 | button | output |
27
27
  | 1 | 2 | 3 | add | 6 |
@@ -8,7 +8,7 @@ Feature: Search
8
8
  When the string is reversed
9
9
  Then the string should be "cba"
10
10
 
11
- More Examples:
11
+ Examples:
12
12
  |input |output|
13
13
  |a |a |
14
14
  |ab |ba |
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.4
4
+ version: 0.4.5.rc1
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-11-13 00:00:00 +01:00
12
+ date: 2009-12-07 00:00:00 +01:00
13
13
  default_executable: cucumber
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -70,7 +70,7 @@ dependencies:
70
70
  requirements:
71
71
  - - "="
72
72
  - !ruby/object:Gem::Version
73
- version: 1.3.3
73
+ version: 1.4.0
74
74
  version:
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: prawn
@@ -114,9 +114,9 @@ extra_rdoc_files:
114
114
  files:
115
115
  - .gitattributes
116
116
  - .gitignore
117
+ - Caliper.yml
117
118
  - History.txt
118
119
  - LICENSE
119
- - Manifest.txt
120
120
  - README.rdoc
121
121
  - Rakefile
122
122
  - VERSION.yml
@@ -182,6 +182,7 @@ files:
182
182
  - examples/i18n/fi/lib/laskin.rb
183
183
  - examples/i18n/fr/Rakefile
184
184
  - examples/i18n/fr/features/addition.feature
185
+ - examples/i18n/fr/features/addition2.feature
185
186
  - examples/i18n/fr/features/step_definitions/calculatrice_steps.rb
186
187
  - examples/i18n/fr/lib/calculatrice.rb
187
188
  - examples/i18n/he/Rakefile
@@ -363,6 +364,12 @@ files:
363
364
  - examples/sinatra/views/layout.erb
364
365
  - examples/steps_library/features/step_definitions/steps_lib1.rb
365
366
  - examples/steps_library/features/step_definitions/steps_lib2.rb
367
+ - examples/tcl/README.textile
368
+ - examples/tcl/Rakefile
369
+ - examples/tcl/features/fibonnacci.feature
370
+ - examples/tcl/features/step_definitions/fib_steps.rb
371
+ - examples/tcl/features/support/env.rb
372
+ - examples/tcl/src/fib.tcl
366
373
  - examples/test_unit/Rakefile
367
374
  - examples/test_unit/features/step_definitions/test_unit_steps.rb
368
375
  - examples/test_unit/features/test_unit.feature
@@ -508,6 +515,7 @@ files:
508
515
  - lib/cucumber/formatter/debug.rb
509
516
  - lib/cucumber/formatter/duration.rb
510
517
  - lib/cucumber/formatter/html.rb
518
+ - lib/cucumber/formatter/io.rb
511
519
  - lib/cucumber/formatter/junit.rb
512
520
  - lib/cucumber/formatter/ordered_xml_markup.rb
513
521
  - lib/cucumber/formatter/pdf.rb
@@ -539,11 +547,6 @@ files:
539
547
  - lib/cucumber/py_support/py_dsl.py
540
548
  - lib/cucumber/py_support/py_language.py
541
549
  - lib/cucumber/py_support/py_language.rb
542
- - lib/cucumber/rails/action_controller.rb
543
- - lib/cucumber/rails/active_record.rb
544
- - lib/cucumber/rails/rspec.rb
545
- - lib/cucumber/rails/test_unit.rb
546
- - lib/cucumber/rails/world.rb
547
550
  - lib/cucumber/rake/task.rb
548
551
  - lib/cucumber/rb_support/rb_dsl.rb
549
552
  - lib/cucumber/rb_support/rb_hook.rb
@@ -566,20 +569,6 @@ files:
566
569
  - lib/cucumber/wire_support/wire_packet.rb
567
570
  - lib/cucumber/wire_support/wire_protocol.rb
568
571
  - lib/cucumber/wire_support/wire_step_definition.rb
569
- - rails_generators/cucumber/USAGE
570
- - rails_generators/cucumber/cucumber_generator.rb
571
- - rails_generators/cucumber/templates/cucumber
572
- - rails_generators/cucumber/templates/cucumber.rake
573
- - rails_generators/cucumber/templates/cucumber_environment.rb
574
- - rails_generators/cucumber/templates/env.rb
575
- - rails_generators/cucumber/templates/paths.rb
576
- - rails_generators/cucumber/templates/spork_env.rb
577
- - rails_generators/cucumber/templates/version_check.rb
578
- - rails_generators/cucumber/templates/webrat_steps.rb
579
- - rails_generators/feature/USAGE
580
- - rails_generators/feature/feature_generator.rb
581
- - rails_generators/feature/templates/feature.erb
582
- - rails_generators/feature/templates/steps.erb
583
572
  - spec/cucumber/ast/background_spec.rb
584
573
  - spec/cucumber/ast/feature_element_spec.rb
585
574
  - spec/cucumber/ast/feature_factory.rb
@@ -643,7 +632,7 @@ post_install_message: |+
643
632
 
644
633
  (::) U P G R A D I N G (::)
645
634
 
646
- Thank you for installing cucumber-0.4.4.
635
+ Thank you for installing cucumber-0.4.5.
647
636
  Please be sure to read http://wiki.github.com/aslakhellesoy/cucumber/upgrading
648
637
  for important information about this release. Happy cuking!
649
638
 
@@ -661,9 +650,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
661
650
  version:
662
651
  required_rubygems_version: !ruby/object:Gem::Requirement
663
652
  requirements:
664
- - - ">="
653
+ - - ">"
665
654
  - !ruby/object:Gem::Version
666
- version: "0"
655
+ version: 1.3.1
667
656
  version:
668
657
  requirements: []
669
658
 
@@ -804,6 +793,8 @@ test_files:
804
793
  - examples/sinatra/features/support/env.rb
805
794
  - examples/steps_library/features/step_definitions/steps_lib1.rb
806
795
  - examples/steps_library/features/step_definitions/steps_lib2.rb
796
+ - examples/tcl/features/step_definitions/fib_steps.rb
797
+ - examples/tcl/features/support/env.rb
807
798
  - examples/test_unit/features/step_definitions/test_unit_steps.rb
808
799
  - examples/tickets/features/229/tagged_hooks.rb
809
800
  - examples/tickets/features/270/back.steps.rb