diff options
author | Patrick Carlisle <patrick@puppetlabs.com> | 2012-08-09 14:52:08 -0700 |
---|---|---|
committer | Patrick Carlisle <patrick@puppetlabs.com> | 2012-08-09 14:52:08 -0700 |
commit | cdd45298337df80aad757e81eb7457317219c1b7 (patch) | |
tree | 4132ab281a3064b892c4a59ffc99a2a2645a1bbd /spec/unit/puppet/parser/functions/getvar_spec.rb | |
parent | c101da0b83210fe4c1603f3d7a014f72c988f5ac (diff) | |
parent | 424b56da616041e365cb471dafc05a3d7ade4e45 (diff) |
Merge branch '2.3.x' into 2.4.x
* 2.3.x:
Make sure functions are loaded for each test
Use rvalue functions correctly
(Maint) Don't mock with mocha
(Maint) Fix up the get_module_path parser function
(Maint) use PuppetlabsSpec::PuppetSeams.parser_scope (2.3.x)
(Maint) Rename PuppetlabsSpec::Puppet{Seams,Internals}
(Maint) use PuppetlabsSpec::PuppetSeams.parser_scope
(Maint) Fix interpreter lines
Update CHANGELOG, Modulefile for 2.3.3
fix regression in #11017 properly
Fix spec tests using the new spec_helper
Update CHANGELOG for 2.3.2 release
Make file_line default to ensure => present
Memoize file_line spec instance variables
Fix spec tests using the new spec_helper
Revert "Merge remote-tracking branch 'eshamow/tickets/bug/13595_restrict_initialize_everything_for_tests' into 2.2.x"
(#13595) initialize_everything_for_tests couples modules Puppet ver
Diffstat (limited to 'spec/unit/puppet/parser/functions/getvar_spec.rb')
-rw-r--r-- | spec/unit/puppet/parser/functions/getvar_spec.rb | 45 |
1 files changed, 13 insertions, 32 deletions
diff --git a/spec/unit/puppet/parser/functions/getvar_spec.rb b/spec/unit/puppet/parser/functions/getvar_spec.rb index 16edd98..a8aeec1 100644 --- a/spec/unit/puppet/parser/functions/getvar_spec.rb +++ b/spec/unit/puppet/parser/functions/getvar_spec.rb @@ -1,40 +1,25 @@ -require 'puppet' +#! /usr/bin/env ruby -S rspec +require 'spec_helper' -# We don't need this for the basic tests we're doing -# require 'spec_helper' - -# Dan mentioned that Nick recommended the function method call -# to return the string value for the test description. -# this will not even try the test if the function cannot be -# loaded. describe Puppet::Parser::Functions.function(:getvar) do - - # Pulled from Dan's create_resources function - def get_scope - @topscope = Puppet::Parser::Scope.new - # This is necessary so we don't try to use the compiler to discover our parent. - @topscope.parent = nil - @scope = Puppet::Parser::Scope.new - @scope.compiler = Puppet::Parser::Compiler.new(Puppet::Node.new("floppy", :environment => 'production')) - @scope.parent = @topscope - @compiler = @scope.compiler - end - + let(:scope) { PuppetlabsSpec::PuppetInternals.scope } describe 'when calling getvar from puppet' do it "should not compile when no arguments are passed" do - Puppet[:code] = 'getvar()' - get_scope - expect { @scope.compiler.compile }.should raise_error(Puppet::ParseError, /wrong number of arguments/) + Puppet[:code] = '$foo = getvar()' + expect { + scope.compiler.compile + }.to raise_error(Puppet::ParseError, /wrong number of arguments/) end + it "should not compile when too many arguments are passed" do - Puppet[:code] = 'getvar("foo::bar", "baz")' - get_scope - expect { @scope.compiler.compile }.should raise_error(Puppet::ParseError, /wrong number of arguments/) + Puppet[:code] = '$foo = getvar("foo::bar", "baz")' + expect { + scope.compiler.compile + }.to raise_error(Puppet::ParseError, /wrong number of arguments/) end it "should lookup variables in other namespaces" do - pending "Puppet doesn't appear to think getvar is an rvalue function... BUG?" Puppet[:code] = <<-'ENDofPUPPETcode' class site::data { $foo = 'baz' } include site::data @@ -43,11 +28,7 @@ describe Puppet::Parser::Functions.function(:getvar) do fail('getvar did not return what we expect') } ENDofPUPPETcode - get_scope - @scope.compiler.compile + scope.compiler.compile end - end - end - |