summaryrefslogtreecommitdiffstats
path: root/spec/unit/util/autoload_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/util/autoload_spec.rb')
-rwxr-xr-xspec/unit/util/autoload_spec.rb42
1 files changed, 23 insertions, 19 deletions
diff --git a/spec/unit/util/autoload_spec.rb b/spec/unit/util/autoload_spec.rb
index d61b7689e..47ee54e1f 100755
--- a/spec/unit/util/autoload_spec.rb
+++ b/spec/unit/util/autoload_spec.rb
@@ -4,43 +4,47 @@ require 'spec_helper'
require 'puppet/util/autoload'
describe Puppet::Util::Autoload do
+ include PuppetSpec::Files
+
before do
@autoload = Puppet::Util::Autoload.new("foo", "tmp")
@autoload.stubs(:eachdir).yields "/my/dir"
end
- it "should use the Cacher module" do
- Puppet::Util::Autoload.ancestors.should be_include(Puppet::Util::Cacher)
- end
-
describe "when building the search path" do
+ before :each do
+ @dira = make_absolute('/a')
+ @dirb = make_absolute('/b')
+ @dirc = make_absolute('/c')
+ end
+
it "should collect all of the plugins and lib directories that exist in the current environment's module path" do
Puppet.settings.expects(:value).with(:environment).returns "foo"
- Puppet.settings.expects(:value).with(:modulepath, :foo).returns "/a:/b:/c"
- Dir.expects(:entries).with("/a").returns %w{one two}
- Dir.expects(:entries).with("/b").returns %w{one two}
+ Puppet.settings.expects(:value).with(:modulepath, :foo).returns "#{@dira}#{File::PATH_SEPARATOR}#{@dirb}#{File::PATH_SEPARATOR}#{@dirc}"
+ Dir.expects(:entries).with(@dira).returns %w{one two}
+ Dir.expects(:entries).with(@dirb).returns %w{one two}
FileTest.stubs(:directory?).returns false
- FileTest.expects(:directory?).with("/a").returns true
- FileTest.expects(:directory?).with("/b").returns true
- %w{/a/one/plugins /a/two/lib /b/one/plugins /b/two/lib}.each do |d|
+ FileTest.expects(:directory?).with(@dira).returns true
+ FileTest.expects(:directory?).with(@dirb).returns true
+ ["#{@dira}/one/plugins", "#{@dira}/two/lib", "#{@dirb}/one/plugins", "#{@dirb}/two/lib"].each do |d|
FileTest.expects(:directory?).with(d).returns true
end
- @autoload.module_directories.should == %w{/a/one/plugins /a/two/lib /b/one/plugins /b/two/lib}
+ @autoload.module_directories.should == ["#{@dira}/one/plugins", "#{@dira}/two/lib", "#{@dirb}/one/plugins", "#{@dirb}/two/lib"]
end
it "should not look for lib directories in directories starting with '.'" do
Puppet.settings.expects(:value).with(:environment).returns "foo"
- Puppet.settings.expects(:value).with(:modulepath, :foo).returns "/a"
- Dir.expects(:entries).with("/a").returns %w{. ..}
-
- FileTest.expects(:directory?).with("/a").returns true
- FileTest.expects(:directory?).with("/a/./lib").never
- FileTest.expects(:directory?).with("/a/./plugins").never
- FileTest.expects(:directory?).with("/a/../lib").never
- FileTest.expects(:directory?).with("/a/../plugins").never
+ Puppet.settings.expects(:value).with(:modulepath, :foo).returns @dira
+ Dir.expects(:entries).with(@dira).returns %w{. ..}
+
+ FileTest.expects(:directory?).with(@dira).returns true
+ FileTest.expects(:directory?).with("#{@dira}/./lib").never
+ FileTest.expects(:directory?).with("#{@dira}/./plugins").never
+ FileTest.expects(:directory?).with("#{@dira}/../lib").never
+ FileTest.expects(:directory?).with("#{@dira}/../plugins").never
@autoload.module_directories
end