diff options
| author | Matt Robinson <matt@puppetlabs.com> | 2011-03-28 21:35:34 -0700 |
|---|---|---|
| committer | Matt Robinson <matt@puppetlabs.com> | 2011-03-29 11:00:47 -0700 |
| commit | 29f3dda2aaa4a6225baaa5819ebad32909b01f93 (patch) | |
| tree | b6681bd82ce65f1da736895d0e9f79c1b7df1453 /spec/unit/parser/ast | |
| parent | 5e9dfdcec4a3579e8d88a243b608c280c494c3be (diff) | |
| download | puppet-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-x | spec/unit/parser/ast/casestatement_spec.rb | 26 |
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") |
