summaryrefslogtreecommitdiff
path: root/spec/unit/parser
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/parser')
-rwxr-xr-xspec/unit/parser/ast/arithmetic_operator_spec.rb4
-rwxr-xr-xspec/unit/parser/ast/astarray_spec.rb4
-rwxr-xr-xspec/unit/parser/ast/asthash_spec.rb4
-rwxr-xr-xspec/unit/parser/ast/boolean_operator_spec.rb4
-rwxr-xr-xspec/unit/parser/ast/casestatement_spec.rb12
-rwxr-xr-xspec/unit/parser/ast/collexpr_spec.rb4
-rwxr-xr-xspec/unit/parser/ast/comparison_operator_spec.rb5
-rwxr-xr-xspec/unit/parser/ast/ifstatement_spec.rb4
-rwxr-xr-xspec/unit/parser/ast/in_operator_spec.rb4
-rwxr-xr-xspec/unit/parser/ast/leaf_spec.rb41
-rwxr-xr-xspec/unit/parser/ast/match_operator_spec.rb4
-rwxr-xr-xspec/unit/parser/ast/minus_spec.rb4
-rwxr-xr-xspec/unit/parser/ast/not_spec.rb4
-rwxr-xr-xspec/unit/parser/ast/resource_reference_spec.rb4
-rwxr-xr-xspec/unit/parser/ast/selector_spec.rb4
-rwxr-xr-xspec/unit/parser/ast/vardef_spec.rb4
-rwxr-xr-xspec/unit/parser/functions/create_resources_spec.rb6
-rwxr-xr-xspec/unit/parser/functions/extlookup_spec.rb5
-rwxr-xr-xspec/unit/parser/functions/fail_spec.rb4
-rwxr-xr-xspec/unit/parser/functions/file_spec.rb4
-rwxr-xr-xspec/unit/parser/functions/fqdn_rand_spec.rb4
-rwxr-xr-xspec/unit/parser/functions/generate_spec.rb4
-rwxr-xr-xspec/unit/parser/functions/inline_template_spec.rb4
-rwxr-xr-xspec/unit/parser/functions/realize_spec.rb6
-rwxr-xr-xspec/unit/parser/functions/regsubst_spec.rb4
-rwxr-xr-xspec/unit/parser/functions/require_spec.rb7
-rwxr-xr-xspec/unit/parser/functions/search_spec.rb4
-rwxr-xr-xspec/unit/parser/functions/shellquote_spec.rb4
-rwxr-xr-xspec/unit/parser/functions/split_spec.rb4
-rwxr-xr-xspec/unit/parser/functions/sprintf_spec.rb4
-rwxr-xr-xspec/unit/parser/functions/tag_spec.rb5
-rwxr-xr-xspec/unit/parser/functions/template_spec.rb5
-rwxr-xr-xspec/unit/parser/functions/versioncmp_spec.rb4
-rwxr-xr-xspec/unit/parser/scope_spec.rb20
34 files changed, 147 insertions, 61 deletions
diff --git a/spec/unit/parser/ast/arithmetic_operator_spec.rb b/spec/unit/parser/ast/arithmetic_operator_spec.rb
index 57ec3007f..173a789f4 100755
--- a/spec/unit/parser/ast/arithmetic_operator_spec.rb
+++ b/spec/unit/parser/ast/arithmetic_operator_spec.rb
@@ -6,7 +6,9 @@ describe Puppet::Parser::AST::ArithmeticOperator do
ast = Puppet::Parser::AST
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
@one = stub 'lval', :safeevaluate => 1
@two = stub 'rval', :safeevaluate => 2
end
diff --git a/spec/unit/parser/ast/astarray_spec.rb b/spec/unit/parser/ast/astarray_spec.rb
index b5ea19d14..9a54cf9d6 100755
--- a/spec/unit/parser/ast/astarray_spec.rb
+++ b/spec/unit/parser/ast/astarray_spec.rb
@@ -3,7 +3,9 @@ require 'spec_helper'
describe Puppet::Parser::AST::ASTArray do
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
end
it "should have a [] accessor" do
diff --git a/spec/unit/parser/ast/asthash_spec.rb b/spec/unit/parser/ast/asthash_spec.rb
index 648d15fe9..e18d1f76f 100755
--- a/spec/unit/parser/ast/asthash_spec.rb
+++ b/spec/unit/parser/ast/asthash_spec.rb
@@ -3,7 +3,9 @@ require 'spec_helper'
describe Puppet::Parser::AST::ASTHash do
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
end
it "should have a merge functionality" do
diff --git a/spec/unit/parser/ast/boolean_operator_spec.rb b/spec/unit/parser/ast/boolean_operator_spec.rb
index 14151e421..4c8704d7c 100755
--- a/spec/unit/parser/ast/boolean_operator_spec.rb
+++ b/spec/unit/parser/ast/boolean_operator_spec.rb
@@ -6,7 +6,9 @@ describe Puppet::Parser::AST::BooleanOperator do
ast = Puppet::Parser::AST
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
@true_ast = ast::Boolean.new( :value => true)
@false_ast = ast::Boolean.new( :value => false)
end
diff --git a/spec/unit/parser/ast/casestatement_spec.rb b/spec/unit/parser/ast/casestatement_spec.rb
index b99479542..cec4a6856 100755
--- a/spec/unit/parser/ast/casestatement_spec.rb
+++ b/spec/unit/parser/ast/casestatement_spec.rb
@@ -3,7 +3,9 @@ require 'spec_helper'
describe Puppet::Parser::AST::CaseStatement do
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
end
describe "when evaluating" do
@@ -153,9 +155,11 @@ describe Puppet::Parser::AST::CaseStatement do
tests.each do |should, values|
values.each do |value|
- @scope = Puppet::Parser::Scope.new
- @scope['testparam'] = value
- result = ast.evaluate(@scope)
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ scope = Puppet::Parser::Scope.new(:compiler => compiler)
+ scope['testparam'] = value
+ result = ast.evaluate(scope)
result.should == should
end
diff --git a/spec/unit/parser/ast/collexpr_spec.rb b/spec/unit/parser/ast/collexpr_spec.rb
index 9fb5c530a..09e299ca6 100755
--- a/spec/unit/parser/ast/collexpr_spec.rb
+++ b/spec/unit/parser/ast/collexpr_spec.rb
@@ -6,7 +6,9 @@ describe Puppet::Parser::AST::CollExpr do
ast = Puppet::Parser::AST
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
end
describe "when evaluating with two operands" do
diff --git a/spec/unit/parser/ast/comparison_operator_spec.rb b/spec/unit/parser/ast/comparison_operator_spec.rb
index 70bb49067..fc8d098cd 100755
--- a/spec/unit/parser/ast/comparison_operator_spec.rb
+++ b/spec/unit/parser/ast/comparison_operator_spec.rb
@@ -3,7 +3,10 @@ require 'spec_helper'
describe Puppet::Parser::AST::ComparisonOperator do
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
+
@one = Puppet::Parser::AST::Leaf.new(:value => "1")
@two = Puppet::Parser::AST::Leaf.new(:value => "2")
diff --git a/spec/unit/parser/ast/ifstatement_spec.rb b/spec/unit/parser/ast/ifstatement_spec.rb
index a03c8209e..9afd0e7db 100755
--- a/spec/unit/parser/ast/ifstatement_spec.rb
+++ b/spec/unit/parser/ast/ifstatement_spec.rb
@@ -3,7 +3,9 @@ require 'spec_helper'
describe Puppet::Parser::AST::IfStatement do
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
end
describe "when evaluating" do
diff --git a/spec/unit/parser/ast/in_operator_spec.rb b/spec/unit/parser/ast/in_operator_spec.rb
index f158fd381..089c93729 100755
--- a/spec/unit/parser/ast/in_operator_spec.rb
+++ b/spec/unit/parser/ast/in_operator_spec.rb
@@ -5,7 +5,9 @@ require 'puppet/parser/ast/in_operator'
describe Puppet::Parser::AST::InOperator do
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
@lval = stub 'lval'
@lval.stubs(:safeevaluate).with(@scope).returns("left")
diff --git a/spec/unit/parser/ast/leaf_spec.rb b/spec/unit/parser/ast/leaf_spec.rb
index a77cda0b1..abc2d886a 100755
--- a/spec/unit/parser/ast/leaf_spec.rb
+++ b/spec/unit/parser/ast/leaf_spec.rb
@@ -3,7 +3,9 @@ require 'spec_helper'
describe Puppet::Parser::AST::Leaf do
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
@value = stub 'value'
@leaf = Puppet::Parser::AST::Leaf.new(:value => @value)
end
@@ -56,8 +58,11 @@ end
describe Puppet::Parser::AST::Concat do
describe "when evaluating" do
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
end
+
it "should interpolate variables and concatenate their values" do
one = Puppet::Parser::AST::String.new(:value => "one")
one.stubs(:evaluate).returns("one ")
@@ -86,8 +91,10 @@ end
describe Puppet::Parser::AST::Undef do
before :each do
- @scope = Puppet::Parser::Scope.new
- @undef = Puppet::Parser::AST::Undef.new(:value => :undef)
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
+ @undef = Puppet::Parser::AST::Undef.new(:value => :undef)
end
it "should match undef with undef" do
@@ -101,7 +108,9 @@ end
describe Puppet::Parser::AST::HashOrArrayAccess do
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
end
describe "when evaluating" do
@@ -223,7 +232,10 @@ describe Puppet::Parser::AST::HashOrArrayAccess do
describe "when assigning" do
it "should add a new key and value" do
- scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ scope = Puppet::Parser::Scope.new(:compiler => compiler)
+
scope['a'] = { 'a' => 'b' }
access = Puppet::Parser::AST::HashOrArrayAccess.new(:variable => "a", :key => "b")
@@ -241,7 +253,10 @@ describe Puppet::Parser::AST::HashOrArrayAccess do
end
it "should be able to return an array member when index is a stringified number" do
- scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ scope = Puppet::Parser::Scope.new(:compiler => compiler)
+
scope['a'] = []
access = Puppet::Parser::AST::HashOrArrayAccess.new(:variable => "a", :key => "0" )
@@ -261,7 +276,9 @@ end
describe Puppet::Parser::AST::Regex do
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
end
describe "when initializing" do
@@ -359,7 +376,9 @@ end
describe Puppet::Parser::AST::Variable do
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
@var = Puppet::Parser::AST::Variable.new(:value => "myvar", :file => 'my.pp', :line => 222)
end
@@ -387,7 +406,9 @@ end
describe Puppet::Parser::AST::HostName do
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
@value = stub 'value', :=~ => false
@value.stubs(:to_s).returns(@value)
@value.stubs(:downcase).returns(@value)
diff --git a/spec/unit/parser/ast/match_operator_spec.rb b/spec/unit/parser/ast/match_operator_spec.rb
index 33e3b9516..7644a3411 100755
--- a/spec/unit/parser/ast/match_operator_spec.rb
+++ b/spec/unit/parser/ast/match_operator_spec.rb
@@ -3,7 +3,9 @@ require 'spec_helper'
describe Puppet::Parser::AST::MatchOperator do
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
@lval = stub 'lval'
@lval.stubs(:safeevaluate).with(@scope).returns("this is a string")
diff --git a/spec/unit/parser/ast/minus_spec.rb b/spec/unit/parser/ast/minus_spec.rb
index 9b2f7f74e..d844cd3fa 100755
--- a/spec/unit/parser/ast/minus_spec.rb
+++ b/spec/unit/parser/ast/minus_spec.rb
@@ -3,7 +3,9 @@ require 'spec_helper'
describe Puppet::Parser::AST::Minus do
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
end
it "should evaluate its argument" do
diff --git a/spec/unit/parser/ast/not_spec.rb b/spec/unit/parser/ast/not_spec.rb
index 7f26d3bb2..3d8607cda 100755
--- a/spec/unit/parser/ast/not_spec.rb
+++ b/spec/unit/parser/ast/not_spec.rb
@@ -3,7 +3,9 @@ require 'spec_helper'
describe Puppet::Parser::AST::Not do
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
@true_ast = Puppet::Parser::AST::Boolean.new( :value => true)
@false_ast = Puppet::Parser::AST::Boolean.new( :value => false)
end
diff --git a/spec/unit/parser/ast/resource_reference_spec.rb b/spec/unit/parser/ast/resource_reference_spec.rb
index d7f4ba503..174c8aef5 100755
--- a/spec/unit/parser/ast/resource_reference_spec.rb
+++ b/spec/unit/parser/ast/resource_reference_spec.rb
@@ -6,7 +6,9 @@ describe Puppet::Parser::AST::ResourceReference do
ast = Puppet::Parser::AST
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
end
def ast_name(value)
diff --git a/spec/unit/parser/ast/selector_spec.rb b/spec/unit/parser/ast/selector_spec.rb
index 0a4921fd2..e9213c159 100755
--- a/spec/unit/parser/ast/selector_spec.rb
+++ b/spec/unit/parser/ast/selector_spec.rb
@@ -2,7 +2,9 @@
require 'spec_helper'
describe Puppet::Parser::AST::Selector do
- let :scope do Puppet::Parser::Scope.new end
+ let :node do Puppet::Node.new('localhost') end
+ let :compiler do Puppet::Parser::Compiler.new(node) end
+ let :scope do Puppet::Parser::Scope.new(:compiler => compiler) end
# Take a code expression containing a selector, and return that portion of
# the AST. This does the magic required to make that legal and all.
diff --git a/spec/unit/parser/ast/vardef_spec.rb b/spec/unit/parser/ast/vardef_spec.rb
index 4a1dcc3ed..ee1010f03 100755
--- a/spec/unit/parser/ast/vardef_spec.rb
+++ b/spec/unit/parser/ast/vardef_spec.rb
@@ -3,7 +3,9 @@ require 'spec_helper'
describe Puppet::Parser::AST::VarDef do
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
end
describe "when evaluating" do
diff --git a/spec/unit/parser/functions/create_resources_spec.rb b/spec/unit/parser/functions/create_resources_spec.rb
index 043236fd8..90548f86f 100755
--- a/spec/unit/parser/functions/create_resources_spec.rb
+++ b/spec/unit/parser/functions/create_resources_spec.rb
@@ -6,10 +6,10 @@ describe 'function for dynamically creating resources' do
include PuppetSpec::Compiler
before :each do
- @scope = Puppet::Parser::Scope.new
- @scope.compiler = Puppet::Parser::Compiler.new(Puppet::Node.new("floppy", :environment => 'production'))
+ node = Puppet::Node.new("floppy", :environment => 'production')
+ @compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => @compiler)
@topscope = @scope.compiler.topscope
- @compiler = @scope.compiler
@scope.parent = @topscope
Puppet::Parser::Functions.function(:create_resources)
end
diff --git a/spec/unit/parser/functions/extlookup_spec.rb b/spec/unit/parser/functions/extlookup_spec.rb
index eadf51662..e1d56f4a9 100755
--- a/spec/unit/parser/functions/extlookup_spec.rb
+++ b/spec/unit/parser/functions/extlookup_spec.rb
@@ -10,8 +10,9 @@ describe "the extlookup function" do
end
before :each do
- @scope = Puppet::Parser::Scope.new
- @scope.stubs(:environment).returns(Puppet::Node::Environment.new('production'))
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
end
it "should exist" do
diff --git a/spec/unit/parser/functions/fail_spec.rb b/spec/unit/parser/functions/fail_spec.rb
index 48e0e0bde..0000ad736 100755
--- a/spec/unit/parser/functions/fail_spec.rb
+++ b/spec/unit/parser/functions/fail_spec.rb
@@ -7,7 +7,9 @@ describe "the 'fail' parser function" do
end
let :scope do
- scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ scope = Puppet::Parser::Scope.new(:compiler => compiler)
scope.stubs(:environment).returns(nil)
scope
end
diff --git a/spec/unit/parser/functions/file_spec.rb b/spec/unit/parser/functions/file_spec.rb
index 37e12b194..a69d5234a 100755
--- a/spec/unit/parser/functions/file_spec.rb
+++ b/spec/unit/parser/functions/file_spec.rb
@@ -9,7 +9,9 @@ describe "the 'file' function" do
Puppet::Parser::Functions.autoloader.loadall
end
- let :scope do Puppet::Parser::Scope.new end
+ let :node do Puppet::Node.new('localhost') end
+ let :compiler do Puppet::Parser::Compiler.new(node) end
+ let :scope do Puppet::Parser::Scope.new(:compiler => compiler) end
it "should exist" do
Puppet::Parser::Functions.function("file").should == "function_file"
diff --git a/spec/unit/parser/functions/fqdn_rand_spec.rb b/spec/unit/parser/functions/fqdn_rand_spec.rb
index a6b0d6b29..d7e8bd106 100755
--- a/spec/unit/parser/functions/fqdn_rand_spec.rb
+++ b/spec/unit/parser/functions/fqdn_rand_spec.rb
@@ -7,7 +7,9 @@ describe "the fqdn_rand function" do
end
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
@scope[:fqdn] = "127.0.0.1"
end
diff --git a/spec/unit/parser/functions/generate_spec.rb b/spec/unit/parser/functions/generate_spec.rb
index 8d3dd01fb..62d4ec5f9 100755
--- a/spec/unit/parser/functions/generate_spec.rb
+++ b/spec/unit/parser/functions/generate_spec.rb
@@ -8,7 +8,9 @@ describe "the generate function" do
Puppet::Parser::Functions.autoloader.loadall
end
- let(:scope) { Puppet::Parser::Scope.new }
+ let :node do Puppet::Node.new('localhost') end
+ let :compiler do Puppet::Parser::Compiler.new(node) end
+ let :scope do Puppet::Parser::Scope.new(:compiler => compiler) end
it "should exist" do
Puppet::Parser::Functions.function("generate").should == "function_generate"
diff --git a/spec/unit/parser/functions/inline_template_spec.rb b/spec/unit/parser/functions/inline_template_spec.rb
index d32eb2eab..389c0dc7d 100755
--- a/spec/unit/parser/functions/inline_template_spec.rb
+++ b/spec/unit/parser/functions/inline_template_spec.rb
@@ -7,7 +7,9 @@ describe "the inline_template function" do
end
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
end
it "should exist" do
diff --git a/spec/unit/parser/functions/realize_spec.rb b/spec/unit/parser/functions/realize_spec.rb
index efff4ff30..808c0f125 100755
--- a/spec/unit/parser/functions/realize_spec.rb
+++ b/spec/unit/parser/functions/realize_spec.rb
@@ -8,10 +8,10 @@ describe "the realize function" do
before :each do
@collector = stub_everything 'collector'
- @scope = Puppet::Parser::Scope.new
- @compiler = stub 'compiler'
+ node = Puppet::Node.new('localhost')
+ @compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => @compiler)
@compiler.stubs(:add_collection).with(@collector)
- @scope.stubs(:compiler).returns(@compiler)
end
it "should exist" do
diff --git a/spec/unit/parser/functions/regsubst_spec.rb b/spec/unit/parser/functions/regsubst_spec.rb
index 25101e53a..196b9a114 100755
--- a/spec/unit/parser/functions/regsubst_spec.rb
+++ b/spec/unit/parser/functions/regsubst_spec.rb
@@ -7,7 +7,9 @@ describe "the regsubst function" do
end
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
end
it "should exist" do
diff --git a/spec/unit/parser/functions/require_spec.rb b/spec/unit/parser/functions/require_spec.rb
index 9d1e4710a..578696255 100755
--- a/spec/unit/parser/functions/require_spec.rb
+++ b/spec/unit/parser/functions/require_spec.rb
@@ -8,11 +8,12 @@ describe "the require function" do
before :each do
@catalog = stub 'catalog'
- @compiler = stub 'compiler', :catalog => @catalog, :environment => nil
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
+
@scope.stubs(:findresource)
- @scope.stubs(:compiler).returns(@compiler)
@klass = stub 'class', :name => "myclass"
@scope.stubs(:find_hostclass).returns(@klass)
diff --git a/spec/unit/parser/functions/search_spec.rb b/spec/unit/parser/functions/search_spec.rb
index 81b774470..0d6d31bad 100755
--- a/spec/unit/parser/functions/search_spec.rb
+++ b/spec/unit/parser/functions/search_spec.rb
@@ -6,7 +6,9 @@ describe "the 'search' function" do
Puppet::Parser::Functions.autoloader.loadall
end
- let :scope do Puppet::Parser::Scope.new end
+ let :node do Puppet::Node.new('localhost') end
+ let :compiler do Puppet::Parser::Compiler.new(node) end
+ let :scope do Puppet::Parser::Scope.new(:compiler => compiler) end
it "should exist" do
Puppet::Parser::Functions.function("search").should == "function_search"
diff --git a/spec/unit/parser/functions/shellquote_spec.rb b/spec/unit/parser/functions/shellquote_spec.rb
index 862ac1182..6d92cc805 100755
--- a/spec/unit/parser/functions/shellquote_spec.rb
+++ b/spec/unit/parser/functions/shellquote_spec.rb
@@ -6,7 +6,9 @@ describe "the shellquote function" do
Puppet::Parser::Functions.autoloader.loadall
end
- let :scope do Puppet::Parser::Scope.new end
+ let :node do Puppet::Node.new('localhost') end
+ let :compiler do Puppet::Parser::Compiler.new(node) end
+ let :scope do Puppet::Parser::Scope.new(:compiler => compiler) end
it "should exist" do
Puppet::Parser::Functions.function("shellquote").should == "function_shellquote"
diff --git a/spec/unit/parser/functions/split_spec.rb b/spec/unit/parser/functions/split_spec.rb
index 8b7052927..1ec69f6b6 100755
--- a/spec/unit/parser/functions/split_spec.rb
+++ b/spec/unit/parser/functions/split_spec.rb
@@ -7,7 +7,9 @@ describe "the split function" do
end
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
end
it "should exist" do
diff --git a/spec/unit/parser/functions/sprintf_spec.rb b/spec/unit/parser/functions/sprintf_spec.rb
index 5cc8d2d55..bbb585956 100755
--- a/spec/unit/parser/functions/sprintf_spec.rb
+++ b/spec/unit/parser/functions/sprintf_spec.rb
@@ -7,7 +7,9 @@ describe "the sprintf function" do
end
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
end
it "should exist" do
diff --git a/spec/unit/parser/functions/tag_spec.rb b/spec/unit/parser/functions/tag_spec.rb
index 3210ccbc1..89dda5300 100755
--- a/spec/unit/parser/functions/tag_spec.rb
+++ b/spec/unit/parser/functions/tag_spec.rb
@@ -7,8 +7,9 @@ describe "the 'tag' function" do
end
before :each do
- @scope = Puppet::Parser::Scope.new
- @scope.stubs(:environment).returns(nil)
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
end
it "should exist" do
diff --git a/spec/unit/parser/functions/template_spec.rb b/spec/unit/parser/functions/template_spec.rb
index 28b039529..0a1dbc5b4 100755
--- a/spec/unit/parser/functions/template_spec.rb
+++ b/spec/unit/parser/functions/template_spec.rb
@@ -6,7 +6,9 @@ describe "the template function" do
Puppet::Parser::Functions.autoloader.loadall
end
- let :scope do Puppet::Parser::Scope.new end
+ let :node do Puppet::Node.new('localhost') end
+ let :compiler do Puppet::Parser::Compiler.new(node) end
+ let :scope do Puppet::Parser::Scope.new(:compiler => compiler) end
it "should exist" do
Puppet::Parser::Functions.function("template").should == "function_template"
@@ -62,7 +64,6 @@ describe "the template function" do
def eval_template(content, *rest)
File.stubs(:read).with("template").returns(content)
Puppet::Parser::Files.stubs(:find_template).returns("template")
- scope.compiler.stubs(:environment).returns("production")
scope.function_template(['template'] + rest)
end
diff --git a/spec/unit/parser/functions/versioncmp_spec.rb b/spec/unit/parser/functions/versioncmp_spec.rb
index 34534570c..6b7bc093e 100755
--- a/spec/unit/parser/functions/versioncmp_spec.rb
+++ b/spec/unit/parser/functions/versioncmp_spec.rb
@@ -7,7 +7,9 @@ describe "the versioncmp function" do
end
before :each do
- @scope = Puppet::Parser::Scope.new
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ @scope = Puppet::Parser::Scope.new(:compiler => compiler)
end
it "should exist" do
diff --git a/spec/unit/parser/scope_spec.rb b/spec/unit/parser/scope_spec.rb
index cce894be7..acdaea3d0 100755
--- a/spec/unit/parser/scope_spec.rb
+++ b/spec/unit/parser/scope_spec.rb
@@ -4,8 +4,9 @@ require 'puppet_spec/compiler'
describe Puppet::Parser::Scope do
before :each do
- @scope = Puppet::Parser::Scope.new
- @scope.compiler = Puppet::Parser::Compiler.new(Puppet::Node.new("foo"))
+ @scope = Puppet::Parser::Scope.new(
+ :compiler => Puppet::Parser::Compiler.new(Puppet::Node.new("foo"))
+ )
@scope.source = Puppet::Resource::Type.new(:node, :foo)
@topscope = @scope.compiler.topscope
@scope.parent = @topscope
@@ -44,8 +45,8 @@ describe Puppet::Parser::Scope do
scope.environment.should equal(env)
end
- it "should use the default environment if none is available" do
- Puppet::Parser::Scope.new.environment.should equal(Puppet::Node::Environment.new)
+ it "should fail if no compiler is supplied" do
+ expect { Puppet::Parser::Scope.new }.to raise_error Puppet::DevError
end
it "should use the resource type collection helper to find its known resource types" do
@@ -84,8 +85,10 @@ describe Puppet::Parser::Scope do
end
it "should extend itself with the default Functions module if its environment is the default" do
- root = Puppet::Node::Environment.root
- scope = Puppet::Parser::Scope.new
+ root = Puppet::Node::Environment.root
+ node = Puppet::Node.new('localhost')
+ compiler = Puppet::Parser::Compiler.new(node)
+ scope = Puppet::Parser::Scope.new(:compiler => compiler)
scope.singleton_class.ancestors.should be_include(Puppet::Parser::Functions.environment_module(root))
end
end
@@ -150,6 +153,9 @@ describe Puppet::Parser::Scope do
describe "and the variable is qualified" do
before :each do
@known_resource_types = @scope.known_resource_types
+
+ node = Puppet::Node.new('localhost')
+ @compiler = Puppet::Parser::Compiler.new(node)
end
def newclass(name)
@@ -160,7 +166,7 @@ describe Puppet::Parser::Scope do
klass = newclass(name)
catalog = Puppet::Resource::Catalog.new
- catalog.add_resource(Puppet::Parser::Resource.new("stage", :main, :scope => Puppet::Parser::Scope.new))
+ catalog.add_resource(Puppet::Parser::Resource.new("stage", :main, :scope => Puppet::Parser::Scope.new(:compiler => @compiler)))
Puppet::Parser::Resource.new("class", name, :scope => @scope, :source => mock('source'), :catalog => catalog).evaluate