cucumber 0.4.4 → 0.4.5.rc1

Sign up to get free protection for your applications and to get access to all the features.
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