1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
require 'spec_helper'
describe Dependor::ClassNameResolver do
class FooBarBaz
end
class FooBarBaz2
end
module Foo
class FooBarBaz
end
end
module Bar
class FooBarBaz
end
end
it "returns nil when the class could not be found" do
resolver = Dependor::ClassNameResolver.new([])
resolver.for_name(:something).should be_nil
end
it "uses global scope with no search_modules" do
resolver = Dependor::ClassNameResolver.new([])
resolver.for_name(:foo_bar_baz).should == FooBarBaz
end
it "searches modules in order specified" do
resolver = Dependor::ClassNameResolver.new([Foo, Bar])
resolver.for_name(:foo_bar_baz).should == Foo::FooBarBaz
end
it "searches in order specified, with the global scope last" do
resolver = Dependor::ClassNameResolver.new([Foo, Bar])
resolver.for_name(:foo_bar_baz_2).should == FooBarBaz2
end
it "doesnt have Object in search modules after calling for_name" do
resolver = Dependor::ClassNameResolver.new([])
resolver.for_name(:something)
resolver.search_modules.should_not include(Object)
end
end
|