#!/usr/bin/env ruby
$:.unshift("../lib").unshift("../../lib") if __FILE__ =~ /\.rb$/
require 'puppet'
require 'puppet/util/instance_loader'
require 'puppettest'
class TestInstanceloader < Test::Unit::TestCase
include PuppetTest
def setup
super
@loader = Class.new do
extend Puppet::Util::InstanceLoader
def self.newstuff(name, value)
instance_hash(:stuff)[name] = value
end
end
assert_nothing_raised("Could not create autoloader") do
@loader.autoload(:stuff, "puppet/stuff")
end
end
# Make sure we correctly create our autoload instance. This covers the basics.
def test_autoload
# Make sure we can retrieve the loader
assert_instance_of(Puppet::Util::Autoload, @loader.instance_loader(:stuff), "Could not get autoloader")
# Make sure we can get the instance hash
assert(@loader.instance_hash(:stuff), "Could not get instance hash")
# Make sure it defines the instance retrieval method
assert(@loader.respond_to?(:stuff), "Did not define instance retrieval method")
end
def test_loaded_instances
assert_equal([], @loader.loaded_instances(:stuff), "Incorrect loaded instances")
@loader.newstuff(:testing, "a value")
assert_equal([:testing], @loader.loaded_instances(:stuff), "Incorrect loaded instances")
assert_equal("a value", @loader.loaded_instance(:stuff, :testing), "Got incorrect loaded instance")
end
def test_autoloading
end
end
# $Id: instance_loader.rb 2476 2007-05-07 18:59:40Z luke $
syntax highlighted by Code2HTML, v. 0.9.1