diff options
Diffstat (limited to 'trunk/test/rdoc/test_rdoc_info_sections.rb')
-rw-r--r-- | trunk/test/rdoc/test_rdoc_info_sections.rb | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/trunk/test/rdoc/test_rdoc_info_sections.rb b/trunk/test/rdoc/test_rdoc_info_sections.rb deleted file mode 100644 index cceba186c1..0000000000 --- a/trunk/test/rdoc/test_rdoc_info_sections.rb +++ /dev/null @@ -1,136 +0,0 @@ -require 'fileutils' -require 'tempfile' -require 'test/unit' -require 'tmpdir' - -require 'rdoc/generator/texinfo' - -# give us access to check this stuff before it's rendered -class RDoc::Generator::Texinfo; attr_reader :files, :classes; end -class RDoc::RDoc; attr_reader :options; attr_reader :gen; end - -class TestRdocInfoSections < Test::Unit::TestCase - - def setup - @output_dir = File.join Dir.tmpdir, "test_rdoc_info_sections_#{$$}" - @output_file = File.join @output_dir, 'rdoc.texinfo' - - @input_file = Tempfile.new 'my_file.rb' - - open @input_file.path, 'w' do |io| - io.write TEST_DOC - end - - RDoc::Parser.alias_extension '.rb', File.extname(@input_file.path) - - @rdoc = RDoc::RDoc.new - @rdoc.document(['--fmt=texinfo', '--quiet', @input_file.path, - "--op=#{@output_dir}"]) - - @text = File.read @output_file - end - - def teardown - @input_file.close - FileUtils.rm_rf @output_dir - end - - def test_output_exists - assert ! @text.empty? - end - - def test_each_class_has_a_chapter - assert_section "Class MyClass", '@chapter' - end - - def test_class_descriptions_are_given - assert_match(/Documentation for my class/, @text.gsub("\n", ' ')) - end - - def test_included_modules_are_given - assert_match(/Includes.* MyModule/m, @text) - end - - def test_class_methods_are_given - assert_match(/my_class_method\(my_first_argument\)/, @text) - end - - def test_classes_instance_methods_are_given - assert_section 'Class MyClass#my_method' - assert_match(/my_method\(my_first_argument\)/, @text) - end - - def test_each_module_has_a_chapter - assert_section 'MyModule', '@chapter' - end - - def test_methods_are_shown_only_once - methods = @rdoc.gen.classes.map do |c| - c.methods.map do |m| - c.name + '#' + m.name - end - end.flatten - - assert_equal methods, methods.uniq - end - -# if system "makeinfo --version > /dev/null" -# def test_compiles_to_info -# makeinfo_output = `cd #{@output_dir} && makeinfo rdoc.texinfo` -# assert(File.exist?(File.join(@output_dir, 'rdoc.info')), -# "Info file was not compiled: #{makeinfo_output}") -# end -# end - -# def test_constants_are_documented_somehow -# assert_section 'DEFAULT_FILENAME' # what kind of section? -# assert_section 'DEFAULT_INFO_FILENAME' -# end - -# def test_oh_yeah_dont_forget_files -# end - - def assert_section(name, command = '@section') - assert_match Regexp.new("^#{command}.*#{Regexp.escape name}"), @text, "Could not find a #{command} #{name}" - end - - TEST_DOC = <<-DOC -## -# Documentation for my module - -module MyModule - - ## - # Documentation for my included method - - def my_included_method() end - -end - -## -# Documentation for my class - -class MyClass - - include MyModule - - ## - # Documentation for my constant - - MY_CONSTANT = 'my value' - - ## - # Documentation for my class method - - def self.my_class_method(my_first_argument) end - - ## - # Documentation for my method - - def my_method(my_first_argument) end - -end - - DOC - -end |