diff options
Diffstat (limited to 'test/rdoc/test_rdoc_parser.rb')
-rw-r--r-- | test/rdoc/test_rdoc_parser.rb | 79 |
1 files changed, 66 insertions, 13 deletions
diff --git a/test/rdoc/test_rdoc_parser.rb b/test/rdoc/test_rdoc_parser.rb index 19e859e528..9eab360b24 100644 --- a/test/rdoc/test_rdoc_parser.rb +++ b/test/rdoc/test_rdoc_parser.rb @@ -1,25 +1,78 @@ require 'rubygems' -require 'test/unit' +require 'minitest/autorun' require 'rdoc/parser' require 'rdoc/parser/ruby' +require 'tmpdir' -class TestRDocParser < Test::Unit::TestCase - def test_can_parse - assert_equal(RDoc::Parser.can_parse(__FILE__), RDoc::Parser::Ruby) +class TestRDocParser < MiniTest::Unit::TestCase - readme_file_name = File.join(File.dirname(__FILE__), "..", "README.txt") + def setup + @RP = RDoc::Parser + @binary_dat = File.expand_path '../binary.dat', __FILE__ + end + + def test_class_binary_eh_erb + erb = File.join Dir.tmpdir, "test_rdoc_parser_#{$$}.erb" + open erb, 'wb' do |io| + io.write 'blah blah <%= stuff %> <% more stuff %>' + end - unless File.exist? readme_file_name then # HACK for tests in trunk :/ - readme_file_name = File.join File.dirname(__FILE__), '..', '..', 'README' + assert @RP.binary?(erb) + + erb_rb = File.join Dir.tmpdir, "test_rdoc_parser_#{$$}.erb.rb" + open erb_rb, 'wb' do |io| + io.write 'blah blah <%= stuff %>' end - assert_equal(RDoc::Parser.can_parse(readme_file_name), RDoc::Parser::Simple) + refute @RP.binary?(erb_rb) + ensure + File.unlink erb + File.unlink erb_rb if erb_rb + end + + def test_class_binary_eh_marshal + marshal = File.join Dir.tmpdir, "test_rdoc_parser_#{$$}.marshal" + open marshal, 'wb' do |io| + io.write Marshal.dump('') + io.write 'lots of text ' * 500 + end + + assert @RP.binary?(marshal) + ensure + File.unlink marshal + end + + def test_class_can_parse + assert_equal @RP.can_parse(__FILE__), @RP::Ruby + + readme_file_name = File.expand_path '../test.txt', __FILE__ - binary_file_name = File.join(File.dirname(__FILE__), "binary.dat") - assert_nil(RDoc::Parser.can_parse(binary_file_name)) - empty_file_name = File.join(File.dirname(__FILE__), "empty.dat") - assert_not_nil(RDoc::Parser.can_parse(empty_file_name)) + assert_equal @RP::Simple, @RP.can_parse(readme_file_name) + + assert_nil @RP.can_parse(@binary_dat) + + jtest_file_name = File.expand_path '../test.ja.txt', __FILE__ + assert_equal @RP::Simple, @RP.can_parse(jtest_file_name) + + jtest_rdoc_file_name = File.expand_path '../test.ja.rdoc', __FILE__ + assert_equal @RP::Simple, @RP.can_parse(jtest_rdoc_file_name) + end + + ## + # Selenium hides a .jar file using a .txt extension. + + def test_class_can_parse_zip + hidden_zip = File.expand_path '../hidden.zip.txt', __FILE__ + assert_nil @RP.can_parse(hidden_zip) end + + def test_class_for_binary + rp = @RP.dup + + def rp.can_parse(*args) nil end + + assert_nil @RP.for(nil, @binary_dat, nil, nil, nil) + end + end -MiniTest::Unit.autorun |