1require 'rdoc/test_case'
2
3class TestRDocMarkupToLabel < RDoc::Markup::FormatterTestCase
4
5  add_visitor_tests
6
7  def setup
8    super
9
10    @to = RDoc::Markup::ToLabel.new
11  end
12
13  def empty
14    assert_empty @to.res
15  end
16
17  def end_accepting
18    assert_equal %w[hi], @to.res
19  end
20
21  alias accept_blank_line                             empty
22  alias accept_block_quote                            empty
23  alias accept_document                               empty
24  alias accept_heading                                empty
25  alias accept_heading_1                              empty
26  alias accept_heading_2                              empty
27  alias accept_heading_3                              empty
28  alias accept_heading_4                              empty
29  alias accept_heading_b                              empty
30  alias accept_heading_suppressed_crossref            empty
31  alias accept_list_end_bullet                        empty
32  alias accept_list_end_label                         empty
33  alias accept_list_end_lalpha                        empty
34  alias accept_list_end_note                          empty
35  alias accept_list_end_number                        empty
36  alias accept_list_end_ualpha                        empty
37  alias accept_list_item_end_bullet                   empty
38  alias accept_list_item_end_label                    empty
39  alias accept_list_item_end_lalpha                   empty
40  alias accept_list_item_end_note                     empty
41  alias accept_list_item_end_number                   empty
42  alias accept_list_item_end_ualpha                   empty
43  alias accept_list_item_start_bullet                 empty
44  alias accept_list_item_start_label                  empty
45  alias accept_list_item_start_lalpha                 empty
46  alias accept_list_item_start_note                   empty
47  alias accept_list_item_start_note_2                 empty
48  alias accept_list_item_start_note_multi_description empty
49  alias accept_list_item_start_note_multi_label       empty
50  alias accept_list_item_start_number                 empty
51  alias accept_list_item_start_ualpha                 empty
52  alias accept_list_start_bullet                      empty
53  alias accept_list_start_label                       empty
54  alias accept_list_start_lalpha                      empty
55  alias accept_list_start_note                        empty
56  alias accept_list_start_number                      empty
57  alias accept_list_start_ualpha                      empty
58  alias accept_paragraph                              empty
59  alias accept_paragraph_b                            empty
60  alias accept_paragraph_br                           empty
61  alias accept_paragraph_break                        empty
62  alias accept_paragraph_i                            empty
63  alias accept_paragraph_plus                         empty
64  alias accept_paragraph_star                         empty
65  alias accept_paragraph_underscore                   empty
66  alias accept_raw                                    empty
67  alias accept_rule                                   empty
68  alias accept_verbatim                               empty
69  alias list_nested                                   empty
70  alias list_verbatim                                 empty
71  alias start_accepting                               empty
72
73  def test_convert_bold
74    assert_equal 'bold', @to.convert('<b>bold</b>')
75    assert_equal 'bold', @to.convert('*bold*')
76  end
77
78  def test_convert_crossref
79    assert_equal 'SomeClass', @to.convert('SomeClass')
80    assert_equal 'SomeClass', @to.convert('\\SomeClass')
81
82    assert_equal 'some_method', @to.convert('some_method')
83    assert_equal 'some_method', @to.convert('\\some_method')
84
85    assert_equal '%23some_method', @to.convert('#some_method')
86    assert_equal '%23some_method', @to.convert('\\#some_method')
87  end
88
89  def test_convert_em
90    assert_equal 'em', @to.convert('<em>em</em>')
91    assert_equal 'em', @to.convert('*em*')
92  end
93
94  def test_convert_em_dash # for HTML conversion
95    assert_equal '--', @to.convert('--')
96  end
97
98  def test_convert_escape
99    assert_equal 'a+%3E+b', @to.convert('a > b')
100  end
101
102  def test_convert_tidylink
103    assert_equal 'text', @to.convert('{text}[stuff]')
104    assert_equal 'text', @to.convert('text[stuff]')
105  end
106
107  def test_convert_tt
108    assert_equal 'tt', @to.convert('<tt>tt</tt>')
109  end
110
111end
112
113