home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ruby164.zip / rbemx164.zip / ruby / share / doc / rdtool-0.6.10 / test / test-headline.rb < prev    next >
Text File  |  2001-04-20  |  3KB  |  89 lines

  1. require 'runit/testcase'
  2. require 'runit/cui/mytestrunner'
  3. require 'runit/topublic'
  4.  
  5. require 'rd/block-element'
  6. require 'rd/inline-element'
  7. require 'rd/rd-struct'
  8. require 'rd/document-struct'
  9.  
  10. include RD
  11.  
  12. class TestHeadline < RUNIT::TestCase
  13.   include RUNIT::ToPublic
  14.   
  15.   def test_s_new
  16.     a = Headline.new(1)
  17.     assert_equal(1, a.level)
  18.   end
  19.  
  20.   def test_add_child_under_document_struct
  21.     check_add_child(StringElement.new "")
  22.     check_add_child(Emphasis.new)
  23.     check_add_child(Code.new)
  24.     check_add_child(Var.new)
  25.     check_add_child(Keyboard.new)
  26.     check_add_child(Index.new)
  27.     check_add_child(Verb.new "")
  28.     check_add_child_fail(TextBlock.new)
  29.     check_add_child_fail(Verbatim.new)
  30.     check_add_child_fail(ItemList.new)
  31.     check_add_child_fail(ItemListItem.new)
  32.     check_add_child_fail(Reference.new(Reference::RDLabel.new("")))
  33.     check_add_child_fail(Footnote.new)
  34.   end
  35.  
  36.   def check_add_child(child)
  37.     parent = to_public(Headline).new(1)
  38.     parent.add_child_under_document_struct(child, DocumentStructure::RD)
  39.     assert_equal([child], parent.children)
  40.     assert_equal(parent, child.parent)
  41.   end
  42.  
  43.   def check_add_child_fail(child)
  44.     parent = to_public(Headline).new(1)
  45.     assert_exception(ArgumentError) do
  46.       parent.add_child_under_document_struct(child, DocumentStructure::RD)
  47.     end
  48.   end
  49.  
  50.   def test_to_label
  51.     a = Headline.new(1)
  52.     c1 = StringElement.new "label"
  53.     a.add_child_under_document_struct(c1, DocumentStructure::RD)
  54.     assert_equal("label", a.to_label)
  55.  
  56.     b = Headline.new(1)
  57.     c2 = Emphasis.new
  58.     c21 = StringElement.new "LABEL"
  59.     c2.add_child_under_document_struct(c21, DocumentStructure::RD)
  60.     b.add_children_under_document_struct([c1, c2], DocumentStructure::RD)
  61.     assert_equal("labelLABEL", b.to_label)
  62.  
  63.     b = Headline.new(1)
  64.     c2 = Code.new
  65.     c21 = StringElement.new " LABEL "
  66.     c2.add_child_under_document_struct(c21, DocumentStructure::RD)
  67.     b.add_children_under_document_struct([c1, c2], DocumentStructure::RD)
  68.     assert_equal("labelLABEL", b.to_label)
  69.   end
  70.  
  71.   def test_s_mark_to_level
  72.     assert_equal(1, Headline.mark_to_level("="))
  73.     assert_equal(2, Headline.mark_to_level("=="))
  74.     assert_equal(3, Headline.mark_to_level("==="))
  75.     assert_equal(4, Headline.mark_to_level("===="))
  76.     assert_equal(5, Headline.mark_to_level("+"))
  77.     assert_equal(6, Headline.mark_to_level("++"))
  78.  
  79.     assert_exception(ArgumentError) do
  80.       Headline.mark_to_level("=====")
  81.     end
  82.   end
  83. end
  84.  
  85. if $0 == __FILE__
  86.   suite = TestHeadline.suite
  87.   RUNIT::CUI::MyTestRunner.run(suite)
  88. end
  89.