From c1b5c7f515a0add663fb532859d91e28ef37a971 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sun, 16 Jan 2011 14:27:24 -0800 Subject: (#5913) Fix Puppet::Application.find constant lookup behavior Puppet::Application.find now only looks in the Puppet::Application namespace for the given constant. --- spec/unit/application_spec.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'spec/unit') diff --git a/spec/unit/application_spec.rb b/spec/unit/application_spec.rb index f68a7e209..c0f97336c 100755 --- a/spec/unit/application_spec.rb +++ b/spec/unit/application_spec.rb @@ -16,6 +16,25 @@ describe Puppet::Application do Puppet.settings.stubs(:parse) end + describe "finding" do + before do + @klass = Puppet::Application + @klass.stubs(:puts) + end + + it "should find classes in the namespace" do + @klass.find("Agent").should == @klass::Agent + end + + it "should not find classes outside the namespace" do + lambda { @klass.find("String") }.should raise_error(SystemExit) + end + + it "should exit if it can't find a class" do + lambda { @klass.find("ThisShallNeverEverEverExistAsdf") }.should raise_error(SystemExit) + end + end + describe ".run_mode" do it "should default to user" do @appclass.run_mode.name.should == :user -- cgit