summaryrefslogtreecommitdiffstats
path: root/spec/unit/parser/ast
diff options
context:
space:
mode:
authorBrice Figureau <brice-puppet@daysofwonder.com>2008-09-20 14:14:44 +0200
committerJames Turnbull <james@lovedthanlost.net>2008-09-21 02:32:51 +1000
commit7a3a38f58c099244c2a8b490f0b69c2fa63f3e16 (patch)
treec5bf762a1f3a7f9f0fa0a23eb442290e929e5a61 /spec/unit/parser/ast
parent16793d221f95b2430260c38cd7c36bb8a5ef8d49 (diff)
downloadpuppet-7a3a38f58c099244c2a8b490f0b69c2fa63f3e16.tar.gz
puppet-7a3a38f58c099244c2a8b490f0b69c2fa63f3e16.tar.xz
puppet-7a3a38f58c099244c2a8b490f0b69c2fa63f3e16.zip
Add rspec unit test for the append operator
Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
Diffstat (limited to 'spec/unit/parser/ast')
-rwxr-xr-xspec/unit/parser/ast/vardef.rb47
1 files changed, 47 insertions, 0 deletions
diff --git a/spec/unit/parser/ast/vardef.rb b/spec/unit/parser/ast/vardef.rb
new file mode 100755
index 000000000..6bd355c89
--- /dev/null
+++ b/spec/unit/parser/ast/vardef.rb
@@ -0,0 +1,47 @@
+#!/usr/bin/env ruby
+
+require File.dirname(__FILE__) + '/../../../spec_helper'
+
+describe Puppet::Parser::AST::VarDef do
+ before :each do
+ @scope = Puppet::Parser::Scope.new()
+ end
+
+ describe "when evaluating" do
+
+ it "should evaluate arguments" do
+ name = mock 'name'
+ value = mock 'value'
+
+ name.expects(:safeevaluate).with(@scope)
+ value.expects(:safeevaluate).with(@scope)
+
+ vardef = Puppet::Parser::AST::VarDef.new :name => name, :value => value, :file => nil,
+ :line => nil
+ vardef.evaluate(@scope)
+ end
+
+ it "should be in append=false mode if called without append" do
+ name = stub 'name', :safeevaluate => "var"
+ value = stub 'value', :safeevaluate => "1"
+
+ @scope.expects(:setvar).with { |name,value,file,line,append| append == nil }
+
+ vardef = Puppet::Parser::AST::VarDef.new :name => name, :value => value, :file => nil,
+ :line => nil
+ vardef.evaluate(@scope)
+ end
+
+ it "should call scope in append mode if append is true" do
+ name = stub 'name', :safeevaluate => "var"
+ value = stub 'value', :safeevaluate => "1"
+
+ @scope.expects(:setvar).with { |name,value,file,line,append| append == true }
+
+ vardef = Puppet::Parser::AST::VarDef.new :name => name, :value => value, :file => nil,
+ :line => nil, :append => true
+ vardef.evaluate(@scope)
+ end
+
+ end
+end