cucumber 0.5.3 → 0.6.0

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 (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