summaryrefslogtreecommitdiffstats
path: root/spec/unit/parser/ast
diff options
context:
space:
mode:
authorMatt Robinson <matt@puppetlabs.com>2011-03-28 21:35:34 -0700
committerMatt Robinson <matt@puppetlabs.com>2011-03-29 11:00:47 -0700
commit29f3dda2aaa4a6225baaa5819ebad32909b01f93 (patch)
treeb6681bd82ce65f1da736895d0e9f79c1b7df1453 /spec/unit/parser/ast
parent5e9dfdcec4a3579e8d88a243b608c280c494c3be (diff)
downloadpuppet-29f3dda2aaa4a6225baaa5819ebad32909b01f93.tar.gz
puppet-29f3dda2aaa4a6225baaa5819ebad32909b01f93.tar.xz
puppet-29f3dda2aaa4a6225baaa5819ebad32909b01f93.zip
(#6830) Fix overly stubbed tests
In Ruby 1.9 calling .each on a stub calls to_a, and if you're not stubbing to_a you get: unexpected invocation: #<Mock:option1>.to_a() Could have stubbed to_a also, but less stubbing is better in these cases Reviewed-by: Jesse Wolfe <jesse@puppetlabs.com>
Diffstat (limited to 'spec/unit/parser/ast')
-rwxr-xr-xspec/unit/parser/ast/casestatement_spec.rb26
1 files changed, 15 insertions, 11 deletions
diff --git a/spec/unit/parser/ast/casestatement_spec.rb b/spec/unit/parser/ast/casestatement_spec.rb
index a77c04c43..bce3ad801 100755
--- a/spec/unit/parser/ast/casestatement_spec.rb
+++ b/spec/unit/parser/ast/casestatement_spec.rb
@@ -13,11 +13,14 @@ describe Puppet::Parser::AST::CaseStatement do
@test = stub 'test'
@test.stubs(:safeevaluate).with(@scope).returns("value")
- @option1 = stub 'option1', :eachopt => nil, :default? => false
- @option2 = stub 'option2', :eachopt => nil, :default? => false
+ @option1 = Puppet::Parser::AST::CaseOpt.new({})
+ @option1.stubs(:eachopt)
+ @option1.stubs(:default?).returns false
+ @option2 = Puppet::Parser::AST::CaseOpt.new({})
+ @option2.stubs(:eachopt)
+ @option2.stubs(:default?).returns false
- @options = stub 'options'
- @options.stubs(:each).multiple_yields(@option1, @option2)
+ @options = Puppet::Parser::AST::ASTArray.new(:children => [@option1, @option2])
@casestmt = Puppet::Parser::AST::CaseStatement.new :test => @test, :options => @options
end
@@ -29,8 +32,6 @@ describe Puppet::Parser::AST::CaseStatement do
end
it "should scan each option" do
- @options.expects(:each).multiple_yields(@option1, @option2)
-
@casestmt.evaluate(@scope)
end
@@ -137,12 +138,15 @@ describe Puppet::Parser::AST::CaseStatement do
options = tests.collect do |result, values|
values = values.collect { |v| AST::Leaf.new :value => v }
- AST::CaseOpt.new(
- :value => AST::ASTArray.new(:children => values),
-
- :statements => AST::Leaf.new(:value => result))
+ AST::CaseOpt.new(
+ :value => AST::ASTArray.new(:children => values),
+ :statements => AST::Leaf.new(:value => result)
+ )
end
- options << AST::CaseOpt.new(:value => AST::Default.new(:value => "default"), :statements => AST::Leaf.new(:value => "default"))
+ options << AST::CaseOpt.new(
+ :value => AST::Default.new(:value => "default"),
+ :statements => AST::Leaf.new(:value => "default")
+ )
ast = nil
param = AST::Variable.new(:value => "testparam")