Introduce convention for collapsed directories in tests
This commit is contained in:
parent
6d1ec8efee
commit
3709e0e992
|
@ -5,38 +5,26 @@ require "set"
|
|||
|
||||
class TestCollapse < LoaderTest
|
||||
test "top-level directories can be collapsed" do
|
||||
files = [["foo/bar/x.rb", "Bar::X = true"]]
|
||||
with_files(files) do
|
||||
loader.push_dir(".")
|
||||
loader.collapse("foo")
|
||||
loader.setup
|
||||
|
||||
files = [["collapsed/bar/x.rb", "Bar::X = true"]]
|
||||
with_setup(files) do
|
||||
assert Bar::X
|
||||
end
|
||||
end
|
||||
|
||||
test "collapsed directories are ignored as namespaces" do
|
||||
files = [["foo/bar/x.rb", "Foo::X = true"]]
|
||||
with_files(files) do
|
||||
loader.push_dir(".")
|
||||
loader.collapse("foo/bar")
|
||||
loader.setup
|
||||
|
||||
files = [["foo/collapsed/x.rb", "Foo::X = true"]]
|
||||
with_setup(files) do
|
||||
assert Foo::X
|
||||
end
|
||||
end
|
||||
|
||||
test "collapsed directories are ignored as explicit namespaces" do
|
||||
files = [
|
||||
["foo.rb", "Foo = true"],
|
||||
["foo/x.rb", "X = true"]
|
||||
["collapsed.rb", "Collapsed = true"],
|
||||
["collapsed/x.rb", "X = true"]
|
||||
]
|
||||
with_files(files) do
|
||||
loader.push_dir(".")
|
||||
loader.collapse("foo")
|
||||
loader.setup
|
||||
|
||||
assert Foo
|
||||
with_setup(files) do
|
||||
assert Collapsed
|
||||
assert X
|
||||
end
|
||||
end
|
||||
|
@ -114,7 +102,7 @@ class TestCollapse < LoaderTest
|
|||
end
|
||||
end
|
||||
|
||||
test "collapse directories are recomputed on reload" do
|
||||
test "collapse glob patterns are recomputed on reload" do
|
||||
files = [["foo/bar/x.rb", "Foo::X = true"]]
|
||||
with_files(files) do
|
||||
loader.push_dir(".")
|
||||
|
@ -136,27 +124,19 @@ class TestCollapse < LoaderTest
|
|||
|
||||
test "collapse directories are honored when eager loading" do
|
||||
$collapse_honored_when_eager_loading = false
|
||||
files = [["foo/bar/x.rb", "Foo::X = true; $collapse_honored_when_eager_loading = true"]]
|
||||
with_files(files) do
|
||||
loader.push_dir(".")
|
||||
loader.collapse("foo/bar")
|
||||
loader.setup
|
||||
files = [["foo/collapsed/x.rb", "Foo::X = true"]]
|
||||
with_setup(files) do
|
||||
loader.eager_load
|
||||
|
||||
assert $collapse_honored_when_eager_loading
|
||||
assert required?(files)
|
||||
end
|
||||
end
|
||||
|
||||
test "collapsed top-level directories are eager loaded too" do
|
||||
$collapse_honored_when_eager_loading = false
|
||||
files = [["foo/bar/x.rb", "Bar::X = true; $collapse_honored_when_eager_loading = true"]]
|
||||
with_files(files) do
|
||||
loader.push_dir(".")
|
||||
loader.collapse("foo")
|
||||
loader.setup
|
||||
files = [["collapsed/bar/x.rb", "Bar::X = true"]]
|
||||
with_setup(files) do
|
||||
loader.eager_load
|
||||
|
||||
assert $collapse_honored_when_eager_loading
|
||||
assert required?(files)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -176,10 +176,7 @@ class TestEagerLoadDir < LoaderTest
|
|||
# This is a file system-based interface.
|
||||
test "eager loads collapsed directories, ignoring the rest of the namespace" do
|
||||
files = [["x.rb", "X = 1"], ["collapsed/y.rb", "Y = 1"]]
|
||||
with_files(files) do
|
||||
loader.push_dir(".")
|
||||
loader.collapse("collapsed")
|
||||
loader.setup
|
||||
with_setup(files) do
|
||||
loader.eager_load_dir("collapsed")
|
||||
|
||||
assert !required?(files[0])
|
||||
|
|
|
@ -54,17 +54,12 @@ class TestEagerLoadNamespaceWithObjectRootNamespace < LoaderTest
|
|||
|
||||
test "supports collapsed directories" do
|
||||
files = [
|
||||
["a/collapsed/m/x.rb", "M::X = 1"],
|
||||
["b/y.rb", "Y = 1"],
|
||||
["b/m/y.rb", "M::Y = 1"]
|
||||
["rd1/collapsed/m/x.rb", "M::X = 1"],
|
||||
["rd2/y.rb", "Y = 1"],
|
||||
["rd2/m/y.rb", "M::Y = 1"]
|
||||
]
|
||||
with_files(files) do
|
||||
loader.push_dir("a")
|
||||
loader.push_dir("b")
|
||||
loader.collapse("a/collapsed")
|
||||
loader.setup
|
||||
with_setup(files) do
|
||||
loader.eager_load_namespace(M)
|
||||
|
||||
assert required?(files[0])
|
||||
assert !required?(files[1])
|
||||
assert required?(files[2])
|
||||
|
|
|
@ -6,7 +6,6 @@ class TestLoadFile < LoaderTest
|
|||
files = [["x.rb", "X = 1"]]
|
||||
with_setup(files) do
|
||||
loader.load_file("x.rb")
|
||||
|
||||
assert required?(files[0])
|
||||
end
|
||||
end
|
||||
|
@ -15,7 +14,6 @@ class TestLoadFile < LoaderTest
|
|||
files = [["x.rb", "X = 1"]]
|
||||
with_setup(files) do
|
||||
loader.load_file(Pathname.new("x.rb"))
|
||||
|
||||
assert required?(files[0])
|
||||
end
|
||||
end
|
||||
|
@ -24,7 +22,6 @@ class TestLoadFile < LoaderTest
|
|||
files = [["x.rb", "#{self.class}::X = 1"]]
|
||||
with_setup(files, namespace: self.class) do
|
||||
loader.load_file("x.rb")
|
||||
|
||||
assert required?(files[0])
|
||||
end
|
||||
end
|
||||
|
@ -33,7 +30,6 @@ class TestLoadFile < LoaderTest
|
|||
files = [["m/x.rb", "M::X = 1"]]
|
||||
with_setup(files) do
|
||||
loader.load_file("m/x.rb")
|
||||
|
||||
assert required?(files[0])
|
||||
end
|
||||
end
|
||||
|
@ -42,19 +38,14 @@ class TestLoadFile < LoaderTest
|
|||
files = [["m/x.rb", "#{self.class}::M::X = 1"]]
|
||||
with_setup(files, namespace: self.class) do
|
||||
loader.load_file("m/x.rb")
|
||||
|
||||
assert required?(files[0])
|
||||
end
|
||||
end
|
||||
|
||||
test "supports collapsed directories" do
|
||||
files = [["m/collapsed/x.rb", "M::X = 1"]]
|
||||
with_files(files) do
|
||||
loader.push_dir(".")
|
||||
loader.collapse("m/collapsed")
|
||||
loader.setup
|
||||
with_setup(files) do
|
||||
loader.load_file("m/collapsed/x.rb")
|
||||
|
||||
assert required?(files[0])
|
||||
end
|
||||
end
|
||||
|
|
|
@ -92,6 +92,10 @@ class LoaderTest < Minitest::Test
|
|||
elsif file[0] =~ %r{\A(ignored|.+/ignored)/}
|
||||
loader.ignore($1)
|
||||
end
|
||||
|
||||
if file[0] =~ %r{\A(collapsed|.+/collapsed)/}
|
||||
loader.collapse($1)
|
||||
end
|
||||
end
|
||||
|
||||
loader.setup
|
||||
|
|
Loading…
Reference in New Issue