1require 'rdoc/test_case' 2 3class TestRDocMarkupToTableOfContents < RDoc::Markup::FormatterTestCase 4 5 add_visitor_tests 6 7 def setup 8 super 9 10 @to = RDoc::Markup::ToTableOfContents.new 11 end 12 13 def end_accepting 14 assert_equal %w[hi], @to.res 15 end 16 17 def empty 18 assert_empty @to.res 19 end 20 21 def accept_heading 22 assert_equal [@RM::Heading.new(5, 'Hello')], @to.res 23 end 24 25 def accept_heading_1 26 assert_equal [@RM::Heading.new(1, 'Hello')], @to.res 27 end 28 29 def accept_heading_2 30 assert_equal [@RM::Heading.new(2, 'Hello')], @to.res 31 end 32 33 def accept_heading_3 34 assert_equal [@RM::Heading.new(3, 'Hello')], @to.res 35 end 36 37 def accept_heading_4 38 assert_equal [@RM::Heading.new(4, 'Hello')], @to.res 39 end 40 41 def accept_heading_b 42 assert_equal [@RM::Heading.new(1, '*Hello*')], @to.res 43 end 44 45 def accept_heading_suppressed_crossref 46 assert_equal [@RM::Heading.new(1, '\\Hello')], @to.res 47 end 48 49 alias accept_blank_line empty 50 alias accept_block_quote empty 51 alias accept_document empty 52 alias accept_list_end_bullet empty 53 alias accept_list_end_label empty 54 alias accept_list_end_lalpha empty 55 alias accept_list_end_note empty 56 alias accept_list_end_number empty 57 alias accept_list_end_ualpha empty 58 alias accept_list_item_end_bullet empty 59 alias accept_list_item_end_label empty 60 alias accept_list_item_end_lalpha empty 61 alias accept_list_item_end_note empty 62 alias accept_list_item_end_number empty 63 alias accept_list_item_end_ualpha empty 64 alias accept_list_item_start_bullet empty 65 alias accept_list_item_start_label empty 66 alias accept_list_item_start_lalpha empty 67 alias accept_list_item_start_note empty 68 alias accept_list_item_start_note_2 empty 69 alias accept_list_item_start_note_multi_description empty 70 alias accept_list_item_start_note_multi_label empty 71 alias accept_list_item_start_number empty 72 alias accept_list_item_start_ualpha empty 73 alias accept_list_start_bullet empty 74 alias accept_list_start_label empty 75 alias accept_list_start_lalpha empty 76 alias accept_list_start_note empty 77 alias accept_list_start_number empty 78 alias accept_list_start_ualpha empty 79 alias accept_paragraph empty 80 alias accept_paragraph_b empty 81 alias accept_paragraph_br empty 82 alias accept_paragraph_break empty 83 alias accept_paragraph_i empty 84 alias accept_paragraph_plus empty 85 alias accept_paragraph_star empty 86 alias accept_paragraph_underscore empty 87 alias accept_raw empty 88 alias accept_rule empty 89 alias accept_verbatim empty 90 alias list_nested empty 91 alias list_verbatim empty 92 alias start_accepting empty 93 94 def test_accept_document_omit_headings_below 95 document = doc 96 document.omit_headings_below = 2 97 98 @to.accept_document document 99 100 assert_equal 2, @to.omit_headings_below 101 end 102 103 def test_accept_heading_suppressed 104 @to.start_accepting 105 @to.omit_headings_below = 4 106 107 suppressed = head 5, 'Hello' 108 109 @to.accept_heading suppressed 110 111 assert_empty @to.res 112 end 113 114 def test_suppressed_eh 115 @to.omit_headings_below = nil 116 117 refute @to.suppressed? head(1, '') 118 119 @to.omit_headings_below = 1 120 121 refute @to.suppressed? head(1, '') 122 assert @to.suppressed? head(2, '') 123 end 124 125end 126 127