def test_load_builders
File.open('mod_docs_for_test/foo.rb', 'w') {|output|
output.print "include Rucy\n"
output.print "class FooDocument < Document\n"
output.print "end\n"
output.print "class FooDocumentBuilder < DocumentBuilder\n"
output.print " def doc_name\n"
output.print " 'Foo'\n"
output.print " end\n"
output.print " def doc_args\n"
output.print " []\n"
output.print " end\n"
output.print " def new\n"
output.print " FooDocument.new\n"
output.print " end\n"
output.print "end\n"
}
File.open('mod_docs_for_test/bar.rb', 'w') {|output|
output.print "include Rucy\n"
output.print "class BarFilter < Filter\n"
output.print "end\n"
output.print "class BarFilterBuilder < FilterBuilder\n"
output.print " def filter_name\n"
output.print " 'Bar'\n"
output.print " end\n"
output.print " def filter_args\n"
output.print " []\n"
output.print " end\n"
output.print " def new\n"
output.print " BarFilter.new\n"
output.print " end\n"
output.print "end\n"
}
@loader.load
assert(@loader.load_errors.empty?)
assert_instance_of(Class, @loader.doc_get('FooDocument'))
assert_equal(@loader.doc_get('FooDocument'), @loader.FooDocument)
assert_instance_of(Class, @loader.filter_get('BarFilter'))
assert_equal(@loader.filter_get('BarFilter'), @loader.BarFilter)
factory = @loader.factory
factory.setup
assert_equal([ 'Foo' ], factory.doc_names)
assert_equal([], factory.doc_args('Foo'))
assert_instance_of(@loader.FooDocument, factory.doc_build('Foo', []))
assert_equal([ 'Bar' ], factory.filter_names)
assert_equal([], factory.filter_args('Bar'))
assert_instance_of(@loader.BarFilter, factory.filter_build('Bar', []))
end