cucumber 0.5.3 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. data/History.txt +25 -0
  2. data/Rakefile +4 -3
  3. data/VERSION.yml +3 -2
  4. data/cucumber.gemspec +21 -16
  5. data/cucumber.yml +5 -3
  6. data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +1 -1
  7. data/examples/i18n/bg/features/support/env.rb +1 -2
  8. data/examples/i18n/cat/features/step_definitons/calculator_steps.rb +1 -1
  9. data/examples/i18n/da/features/step_definitons/lommeregner_steps.rb +1 -1
  10. data/examples/i18n/de/features/step_definitons/calculator_steps.rb +1 -1
  11. data/examples/i18n/en-lol/features/support/env.rb +0 -1
  12. data/examples/i18n/en/features/step_definitons/calculator_steps.rb +2 -2
  13. data/examples/i18n/es/features/step_definitons/calculador_steps.rb +2 -2
  14. data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +1 -1
  15. data/examples/i18n/fi/features/step_definitons/laskin_steps.rb +1 -1
  16. data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +0 -6
  17. data/examples/i18n/fr/features/support/env.rb +5 -0
  18. data/examples/i18n/he/features/step_definitons/calculator_steps.rb +1 -1
  19. data/examples/i18n/he/lib/calculator.rb +1 -0
  20. data/examples/i18n/hu/features/step_definitons/calculator_steps.rb +1 -1
  21. data/examples/i18n/id/features/step_definitons/calculator_steps.rb +1 -1
  22. data/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +1 -1
  23. data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +0 -5
  24. data/examples/i18n/ja/features/support/env.rb +5 -0
  25. data/examples/i18n/ko/features/step_definitons/calculator_steps.rb +1 -1
  26. data/examples/i18n/lt/features/step_definitons/calculator_steps.rb +1 -1
  27. data/examples/i18n/lv/features/step_definitons/calculator_steps.rb +1 -1
  28. data/examples/i18n/no/features/support/env.rb +1 -2
  29. data/examples/i18n/pl/features/step_definitons/calculator_steps.rb +1 -1
  30. data/examples/i18n/pl/features/support/env.rb +1 -2
  31. data/examples/i18n/pt/features/support/env.rb +1 -2
  32. data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +1 -1
  33. data/examples/i18n/ru/features/support/env.rb +1 -2
  34. data/examples/i18n/se/features/step_definitons/kalkulator_steps.rb +1 -1
  35. data/examples/i18n/sk/features/step_definitons/calculator_steps.rb +1 -1
  36. data/examples/i18n/sr-latn/features/step_definitons/calculator_steps.rb +3 -3
  37. data/examples/i18n/sr/features/step_definitons/calculator_steps.rb +1 -5
  38. data/examples/i18n/sr/features/support/env.rb +5 -0
  39. data/examples/i18n/tr/features/step_definitons/hesap_makinesi_adimlari.rb +1 -1
  40. data/examples/i18n/uz/features/support/env.rb +1 -2
  41. data/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +1 -1
  42. data/examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb +1 -1
  43. data/examples/self_test/features/step_definitions/sample_steps.rb +2 -0
  44. data/examples/watir/features/support/screenshots.rb +20 -17
  45. data/features/call_many_steps.feature +2 -0
  46. data/features/cucumber_cli.feature +7 -4
  47. data/features/html_formatter.feature +1 -0
  48. data/features/html_formatter/a.html +2 -2
  49. data/features/language_help.feature +1 -0
  50. data/features/step_definitions/cucumber_steps.rb +3 -3
  51. data/features/support/env.rb +7 -5
  52. data/features/tag_logic.feature +7 -7
  53. data/features/wire_protocol.feature +1 -1
  54. data/gem_tasks/features.rake +2 -0
  55. data/lib/autotest/cucumber_mixin.rb +4 -4
  56. data/lib/cucumber/ast.rb +0 -1
  57. data/lib/cucumber/ast/feature.rb +9 -12
  58. data/lib/cucumber/ast/feature_element.rb +4 -4
  59. data/lib/cucumber/ast/features.rb +2 -2
  60. data/lib/cucumber/ast/table.rb +1 -0
  61. data/lib/cucumber/ast/tags.rb +1 -97
  62. data/lib/cucumber/cli/configuration.rb +3 -1
  63. data/lib/cucumber/cli/main.rb +20 -23
  64. data/lib/cucumber/cli/options.rb +9 -18
  65. data/lib/cucumber/filter.rb +4 -2
  66. data/lib/cucumber/formatter/console.rb +8 -28
  67. data/lib/cucumber/formatter/html.rb +1 -1
  68. data/lib/cucumber/formatter/pdf.rb +0 -4
  69. data/lib/cucumber/formatter/pretty.rb +1 -2
  70. data/lib/cucumber/formatter/progress.rb +1 -5
  71. data/lib/cucumber/formatter/rerun.rb +2 -0
  72. data/lib/cucumber/formatter/unicode.rb +6 -6
  73. data/lib/cucumber/language_support/language_methods.rb +0 -1
  74. data/lib/cucumber/parser/common.rb +16 -4
  75. data/lib/cucumber/parser/feature.rb +92 -27
  76. data/lib/cucumber/parser/feature.tt +8 -6
  77. data/lib/cucumber/parser/py_string.rb +12 -3
  78. data/lib/cucumber/parser/table.rb +12 -3
  79. data/lib/cucumber/rb_support/rb_dsl.rb +6 -6
  80. data/lib/cucumber/rb_support/rb_hook.rb +4 -5
  81. data/lib/cucumber/rb_support/rb_language.rb +1 -1
  82. data/lib/cucumber/tag_expression.rb +41 -0
  83. data/spec/cucumber/ast/feature_spec.rb +23 -2
  84. data/spec/cucumber/ast/scenario_outline_spec.rb +0 -7
  85. data/spec/cucumber/cli/options_spec.rb +3 -3
  86. data/spec/cucumber/formatter/html_spec.rb +10 -0
  87. data/spec/cucumber/formatter/spec_helper.rb +2 -1
  88. data/spec/cucumber/tag_expression_spec.rb +127 -0
  89. metadata +15 -10
  90. data/spec/cucumber/ast/tags_spec.rb +0 -29
  91. data/spec/cucumber/formatter/console_spec.rb +0 -20
@@ -49,7 +49,10 @@ module Cucumber
49
49
  start_index = index
50
50
  if node_cache[:py_string].has_key?(index)
51
51
  cached = node_cache[:py_string][index]
52
- @index = cached.interval.end if cached
52
+ if cached
53
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
54
+ @index = cached.interval.end
55
+ end
53
56
  return cached
54
57
  end
55
58
 
@@ -137,7 +140,10 @@ module Cucumber
137
140
  start_index = index
138
141
  if node_cache[:open_py_string].has_key?(index)
139
142
  cached = node_cache[:open_py_string][index]
140
- @index = cached.interval.end if cached
143
+ if cached
144
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
145
+ @index = cached.interval.end
146
+ end
141
147
  return cached
142
148
  end
143
149
 
@@ -218,7 +224,10 @@ module Cucumber
218
224
  start_index = index
219
225
  if node_cache[:close_py_string].has_key?(index)
220
226
  cached = node_cache[:close_py_string][index]
221
- @index = cached.interval.end if cached
227
+ if cached
228
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
229
+ @index = cached.interval.end
230
+ end
222
231
  return cached
223
232
  end
224
233
 
@@ -40,7 +40,10 @@ module Cucumber
40
40
  start_index = index
41
41
  if node_cache[:table].has_key?(index)
42
42
  cached = node_cache[:table][index]
43
- @index = cached.interval.end if cached
43
+ if cached
44
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
45
+ @index = cached.interval.end
46
+ end
44
47
  return cached
45
48
  end
46
49
 
@@ -104,7 +107,10 @@ module Cucumber
104
107
  start_index = index
105
108
  if node_cache[:table_row].has_key?(index)
106
109
  cached = node_cache[:table_row][index]
107
- @index = cached.interval.end if cached
110
+ if cached
111
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
112
+ @index = cached.interval.end
113
+ end
108
114
  return cached
109
115
  end
110
116
 
@@ -231,7 +237,10 @@ module Cucumber
231
237
  start_index = index
232
238
  if node_cache[:cell].has_key?(index)
233
239
  cached = node_cache[:cell][index]
234
- @index = cached.interval.end if cached
240
+ if cached
241
+ cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
242
+ @index = cached.interval.end
243
+ end
235
244
  return cached
236
245
  end
237
246
 
@@ -52,20 +52,20 @@ module Cucumber
52
52
 
53
53
  # Registers a proc that will run before each Scenario. You can register as
54
54
  # as you want (typically from ruby scripts under <tt>support/hooks.rb</tt>).
55
- def Before(*tag_names, &proc)
56
- RbDsl.register_rb_hook('before', tag_names, proc)
55
+ def Before(*tag_expressions, &proc)
56
+ RbDsl.register_rb_hook('before', tag_expressions, proc)
57
57
  end
58
58
 
59
59
  # Registers a proc that will run after each Scenario. You can register as
60
60
  # as you want (typically from ruby scripts under <tt>support/hooks.rb</tt>).
61
- def After(*tag_names, &proc)
62
- RbDsl.register_rb_hook('after', tag_names, proc)
61
+ def After(*tag_expressions, &proc)
62
+ RbDsl.register_rb_hook('after', tag_expressions, proc)
63
63
  end
64
64
 
65
65
  # Registers a proc that will run after each Step. You can register as
66
66
  # as you want (typically from ruby scripts under <tt>support/hooks.rb</tt>).
67
- def AfterStep(*tag_names, &proc)
68
- RbDsl.register_rb_hook('after_step', tag_names, proc)
67
+ def AfterStep(*tag_expressions, &proc)
68
+ RbDsl.register_rb_hook('after_step', tag_expressions, proc)
69
69
  end
70
70
 
71
71
  # Registers a proc that will be called with a step definition argument if it
@@ -2,12 +2,11 @@ module Cucumber
2
2
  module RbSupport
3
3
  # Wrapper for Before, After and AfterStep hooks
4
4
  class RbHook
5
- attr_accessor :tag_name_lists
6
- attr_reader :tag_names
7
-
8
- def initialize(rb_language, tag_names, proc)
5
+ attr_reader :tag_expressions
6
+
7
+ def initialize(rb_language, tag_expressions, proc)
9
8
  @rb_language = rb_language
10
- @tag_names = tag_names
9
+ @tag_expressions = tag_expressions
11
10
  @proc = proc
12
11
  end
13
12
 
@@ -121,7 +121,7 @@ module Cucumber
121
121
  end
122
122
 
123
123
  def load_code_file(code_file)
124
- require code_file # This will cause self.add_step_definition, self.add_hook, and self.add_transform to be called from RbDsl
124
+ require File.expand_path(code_file) # This will cause self.add_step_definition, self.add_hook, and self.add_transform to be called from RbDsl
125
125
  end
126
126
 
127
127
  protected
@@ -0,0 +1,41 @@
1
+ module Cucumber
2
+ class TagExpression
3
+ attr_reader :limits
4
+
5
+ def self.parse(tag_expressions)
6
+ tag_expressions.inject(TagExpression.new) { |e, expr| e.add(expr.strip.split(/\s*,\s*/)); e }
7
+ end
8
+
9
+ def initialize
10
+ @ands = []
11
+ @limits = {}
12
+ end
13
+
14
+ def add(tags)
15
+ negatives, positives = tags.partition{|tag| tag =~ /^~/}
16
+ positive_limits = Hash[*positives.map{|positive| tag, limit = positive.split(':'); [tag, limit ? limit.to_i : nil]}.flatten]
17
+ @limits.merge!(positive_limits)
18
+ @ands << (negatives + positive_limits.keys)
19
+ end
20
+
21
+ def eval(tags)
22
+ return true if @ands.flatten.empty?
23
+ vars = Hash[*tags.map{|tag| [tag, true]}.flatten]
24
+ !!Kernel.eval(ruby_expression)
25
+ end
26
+
27
+ private
28
+
29
+ def ruby_expression
30
+ "(" + @ands.map do |ors|
31
+ ors.map do |tag|
32
+ if tag =~ /^~(.*)/
33
+ "!vars['#{$1}']"
34
+ else
35
+ "vars['#{tag}']"
36
+ end
37
+ end.join("||")
38
+ end.join(")&&(") + ")"
39
+ end
40
+ end
41
+ end
@@ -14,9 +14,14 @@ module Cucumber
14
14
  dsl.extend RbSupport::RbDsl
15
15
 
16
16
  feature = create_feature(dsl)
17
+ if Cucumber::WINDOWS
18
+ feature_file_path = "features\\pretty_printing.feature"
19
+ else
20
+ feature_file_path = "features/pretty_printing.feature"
21
+ end
17
22
  feature.to_sexp.should ==
18
23
  [:feature,
19
- "features/pretty_printing.feature",
24
+ feature_file_path,
20
25
  "Pretty printing",
21
26
  [:comment, "# My feature comment\n"],
22
27
  [:tag, "one"],
@@ -37,8 +42,24 @@ module Cucumber
37
42
  [:cell, "4444"], [:cell, "55555"], [:cell, "666666"]]]],
38
43
  [:step_invocation, 11, "Given", "a happy step with an inline arg:",
39
44
  [:py_string, "\n I like\nCucumber sandwich\n"]],
40
- [:step_invocation, 12, "Given", "a failing step"]]]
45
+ [:step_invocation, 12, "Given", "a failing step"]]]
41
46
  end
47
+
48
+ it "should store OS specific file paths" do
49
+ step_mother = StepMother.new
50
+ step_mother.load_natural_language('en')
51
+ step_mother.load_programming_language('rb')
52
+ dsl = Object.new
53
+ dsl.extend RbSupport::RbDsl
54
+ feature = create_feature(dsl)
55
+
56
+ if Cucumber::WINDOWS
57
+ feature.file.should == 'features\pretty_printing.feature'
58
+ else
59
+ feature.file.should == 'features/pretty_printing.feature'
60
+ end
61
+ end
62
+
42
63
  end
43
64
  end
44
65
  end
@@ -61,13 +61,6 @@ module Cucumber
61
61
  visitor.should_receive(:visit_table_row).exactly(3).times
62
62
  visitor.visit_feature_element(@scenario_outline)
63
63
  end
64
-
65
- it "should pretty print" do
66
- require 'cucumber/formatter/pretty'
67
- formatter = Formatter::Pretty.new(@step_mother, STDOUT, {:comment => true, :tag_names => {}})
68
- visitor = TreeWalker.new(@step_mother, [formatter])
69
- visitor.visit_feature_element(@scenario_outline)
70
- end
71
64
  end
72
65
  end
73
66
  end
@@ -91,11 +91,11 @@ module Cli
91
91
 
92
92
  context '-t TAGS --tags TAGS' do
93
93
  it "designates tags prefixed with ~ as tags to be excluded" do
94
- after_parsing('--tags ~@foo,@bar') { options[:tag_names].should == [{'~@foo' => nil, '@bar' => nil}] }
94
+ after_parsing('--tags ~@foo,@bar') { options[:tag_expressions].should == ['~@foo,@bar'] }
95
95
  end
96
96
 
97
97
  it "stores tags passed with different --tags seperately" do
98
- after_parsing('--tags @foo --tags @bar') { options[:tag_names].should == [{'@foo' => nil}, {'@bar' => nil}] }
98
+ after_parsing('--tags @foo --tags @bar') { options[:tag_expressions].should == ['@foo', '@bar'] }
99
99
  end
100
100
  end
101
101
 
@@ -162,7 +162,7 @@ module Cli
162
162
  it "combines the tag names of both" do
163
163
  given_cucumber_yml_defined_as('baz' => %w[-t @bar])
164
164
  options.parse!(%w[--tags @foo -p baz])
165
- options[:tag_names].should == [{'@foo' => nil}, {'@bar' => nil}]
165
+ options[:tag_expressions].should == ["@foo", "@bar"]
166
166
  end
167
167
 
168
168
  it "only takes the paths from the original options, and disgregards the profiles" do
@@ -219,6 +219,16 @@ module Cucumber
219
219
 
220
220
  it { @doc.css('.embed img').first.attributes['src'].to_s.should == "snapshot.jpeg" }
221
221
  end
222
+
223
+ describe "with an undefined Given step then an undefined And step" do
224
+ define_feature(<<-FEATURE)
225
+ Scenario:
226
+ Given some undefined step
227
+ And another undefined step
228
+ FEATURE
229
+
230
+ it { @doc.css('pre').map { |pre| /^(Given|And)/.match(pre.text)[1] }.should == ["Given", "Given"] }
231
+ end
222
232
 
223
233
  end
224
234
  end
@@ -27,7 +27,8 @@ module Cucumber
27
27
  def load_features(content)
28
28
  feature_file = FeatureFile.new('spec.feature', content)
29
29
  features = Ast::Features.new
30
- features.add_feature feature_file.parse(@step_mother, {})
30
+ feature = feature_file.parse(@step_mother, {})
31
+ features.add_feature(feature)
31
32
  features
32
33
  end
33
34
 
@@ -0,0 +1,127 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+ require 'cucumber/tag_expression'
3
+
4
+ module Cucumber
5
+ module Ast
6
+ describe TagExpression do
7
+ context "no tags" do
8
+ before(:each) do
9
+ @e = TagExpression.new
10
+ end
11
+
12
+ it "should match @foo" do
13
+ @e.eval(['@foo']).should == true
14
+ end
15
+
16
+ it "should match empty tags" do
17
+ @e.eval([]).should == true
18
+ end
19
+ end
20
+
21
+ context "@foo" do
22
+ before(:each) do
23
+ @e = TagExpression.new
24
+ @e.add(['@foo'])
25
+ end
26
+
27
+ it "should match @foo" do
28
+ @e.eval(['@foo']).should == true
29
+ end
30
+
31
+ it "should not match @bar" do
32
+ @e.eval(['@bar']).should == false
33
+ end
34
+ end
35
+
36
+ context "!@foo" do
37
+ before(:each) do
38
+ @e = TagExpression.new
39
+ @e.add(['~@foo'])
40
+ end
41
+
42
+ it "should match @bar" do
43
+ @e.eval(['@bar']).should == true
44
+ end
45
+
46
+ it "should not match @foo" do
47
+ @e.eval(['@foo']).should == false
48
+ end
49
+ end
50
+
51
+ context "@foo || @bar" do
52
+ before(:each) do
53
+ @e = TagExpression.new
54
+ @e.add(['@foo', '@bar'])
55
+ end
56
+
57
+ it "should match @foo" do
58
+ @e.eval(['@foo']).should == true
59
+ end
60
+
61
+ it "should match @bar" do
62
+ @e.eval(['@bar']).should == true
63
+ end
64
+
65
+ it "should not match @zap" do
66
+ @e.eval(['@zap']).should == false
67
+ end
68
+ end
69
+
70
+ context "(@foo || @bar) && !@zap" do
71
+ before(:each) do
72
+ @e = TagExpression.new
73
+ @e.add(['@foo', '@bar'])
74
+ @e.add(['~@zap'])
75
+ end
76
+
77
+ it "should match @foo" do
78
+ @e.eval(['@foo']).should == true
79
+ end
80
+
81
+ it "should not match @foo @zap" do
82
+ @e.eval(['@foo', '@zap']).should == false
83
+ end
84
+ end
85
+
86
+ context "(@foo:3 || !@bar:4) && @zap:5" do
87
+ before(:each) do
88
+ @e = TagExpression.new
89
+ @e.add(['@foo:3', '~@bar'])
90
+ @e.add(['@zap:5'])
91
+ end
92
+
93
+ it "should count tags for positive tags" do
94
+ @e.limits.should == {'@foo' => 3, '@zap' => 5}
95
+ end
96
+
97
+ it "should match @foo @zap" do
98
+ @e.eval(['@foo', '@zap']).should == true
99
+ end
100
+ end
101
+
102
+ context "Parsing '@foo:3,~@bar', '@zap:5'" do
103
+ before(:each) do
104
+ @e = TagExpression.parse([' @foo:3 , ~@bar ', ' @zap:5 '])
105
+ end
106
+
107
+ it "should split and trim" do
108
+ @e.__send__(:ruby_expression).should == "(!vars['@bar']||vars['@foo'])&&(vars['@zap'])"
109
+ end
110
+
111
+ it "should have limits" do
112
+ @e.limits.should == {"@zap"=>5, "@foo"=>3}
113
+ end
114
+ end
115
+
116
+ context "Parsing ''" do
117
+ before(:each) do
118
+ @e = TagExpression.parse([''])
119
+ end
120
+
121
+ it "should ignore empty tags" do
122
+ @e.eval("@foo").should == true
123
+ end
124
+ end
125
+ end
126
+ end
127
+ end
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.5.3
4
+ version: 0.6.0
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-12-22 00:00:00 +01:00
12
+ date: 2010-01-03 00:00:00 +01:00
13
13
  default_executable: cucumber
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -80,7 +80,7 @@ dependencies:
80
80
  requirements:
81
81
  - - ">="
82
82
  - !ruby/object:Gem::Version
83
- version: 1.4.0
83
+ version: 1.4.1
84
84
  version:
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: prawn
@@ -90,7 +90,7 @@ dependencies:
90
90
  requirements:
91
91
  - - ">="
92
92
  - !ruby/object:Gem::Version
93
- version: 0.5.1
93
+ version: 0.6.3
94
94
  version:
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: rspec
@@ -110,7 +110,7 @@ dependencies:
110
110
  requirements:
111
111
  - - ">="
112
112
  - !ruby/object:Gem::Version
113
- version: 0.7.4
113
+ version: 0.7.5
114
114
  version:
115
115
  description: A BDD tool written in Ruby
116
116
  email: cukes@googlegroups.com
@@ -194,6 +194,7 @@ files:
194
194
  - examples/i18n/fr/features/addition.feature
195
195
  - examples/i18n/fr/features/addition2.feature
196
196
  - examples/i18n/fr/features/step_definitions/calculatrice_steps.rb
197
+ - examples/i18n/fr/features/support/env.rb
197
198
  - examples/i18n/fr/lib/calculatrice.rb
198
199
  - examples/i18n/he/Rakefile
199
200
  - examples/i18n/he/features/addition.feature
@@ -221,6 +222,7 @@ files:
221
222
  - examples/i18n/ja/features/addition.feature
222
223
  - examples/i18n/ja/features/division.feature
223
224
  - examples/i18n/ja/features/step_definitons/calculator_steps.rb
225
+ - examples/i18n/ja/features/support/env.rb
224
226
  - examples/i18n/ja/lib/calculator.rb
225
227
  - examples/i18n/ko/.gitignore
226
228
  - examples/i18n/ko/Rakefile
@@ -285,6 +287,7 @@ files:
285
287
  - examples/i18n/sr/Rakefile
286
288
  - examples/i18n/sr/features/sabiranje.feature
287
289
  - examples/i18n/sr/features/step_definitons/calculator_steps.rb
290
+ - examples/i18n/sr/features/support/env.rb
288
291
  - examples/i18n/sr/lib/calculator.rb
289
292
  - examples/i18n/tr/.gitignore
290
293
  - examples/i18n/tr/Rakefile
@@ -573,6 +576,7 @@ files:
573
576
  - lib/cucumber/step_definition_light.rb
574
577
  - lib/cucumber/step_match.rb
575
578
  - lib/cucumber/step_mother.rb
579
+ - lib/cucumber/tag_expression.rb
576
580
  - lib/cucumber/webrat/element_locator.rb
577
581
  - lib/cucumber/webrat/table_locator.rb
578
582
  - lib/cucumber/wire_support/configuration.rb
@@ -595,7 +599,6 @@ files:
595
599
  - spec/cucumber/ast/step_collection_spec.rb
596
600
  - spec/cucumber/ast/step_spec.rb
597
601
  - spec/cucumber/ast/table_spec.rb
598
- - spec/cucumber/ast/tags_spec.rb
599
602
  - spec/cucumber/ast/tree_walker_spec.rb
600
603
  - spec/cucumber/broadcaster_spec.rb
601
604
  - spec/cucumber/cli/configuration_spec.rb
@@ -606,7 +609,6 @@ files:
606
609
  - spec/cucumber/core_ext/proc_spec.rb
607
610
  - spec/cucumber/formatter/ansicolor_spec.rb
608
611
  - spec/cucumber/formatter/color_io_spec.rb
609
- - spec/cucumber/formatter/console_spec.rb
610
612
  - spec/cucumber/formatter/duration_spec.rb
611
613
  - spec/cucumber/formatter/html_spec.rb
612
614
  - spec/cucumber/formatter/junit_spec.rb
@@ -619,6 +621,7 @@ files:
619
621
  - spec/cucumber/sell_cucumbers.feature
620
622
  - spec/cucumber/step_match_spec.rb
621
623
  - spec/cucumber/step_mother_spec.rb
624
+ - spec/cucumber/tag_expression_spec.rb
622
625
  - spec/cucumber/treetop_parser/empty_feature.feature
623
626
  - spec/cucumber/treetop_parser/empty_scenario.feature
624
627
  - spec/cucumber/treetop_parser/empty_scenario_outline.feature
@@ -650,7 +653,7 @@ post_install_message: |+
650
653
 
651
654
  (::) U P G R A D I N G (::)
652
655
 
653
- Thank you for installing cucumber-0.5.3.
656
+ Thank you for installing cucumber-0.6.0.
654
657
  Please be sure to read http://wiki.github.com/aslakhellesoy/cucumber/upgrading
655
658
  for important information about this release. Happy cuking!
656
659
 
@@ -691,7 +694,6 @@ test_files:
691
694
  - spec/cucumber/ast/step_collection_spec.rb
692
695
  - spec/cucumber/ast/step_spec.rb
693
696
  - spec/cucumber/ast/table_spec.rb
694
- - spec/cucumber/ast/tags_spec.rb
695
697
  - spec/cucumber/ast/tree_walker_spec.rb
696
698
  - spec/cucumber/broadcaster_spec.rb
697
699
  - spec/cucumber/cli/configuration_spec.rb
@@ -702,7 +704,6 @@ test_files:
702
704
  - spec/cucumber/core_ext/proc_spec.rb
703
705
  - spec/cucumber/formatter/ansicolor_spec.rb
704
706
  - spec/cucumber/formatter/color_io_spec.rb
705
- - spec/cucumber/formatter/console_spec.rb
706
707
  - spec/cucumber/formatter/duration_spec.rb
707
708
  - spec/cucumber/formatter/html_spec.rb
708
709
  - spec/cucumber/formatter/junit_spec.rb
@@ -714,6 +715,7 @@ test_files:
714
715
  - spec/cucumber/rb_support/regexp_argument_matcher_spec.rb
715
716
  - spec/cucumber/step_match_spec.rb
716
717
  - spec/cucumber/step_mother_spec.rb
718
+ - spec/cucumber/tag_expression_spec.rb
717
719
  - spec/cucumber/wire_support/configuration_spec.rb
718
720
  - spec/cucumber/wire_support/wire_exception_spec.rb
719
721
  - spec/cucumber/wire_support/wire_language_spec.rb
@@ -746,6 +748,7 @@ test_files:
746
748
  - examples/i18n/fi/features/step_definitons/laskin_steps.rb
747
749
  - examples/i18n/fi/lib/laskin.rb
748
750
  - examples/i18n/fr/features/step_definitions/calculatrice_steps.rb
751
+ - examples/i18n/fr/features/support/env.rb
749
752
  - examples/i18n/fr/lib/calculatrice.rb
750
753
  - examples/i18n/he/features/step_definitons/calculator_steps.rb
751
754
  - examples/i18n/he/lib/calculator.rb
@@ -756,6 +759,7 @@ test_files:
756
759
  - examples/i18n/it/features/step_definitons/calcolatrice_steps.rb
757
760
  - examples/i18n/it/lib/calcolatrice.rb
758
761
  - examples/i18n/ja/features/step_definitons/calculator_steps.rb
762
+ - examples/i18n/ja/features/support/env.rb
759
763
  - examples/i18n/ja/lib/calculator.rb
760
764
  - examples/i18n/ko/features/step_definitons/calculator_steps.rb
761
765
  - examples/i18n/ko/lib/calculator.rb
@@ -783,6 +787,7 @@ test_files:
783
787
  - examples/i18n/sk/features/step_definitons/calculator_steps.rb
784
788
  - examples/i18n/sk/lib/calculator.rb
785
789
  - examples/i18n/sr/features/step_definitons/calculator_steps.rb
790
+ - examples/i18n/sr/features/support/env.rb
786
791
  - examples/i18n/sr/lib/calculator.rb
787
792
  - examples/i18n/sr-latn/features/step_definitons/calculator_steps.rb
788
793
  - examples/i18n/sr-latn/lib/calculator.rb