summaryrefslogtreecommitdiff
path: root/test/rdoc/test_rdoc_ri_overstrike_formatter.rb
blob: 050e92a4fea349df3af35da8e8386179862cedfc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
require 'stringio'
require 'test/unit'
require 'rdoc/ri/formatter'
require 'rdoc/markup/fragments'
require 'rdoc/markup/to_flow'

class TestRDocRIOverstrikeFormatter < Test::Unit::TestCase

  def setup
    @output = StringIO.new
    @width = 78
    @indent = '  '

    @f = RDoc::RI::OverstrikeFormatter.new @output, @width, @indent
    @markup = RDoc::Markup.new
    @flow = RDoc::Markup::ToFlow.new

    @af = RDoc::RI::AttributeFormatter
  end

  def test_display_verbatim_flow_item_bold
    verbatim = RDoc::Markup::Flow::VERB.new "*a* b c"

    @f.display_verbatim_flow_item verbatim

    assert_equal "  *a* b c\n\n", @output.string
  end

  def test_write_attribute_text_bold
    line = [RDoc::RI::AttributeFormatter::AttrChar.new('b', @af::BOLD)]

    @f.write_attribute_text '  ', line

    assert_equal "  b\bb\n", @output.string
  end

  def test_write_attribute_text_bold_italic
    attr = @af::BOLD | @af::ITALIC
    line = [RDoc::RI::AttributeFormatter::AttrChar.new('d', attr)]

    @f.write_attribute_text '  ', line

    assert_equal "  _\bd\bd\n", @output.string
  end

  def test_write_attribute_text_code
    line = [RDoc::RI::AttributeFormatter::AttrChar.new('c', @af::CODE)]

    @f.write_attribute_text '  ', line

    assert_equal "  _\bc\n", @output.string
  end

  def test_write_attribute_text_italic
    line = [RDoc::RI::AttributeFormatter::AttrChar.new('a', @af::ITALIC)]

    @f.write_attribute_text '  ', line

    assert_equal "  _\ba\n", @output.string
  end

  def test_bold_print
    @f.bold_print 'a b c'

    assert_equal "a\ba \b b\bb \b c\bc", @output.string
  end

end