kosmas58-cucumber 0.1.99.23 → 0.1.100.5

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 (100) hide show
  1. data/History.txt +8 -23
  2. data/Manifest.txt +14 -2
  3. data/examples/i18n/en-lol/Rakefile +6 -0
  4. data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +16 -0
  5. data/examples/i18n/en-lol/features/stuffing.feature +8 -0
  6. data/examples/i18n/en-lol/features/support/env.rb +8 -0
  7. data/examples/i18n/en-lol/lib/basket.rb +12 -0
  8. data/examples/i18n/en-lol/lib/belly.rb +11 -0
  9. data/examples/i18n/et/features/jagamine.feature +9 -0
  10. data/examples/jbehave/README.textile +4 -1
  11. data/examples/jbehave/features/trading.feature +4 -0
  12. data/examples/jbehave/pom.xml +5 -0
  13. data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/scenarios/TraderSteps.java +6 -1
  14. data/examples/selenium/features/step_definitons/search_steps.rb +13 -0
  15. data/examples/selenium/features/support/env.rb +19 -0
  16. data/examples/selenium_webrat/Rakefile +6 -0
  17. data/examples/selenium_webrat/features/search.feature +9 -0
  18. data/examples/selenium_webrat/features/step_definitons/search_steps.rb +13 -0
  19. data/examples/selenium_webrat/features/support/env.rb +41 -0
  20. data/examples/self_test/Rakefile +1 -1
  21. data/examples/self_test/features/background/failing_background.feature +1 -0
  22. data/examples/self_test/features/step_definitions/sample_steps.rb +1 -1
  23. data/examples/self_test/features/support/tag_count_formatter.rb +1 -1
  24. data/examples/tickets/Rakefile +13 -8
  25. data/examples/tickets/cucumber.yml +2 -1
  26. data/examples/tickets/features/236.feature +13 -0
  27. data/examples/tickets/features/241.feature +13 -0
  28. data/examples/tickets/features/step_definitons/tickets_steps.rb +17 -4
  29. data/examples/tickets/features/tickets.feature +1 -1
  30. data/features/background.feature +9 -11
  31. data/features/cucumber_cli.feature +24 -1
  32. data/features/cucumber_cli_outlines.feature +10 -19
  33. data/features/report_called_undefined_steps.feature +2 -0
  34. data/gem_tasks/rspec.rake +3 -2
  35. data/lib/cucumber.rb +7 -15
  36. data/lib/cucumber/ast.rb +3 -3
  37. data/lib/cucumber/ast/background.rb +28 -66
  38. data/lib/cucumber/ast/examples.rb +15 -3
  39. data/lib/cucumber/ast/feature.rb +20 -24
  40. data/lib/cucumber/ast/feature_element.rb +46 -0
  41. data/lib/cucumber/ast/features.rb +2 -21
  42. data/lib/cucumber/ast/outline_table.rb +46 -14
  43. data/lib/cucumber/ast/py_string.rb +9 -3
  44. data/lib/cucumber/ast/scenario.rb +34 -73
  45. data/lib/cucumber/ast/scenario_outline.rb +40 -42
  46. data/lib/cucumber/ast/step.rb +51 -90
  47. data/lib/cucumber/ast/step_collection.rb +66 -0
  48. data/lib/cucumber/ast/step_invocation.rb +110 -0
  49. data/lib/cucumber/ast/table.rb +41 -21
  50. data/lib/cucumber/ast/tags.rb +4 -11
  51. data/lib/cucumber/ast/visitor.rb +35 -19
  52. data/lib/cucumber/broadcaster.rb +1 -3
  53. data/lib/cucumber/cli/configuration.rb +25 -17
  54. data/lib/cucumber/cli/language_help_formatter.rb +4 -4
  55. data/lib/cucumber/cli/main.rb +6 -4
  56. data/lib/cucumber/core_ext/proc.rb +2 -2
  57. data/lib/cucumber/formatter/ansicolor.rb +0 -1
  58. data/lib/cucumber/formatter/console.rb +24 -34
  59. data/lib/cucumber/formatter/html.rb +18 -11
  60. data/lib/cucumber/formatter/pretty.rb +48 -36
  61. data/lib/cucumber/formatter/profile.rb +6 -6
  62. data/lib/cucumber/formatter/progress.rb +14 -22
  63. data/lib/cucumber/formatter/rerun.rb +6 -6
  64. data/lib/cucumber/jbehave.rb +21 -26
  65. data/lib/cucumber/languages.yml +17 -2
  66. data/lib/cucumber/parser/feature.rb +26 -29
  67. data/lib/cucumber/parser/feature.tt +17 -12
  68. data/lib/cucumber/parser/treetop_ext.rb +13 -13
  69. data/lib/cucumber/platform.rb +0 -1
  70. data/lib/cucumber/rails/world.rb +2 -2
  71. data/lib/cucumber/rake/task.rb +1 -2
  72. data/lib/cucumber/step_definition.rb +21 -12
  73. data/lib/cucumber/step_match.rb +49 -0
  74. data/lib/cucumber/step_mother.rb +100 -80
  75. data/lib/cucumber/version.rb +2 -2
  76. data/lib/cucumber/world.rb +53 -0
  77. data/rails_generators/cucumber/templates/paths.rb +1 -1
  78. data/rails_generators/cucumber/templates/webrat_steps.rb +17 -17
  79. data/rails_generators/feature/feature_generator.rb +5 -1
  80. data/rails_generators/feature/templates/steps.erb +0 -4
  81. data/spec/cucumber/ast/background_spec.rb +32 -41
  82. data/spec/cucumber/ast/feature_factory.rb +10 -1
  83. data/spec/cucumber/ast/feature_spec.rb +7 -30
  84. data/spec/cucumber/ast/py_string_spec.rb +7 -0
  85. data/spec/cucumber/ast/scenario_outline_spec.rb +3 -0
  86. data/spec/cucumber/ast/scenario_spec.rb +8 -25
  87. data/spec/cucumber/ast/step_collection_spec.rb +8 -0
  88. data/spec/cucumber/ast/step_spec.rb +49 -28
  89. data/spec/cucumber/ast/table_spec.rb +13 -3
  90. data/spec/cucumber/ast/tags_spec.rb +2 -18
  91. data/spec/cucumber/broadcaster_spec.rb +6 -5
  92. data/spec/cucumber/cli/configuration_spec.rb +7 -0
  93. data/spec/cucumber/cli/main_spec.rb +1 -1
  94. data/spec/cucumber/parser/feature_parser_spec.rb +6 -5
  95. data/spec/cucumber/step_definition_spec.rb +16 -5
  96. data/spec/cucumber/step_mother_spec.rb +6 -6
  97. data/spec/cucumber/world/pending_spec.rb +1 -1
  98. metadata +24 -5
  99. data/lib/cucumber/ast/filter.rb +0 -22
  100. data/lib/cucumber/ast/steps.rb +0 -13
@@ -2,8 +2,8 @@ module Cucumber #:nodoc:
2
2
  class VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 1
5
- TINY = 99
6
- PATCH = 23 # Set to nil for official release
5
+ TINY = 100
6
+ PATCH = 5 # Set to nil for official release
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY, PATCH].compact.join('.')
9
9
  end
@@ -0,0 +1,53 @@
1
+ module Cucumber
2
+ # All steps are run in the context of an object that extends this module
3
+ module World
4
+ class << self
5
+ def alias_adverb(adverb)
6
+ alias_method adverb, :__cucumber_invoke
7
+ end
8
+ end
9
+
10
+ attr_writer :__cucumber_step_mother, :__cucumber_visitor, :__cucumber_current_step
11
+
12
+ # Call a step from within a step definition
13
+ def __cucumber_invoke(name, multiline_argument=nil) #:nodoc:
14
+ begin
15
+ step_match = @__cucumber_step_mother.step_match(name)
16
+ step_match.invoke(self, multiline_argument)
17
+ rescue Exception => e
18
+ e.nested! if Undefined === e
19
+ @__cucumber_current_step.exception = e
20
+ raise e
21
+ end
22
+ end
23
+
24
+ def table(text, file=nil, line_offset=0)
25
+ @table_parser ||= Parser::TableParser.new
26
+ @table_parser.parse_or_fail(text.strip, file, line_offset)
27
+ end
28
+
29
+ # Output +announcement+ alongside the formatted output.
30
+ # This is an alternative to using Kernel#puts - it will display
31
+ # nicer, and in all outputs (in case you use several formatters)
32
+ #
33
+ # Beware that the output will be printed *before* the corresponding
34
+ # step. This is because the step itself will not be printed until
35
+ # after it has run, so it can be coloured according to its status.
36
+ def announce(announcement)
37
+ @__cucumber_visitor.announce(announcement)
38
+ end
39
+
40
+ def pending(message = "TODO")
41
+ if block_given?
42
+ begin
43
+ yield
44
+ rescue Exception => e
45
+ raise Pending.new(message)
46
+ end
47
+ raise Pending.new("Expected pending '#{message}' to fail. No Error was raised. No longer pending?")
48
+ else
49
+ raise Pending.new(message)
50
+ end
51
+ end
52
+ end
53
+ end
@@ -2,7 +2,7 @@ module NavigationHelpers
2
2
  def path_to(page_name)
3
3
  case page_name
4
4
 
5
- when /the homepage/i
5
+ when /the homepage/
6
6
  root_path
7
7
 
8
8
  # Add more page name => path mappings here
@@ -11,25 +11,25 @@ When /^I go to (.+)$/ do |page_name|
11
11
  visit path_to(page_name)
12
12
  end
13
13
 
14
- When /^I press "(.*)"$/ do |button|
14
+ When /^I press "([^\"]*)"$/ do |button|
15
15
  click_button(button)
16
16
  end
17
17
 
18
- When /^I follow "(.*)"$/ do |link|
18
+ When /^I follow "([^\"]*)"$/ do |link|
19
19
  click_link(link)
20
20
  end
21
21
 
22
- When /^I fill in "(.*)" with "(.*)"$/ do |field, value|
22
+ When /^I fill in "([^\"]*)" with "([^\"]*)"$/ do |field, value|
23
23
  fill_in(field, :with => value)
24
24
  end
25
25
 
26
- When /^I select "(.*)" from "(.*)"$/ do |value, field|
26
+ When /^I select "([^\"]*)" from "([^\"]*)"$/ do |value, field|
27
27
  select(value, :from => field)
28
28
  end
29
29
 
30
30
  # Use this step in conjunction with Rail's datetime_select helper. For example:
31
31
  # When I select "December 25, 2008 10:00" as the date and time
32
- When /^I select "(.*)" as the date and time$/ do |time|
32
+ When /^I select "([^\"]*)" as the date and time$/ do |time|
33
33
  select_datetime(time)
34
34
  end
35
35
 
@@ -42,7 +42,7 @@ end
42
42
  # The following steps would fill out the form:
43
43
  # When I select "November 23, 2004 11:20" as the "Preferred" data and time
44
44
  # And I select "November 25, 2004 10:30" as the "Alternative" data and time
45
- When /^I select "(.*)" as the "(.*)" date and time$/ do |datetime, datetime_label|
45
+ When /^I select "([^\"]*)" as the "([^\"]*)" date and time$/ do |datetime, datetime_label|
46
46
  select_datetime(datetime, :from => datetime_label)
47
47
  end
48
48
 
@@ -50,47 +50,47 @@ end
50
50
  # When I select "2:20PM" as the time
51
51
  # Note: Rail's default time helper provides 24-hour time-- not 12 hour time. Webrat
52
52
  # will convert the 2:20PM to 14:20 and then select it.
53
- When /^I select "(.*)" as the time$/ do |time|
53
+ When /^I select "([^\"]*)" as the time$/ do |time|
54
54
  select_time(time)
55
55
  end
56
56
 
57
57
  # Use this step when using multiple time_select helpers on a page or you want to
58
58
  # specify the name of the time on the form. For example:
59
59
  # When I select "7:30AM" as the "Gym" time
60
- When /^I select "(.*)" as the "(.*)" time$/ do |time, time_label|
60
+ When /^I select "([^\"]*)" as the "([^\"]*)" time$/ do |time, time_label|
61
61
  select_time(time, :from => time_label)
62
62
  end
63
63
 
64
64
  # Use this step in conjunction with Rail's date_select helper. For example:
65
65
  # When I select "February 20, 1981" as the date
66
- When /^I select "(.*)" as the date$/ do |date|
66
+ When /^I select "([^\"]*)" as the date$/ do |date|
67
67
  select_date(date)
68
68
  end
69
69
 
70
70
  # Use this step when using multiple date_select helpers on one page or
71
71
  # you want to specify the name of the date on the form. For example:
72
72
  # When I select "April 26, 1982" as the "Date of Birth" date
73
- When /^I select "(.*)" as the "(.*)" date$/ do |date, date_label|
73
+ When /^I select "([^\"]*)" as the "([^\"]*)" date$/ do |date, date_label|
74
74
  select_date(date, :from => date_label)
75
75
  end
76
76
 
77
- When /^I check "(.*)"$/ do |field|
77
+ When /^I check "([^\"]*)"$/ do |field|
78
78
  check(field)
79
79
  end
80
80
 
81
- When /^I uncheck "(.*)"$/ do |field|
81
+ When /^I uncheck "([^\"]*)"$/ do |field|
82
82
  uncheck(field)
83
83
  end
84
84
 
85
- When /^I choose "(.*)"$/ do |field|
85
+ When /^I choose "([^\"]*)"$/ do |field|
86
86
  choose(field)
87
87
  end
88
88
 
89
- When /^I attach the file at "(.*)" to "(.*)"$/ do |path, field|
89
+ When /^I attach the file at "([^\"]*)" to "([^\"]*)"$/ do |path, field|
90
90
  attach_file(field, path)
91
91
  end
92
92
 
93
- Then /^I should see "(.*)"$/ do |text|
93
+ Then /^I should see "([^\"]*)"$/ do |text|
94
94
  <% if framework == :rspec -%>
95
95
  response.should contain(text)
96
96
  <% else -%>
@@ -98,7 +98,7 @@ Then /^I should see "(.*)"$/ do |text|
98
98
  <% end -%>
99
99
  end
100
100
 
101
- Then /^I should not see "(.*)"$/ do |text|
101
+ Then /^I should not see "([^\"]*)"$/ do |text|
102
102
  <% if framework == :rspec -%>
103
103
  response.should_not contain(text)
104
104
  <% else -%>
@@ -106,7 +106,7 @@ Then /^I should not see "(.*)"$/ do |text|
106
106
  <% end -%>
107
107
  end
108
108
 
109
- Then /^the "(.*)" checkbox should be checked$/ do |label|
109
+ Then /^the "([^\"]*)" checkbox should be checked$/ do |label|
110
110
  <% if framework == :rspec -%>
111
111
  field_labeled(label).should be_checked
112
112
  <% else -%>
@@ -16,7 +16,11 @@ class FeatureGenerator < Rails::Generator::NamedBase
16
16
  record do |m|
17
17
  m.directory File.join(@features_path, "step_definitions")
18
18
  m.template "feature.erb", File.join(@features_path, "manage_#{plural_name}.feature")
19
- m.template "steps.erb", File.join(@features_path, "step_definitions", "#{singular_name}_steps.rb")
19
+ m.template "steps.erb", File.join(@features_path, "step_definitions", "#{singular_name}_steps.rb")
20
+
21
+ m.gsub_file 'features/support/paths.rb', /root_path/mi do |match|
22
+ "#{match}\n when /the new #{singular_name} page/\n new_#{singular_name}_path\n"
23
+ end
20
24
  end
21
25
  end
22
26
 
@@ -1,7 +1,3 @@
1
- Given /I am on the new <%= singular_name %> page/ do
2
- visit "/<%= plural_name %>/new"
3
- end
4
-
5
1
  Given /^the following <%= plural_name %>:$/ do |<%= plural_name %>|
6
2
  <%= class_name %>.create!(<%= plural_name %>.hashes)
7
3
  end
@@ -5,53 +5,44 @@ module Cucumber
5
5
  module Ast
6
6
  describe Background do
7
7
 
8
- it "should visit a step on the first background run" do
9
- step = Step.new(7, "Given", "passing")
8
+ before do
9
+ @step_mother = Object.new
10
+ @step_mother.extend(StepMother)
11
+ $x = $y = nil
12
+ @step_mother.Before do
13
+ $x = 2
14
+ end
15
+ @step_mother.Given /y is (\d+)/ do |n|
16
+ $y = $x * n.to_i
17
+ end
18
+ @visitor = Visitor.new(@step_mother)
19
+ @visitor.options = {}
20
+
21
+ @feature = mock('feature', :visit? => true).as_null_object
22
+ end
23
+
24
+ it "should execute Before blocks before background steps" do
10
25
  background = Background.new(
11
- comment=Comment.new(""),
12
- line=99,
26
+ comment=Comment.new(''),
27
+ line=2,
13
28
  keyword="",
14
29
  steps=[
15
- step
30
+ Step.new(7, "Given", "y is 5")
16
31
  ])
17
- visitor = mock('visitor', :null_object => true)
18
32
 
19
- visitor.should_receive(:visit_step).with(step)
20
-
21
- background.accept(visitor)
22
- end
23
-
24
- describe "having already visited background once" do
25
-
26
- before(:each) do
27
- @mock_step = mock('step', :null_object => true, :text_length => 1)
28
- @background = Background.new(
29
- comment=Comment.new(""),
30
- line=99,
31
- keyword="",
32
- steps=[
33
- @mock_step
34
- ])
35
-
36
- @visitor = mock('visitor', :null_object => true)
37
- @background.accept(@visitor)
38
- end
39
-
40
- it "should execute the steps" do
41
- @mock_step.should_receive(:execute_as_new).and_return(mock('executed step', :null_object => true))
42
-
43
- @background.accept(@visitor)
44
- end
45
-
46
- it "should visit the background if there was a exception when executing a step" do
47
- mock_executed_step = mock('executed step', :null_object => true, :exception => Exception.new)
48
- @mock_step.stub!(:execute_as_new).and_return(mock_executed_step)
49
-
50
- @visitor.should_receive(:visit_background).with(@background)
33
+ scenario = Scenario.new(
34
+ background,
35
+ comment=Comment.new(""),
36
+ tags=Tags.new(98,[]),
37
+ line=99,
38
+ keyword="",
39
+ name="",
40
+ steps=[])
41
+ background.feature = @feature
51
42
 
52
- @background.accept(@visitor)
53
- end
54
-
43
+ @visitor.visit_background(background)
44
+ $x.should == 2
45
+ $y.should == 10
55
46
  end
56
47
  end
57
48
  end
@@ -29,11 +29,20 @@ module Cucumber
29
29
  I like
30
30
  Cucumber sandwich
31
31
  }, 10)
32
+
33
+ background = Ast::Background.new(Ast::Comment.new(""), 2, "Background:",
34
+ [
35
+ Step.new(3, "Given", "a passing step")
36
+ ]
37
+ )
38
+
32
39
  f = Ast::Feature.new(
40
+ background,
33
41
  Ast::Comment.new("# My feature comment\n"),
34
42
  Ast::Tags.new(6, ['one', 'two']),
35
43
  "Pretty printing",
36
44
  [Ast::Scenario.new(
45
+ background,
37
46
  Ast::Comment.new(" # My scenario comment \n# On two lines \n"),
38
47
  Ast::Tags.new(8, ['three', 'four']),
39
48
  9,
@@ -46,7 +55,7 @@ module Cucumber
46
55
  )]
47
56
  )
48
57
  f.file = 'features/pretty_printing.feature'
49
- f.features = Features.new(Filter.new({:tags => []}))
58
+ f.features = Features.new
50
59
  f
51
60
  end
52
61
  end
@@ -14,46 +14,23 @@ module Cucumber
14
14
  [:comment, "# My feature comment\n"],
15
15
  [:tag, "one"],
16
16
  [:tag, "two"],
17
+ [:background, 2, 'Background:',
18
+ [:step, 3, "Given", "a passing step"]],
17
19
  [:scenario, 9, "Scenario:",
18
20
  "A Scenario",
19
21
  [:comment, " # My scenario comment \n# On two lines \n"],
20
22
  [:tag, "three"],
21
- [:tag, "four"],
22
- [:step, 10, "Given", "a passing step with an inline arg:",
23
+ [:tag, "four"],
24
+ [:step_invocation, 3, "Given", "a passing step"], # From the background
25
+ [:step_invocation, 10, "Given", "a passing step with an inline arg:",
23
26
  [:table,
24
27
  [:row,
25
28
  [:cell, "1"], [:cell, "22"], [:cell, "333"]],
26
29
  [:row,
27
30
  [:cell, "4444"], [:cell, "55555"], [:cell, "666666"]]]],
28
- [:step, 11, "Given", "a happy step with an inline arg:",
31
+ [:step_invocation, 11, "Given", "a happy step with an inline arg:",
29
32
  [:py_string, "\n I like\nCucumber sandwich\n"]],
30
- [:step, 12, "Given", "a failing step"]]]
31
- end
32
-
33
- it "should only visit scenarios that match" do
34
- s1 = mock("Scenario 1")
35
- s2 = mock("Scenario 2")
36
- s3 = mock("Scenario 3")
37
- [s1, s2, s3].each{|s| s.should_receive(:feature=)}
38
- f = Ast::Feature.new(
39
- Ast::Comment.new(""),
40
- Ast::Tags.new(22, []),
41
- "My feature",
42
- [s1, s2, s3]
43
- )
44
- features = mock('Features')
45
- f.features = features
46
-
47
- f.lines = [33]
48
-
49
- features.should_receive(:visit?).with(s1, [33]).and_return(false)
50
- features.should_receive(:visit?).with(s2, [33]).and_return(true)
51
- features.should_receive(:visit?).with(s3, [33]).and_return(false)
52
-
53
- s2.should_receive(:accept)
54
-
55
- visitor = Visitor.new(nil)
56
- visitor.visit_feature(f)
33
+ [:step_invocation, 12, "Given", "a failing step"]]]
57
34
  end
58
35
  end
59
36
  end
@@ -33,6 +33,13 @@ module Cucumber
33
33
  @ps.to_s.should_not include("Life is elsewhere")
34
34
  end
35
35
 
36
+ it "should replaced nil with empty string" do
37
+ ps = PyString.new(10, 13, "'<book>'", 0)
38
+ py_string_with_replaced_arg = ps.arguments_replaced({'<book>' => nil})
39
+
40
+ py_string_with_replaced_arg.to_s.should == "''"
41
+ end
42
+
36
43
  end
37
44
 
38
45
  end
@@ -9,6 +9,7 @@ module Cucumber
9
9
  before do
10
10
  @step_mother = Object.new
11
11
  @step_mother.extend(StepMother)
12
+
12
13
  @step_mother.Given(/^there are (\d+) cucumbers$/) do |n|
13
14
  @initial = n.to_i
14
15
  end
@@ -23,6 +24,7 @@ module Cucumber
23
24
  end
24
25
 
25
26
  @scenario_outline = ScenarioOutline.new(
27
+ background=nil,
26
28
  Comment.new(""),
27
29
  Tags.new(18, []),
28
30
  19,
@@ -45,6 +47,7 @@ module Cucumber
45
47
  ]
46
48
  ]
47
49
  ]
50
+
48
51
  )
49
52
  end
50
53
 
@@ -9,9 +9,6 @@ module Cucumber
9
9
  @step_mother = Object.new
10
10
  @step_mother.extend(StepMother)
11
11
  $x = $y = nil
12
- @step_mother.Before do
13
- $x = 3
14
- end
15
12
  @step_mother.Given /y is (\d+)/ do |n|
16
13
  $y = n.to_i
17
14
  end
@@ -19,23 +16,9 @@ module Cucumber
19
16
  @visitor.options = {}
20
17
  end
21
18
 
22
- it "should execute Before blocks before steps" do
23
- scenario = Scenario.new(
24
- comment=Comment.new(""),
25
- tags=Tags.new(98,[]),
26
- line=99,
27
- keyword="",
28
- name="",
29
- steps=[
30
- Step.new(7, "Given", "y is 5")
31
- ])
32
- @visitor.visit_feature_element(scenario)
33
- $x.should == 3
34
- $y.should == 5
35
- end
36
-
37
19
  it "should skip steps when previous is not passed" do
38
20
  scenario = Scenario.new(
21
+ background=nil,
39
22
  comment=Comment.new(""),
40
23
  tags=Tags.new(98, []),
41
24
  line=99,
@@ -47,20 +30,20 @@ module Cucumber
47
30
  ])
48
31
  @visitor.visit_feature_element(scenario)
49
32
 
50
- $x.should == 3
51
33
  $y.should == nil
52
34
  end
53
35
 
54
36
  it "should be at exact line" do
55
- s = Scenario.new(comment=Comment.new(""),
37
+ s = Scenario.new(background=nil, comment=Comment.new(""),
56
38
  tags=Tags.new(44, []), 45, keyword="", name="", steps=[])
57
39
 
58
- s.should be_at_lines([44])
59
- s.should be_at_lines([45])
40
+ s.should be_matches_lines([44])
41
+ s.should be_matches_lines([45])
60
42
  end
61
43
 
62
44
  it "should be at line if tags or steps are" do
63
45
  s = Scenario.new(
46
+ background=nil,
64
47
  comment=Comment.new(""),
65
48
  tags=Tags.new(43, []),
66
49
  line=45,
@@ -73,9 +56,9 @@ module Cucumber
73
56
  ]
74
57
  )
75
58
 
76
- s.should be_at_lines([43])
77
- s.should be_at_lines([47])
78
- s.should_not be_at_lines([49])
59
+ s.should be_matches_lines([43])
60
+ s.should be_matches_lines([47])
61
+ s.should_not be_matches_lines([49])
79
62
  end
80
63
  end
81
64
  end