require 'rubygems' require 'cgi' require 'minitest/autorun' require 'rdoc' require 'rdoc/code_objects' class TestRDocContextSection < MiniTest::Unit::TestCase def setup @S = RDoc::Context::Section @s = @S.new nil, 'section', '# comment' end def test_aref assert_equal 'section', @s.aref assert_equal '5Buntitled-5D', @S.new(nil, nil, nil).aref assert_equal 'one+two', @S.new(nil, 'one two', nil).aref end def test_comment_equals @s.comment = "# :section: section\n" assert_equal "# comment", @s.comment @s.comment = "# :section: section\n# other" assert_equal "# comment\n# ---\n# other", @s.comment s = @S.new nil, nil, nil s.comment = "# :section:\n# other" assert_equal "# other", s.comment end def test_extract_comment assert_equal '', @s.extract_comment('') assert_equal '', @s.extract_comment("# :section: b\n") assert_equal '# c', @s.extract_comment("# :section: b\n# c") assert_equal '# c', @s.extract_comment("# a\n# :section: b\n# c") end def test_sequence _, err = capture_io do assert_match(/\ASEC\d{5}\Z/, @s.sequence) end assert_equal "#{@S}#sequence is deprecated, use #aref\n", err end end