summaryrefslogtreecommitdiff
path: root/test/rdoc
diff options
context:
space:
mode:
Diffstat (limited to 'test/rdoc')
-rw-r--r--test/rdoc/test_rdoc_ri_formatter.rb235
-rw-r--r--test/rdoc/test_rdoc_ri_overstrike_formatter.rb61
2 files changed, 290 insertions, 6 deletions
diff --git a/test/rdoc/test_rdoc_ri_formatter.rb b/test/rdoc/test_rdoc_ri_formatter.rb
index a92f6cf7b8..612eeb1a49 100644
--- a/test/rdoc/test_rdoc_ri_formatter.rb
+++ b/test/rdoc/test_rdoc_ri_formatter.rb
@@ -45,17 +45,186 @@ class TestRDocRIFormatter < Test::Unit::TestCase
assert_equal expected, @f.conv_markup(text)
end
+ def test_display_flow
+ flow = [
+ RDoc::Markup::Flow::H.new(1, 'heading'),
+ RDoc::Markup::Flow::P.new('paragraph'),
+ ]
+
+ @f.display_flow flow
+
+ assert_equal "\nHEADING\n=======\n\n paragraph\n\n", @output.string
+ end
+
+ def test_display_flow_item_h
+ item = RDoc::Markup::Flow::H.new 1, 'heading'
+
+ @f.display_flow_item item
+
+ assert_equal "\nHEADING\n=======\n\n", @output.string
+ end
+
+ def test_display_flow_item_li
+ item = RDoc::Markup::Flow::LI.new nil, 'paragraph'
+
+ @f.display_flow_item item
+
+ assert_equal " paragraph\n\n", @output.string
+ end
+
+ def test_display_flow_item_list
+ item = RDoc::Markup::Flow::LIST.new :NUMBER
+
+ @f.display_flow_item item
+
+ assert_equal "", @output.string
+ end
+
+ def test_display_flow_item_p
+ item = RDoc::Markup::Flow::P.new 'paragraph'
+
+ @f.display_flow_item item
+
+ assert_equal " paragraph\n\n", @output.string
+ end
+
+ def test_display_flow_item_rule
+ item = RDoc::Markup::Flow::RULE.new 1
+
+ @f.display_flow_item item
+
+ assert_equal "#{'-' * 78}\n", @output.string
+ end
+
+ def test_display_flow_item_unknown
+ e = assert_raise RDoc::Error do
+ @f.display_flow_item Object.new
+ end
+
+ assert_equal "Unknown flow element: Object", e.message
+ end
+
+ def test_display_flow_item_verb
+ item = RDoc::Markup::Flow::VERB.new 'a b c'
+
+ @f.display_flow_item item
+
+ assert_equal " a b c\n\n", @output.string
+ end
+
+ def test_display_heading_1
+ @f.display_heading 'heading', 1, ' '
+
+ assert_equal "\nHEADING\n=======\n\n", @output.string
+ end
+
+ def test_display_heading_2
+ @f.display_heading 'heading', 2, ' '
+
+ assert_equal "\nheading\n-------\n\n", @output.string
+ end
+
+ def test_display_heading_3
+ @f.display_heading 'heading', 3, ' '
+
+ assert_equal " heading\n\n", @output.string
+ end
+
+ def test_display_list
+ list = RDoc::Markup::Flow::LIST.new :NUMBER
+ list << RDoc::Markup::Flow::LI.new(nil, 'a b c')
+ list << RDoc::Markup::Flow::LI.new(nil, 'd e f')
+
+ @f.display_list list
+
+ assert_equal " 1. a b c\n\n 2. d e f\n\n", @output.string
+ end
+
def test_display_list_bullet
- list = util_convert('* a b c').first
+ list = RDoc::Markup::Flow::LIST.new :BULLET
+ list << RDoc::Markup::Flow::LI.new(nil, 'a b c')
@f.display_list list
assert_equal " * a b c\n\n", @output.string
end
+ def test_display_heading_1
+ @f.display_heading 'heading', 1, ' '
+
+ assert_equal "\nHEADING\n=======\n\n", @output.string
+ end
+
+ def test_display_heading_2
+ @f.display_heading 'heading', 2, ' '
+
+ assert_equal "\nheading\n-------\n\n", @output.string
+ end
+
+ def test_display_heading_3
+ @f.display_heading 'heading', 3, ' '
+
+ assert_equal " heading\n\n", @output.string
+ end
+
+ def test_display_list
+ list = RDoc::Markup::Flow::LIST.new :NUMBER
+ list << RDoc::Markup::Flow::LI.new(nil, 'a b c')
+ list << RDoc::Markup::Flow::LI.new(nil, 'd e f')
+
+ @f.display_list list
+
+ assert_equal " 1. a b c\n\n 2. d e f\n\n", @output.string
+ end
+
+ def test_display_list_bullet
+ list = RDoc::Markup::Flow::LIST.new :BULLET
+ list << RDoc::Markup::Flow::LI.new(nil, 'a b c')
+
+ @f.display_list list
+
+ assert_equal " * a b c\n\n", @output.string
+ end
+
+ def test_display_list_labeled
+ list = RDoc::Markup::Flow::LIST.new :LABELED
+ list << RDoc::Markup::Flow::LI.new('label', 'a b c')
+
+ @f.display_list list
+
+ assert_equal " label a b c\n\n", @output.string
+ end
+
+ def test_display_list_lower_alpha
+ list = RDoc::Markup::Flow::LIST.new :LOWERALPHA
+ list << RDoc::Markup::Flow::LI.new(nil, 'a b c')
+
+ @f.display_list list
+
+ assert_equal " a. a b c\n\n", @output.string
+ end
+
+ def test_display_list_note
+ list = RDoc::Markup::Flow::LIST.new :NOTE
+ list << RDoc::Markup::Flow::LI.new('note:', 'a b c')
+
+ @f.display_list list
+
+ assert_equal " note: a b c\n\n", @output.string
+ end
+
+ def test_display_list_number
+ list = RDoc::Markup::Flow::LIST.new :NUMBER
+ list << RDoc::Markup::Flow::LI.new(nil, 'a b c')
+
+ @f.display_list list
+
+ assert_equal " 1. a b c\n\n", @output.string
+ end
+
def test_display_list_unknown
- list = util_convert('* a b c').first
- list.instance_variable_set :@type, :UNKNOWN
+ list = RDoc::Markup::Flow::LIST.new :UNKNOWN
+ list << RDoc::Markup::Flow::LI.new(nil, 'a b c')
e = assert_raise ArgumentError do
@f.display_list list
@@ -64,6 +233,23 @@ class TestRDocRIFormatter < Test::Unit::TestCase
assert_equal 'unknown list type UNKNOWN', e.message
end
+ def test_display_list_upper_alpha
+ list = RDoc::Markup::Flow::LIST.new :UPPERALPHA
+ list << RDoc::Markup::Flow::LI.new(nil, 'a b c')
+
+ @f.display_list list
+
+ assert_equal " A. a b c\n\n", @output.string
+ end
+
+ def test_display_verbatim_flow_item
+ verbatim = RDoc::Markup::Flow::VERB.new "a b c\nd e f"
+
+ @f.display_verbatim_flow_item verbatim
+
+ assert_equal " a b c\n d e f\n\n", @output.string
+ end
+
def test_draw_line
@f.draw_line
@@ -91,6 +277,46 @@ class TestRDocRIFormatter < Test::Unit::TestCase
assert_equal "a b c\n", @output.string
end
+ def test_strip_attributes_b
+ text = @f.strip_attributes 'hello <b>world</b>'
+
+ expected = 'hello world'
+
+ assert_equal expected, text
+ end
+
+ def test_strip_attributes_code
+ text = @f.strip_attributes 'hello <code>world</code>'
+
+ expected = 'hello world'
+
+ assert_equal expected, text
+ end
+
+ def test_strip_attributes_em
+ text = @f.strip_attributes 'hello <em>world</em>'
+
+ expected = 'hello world'
+
+ assert_equal expected, text
+ end
+
+ def test_strip_attributes_i
+ text = @f.strip_attributes 'hello <i>world</i>'
+
+ expected = 'hello world'
+
+ assert_equal expected, text
+ end
+
+ def test_strip_attributes_tt
+ text = @f.strip_attributes 'hello <tt>world</tt>'
+
+ expected = 'hello world'
+
+ assert_equal expected, text
+ end
+
def test_wrap_empty
@f.wrap ''
assert_equal '', @output.string
@@ -117,8 +343,5 @@ class TestRDocRIFormatter < Test::Unit::TestCase
assert_equal " a b c\n", @output.string
end
- def util_convert(text)
- @markup.convert text, @flow
- end
end
diff --git a/test/rdoc/test_rdoc_ri_overstrike_formatter.rb b/test/rdoc/test_rdoc_ri_overstrike_formatter.rb
new file mode 100644
index 0000000000..525c99f2cd
--- /dev/null
+++ b/test/rdoc/test_rdoc_ri_overstrike_formatter.rb
@@ -0,0 +1,61 @@
+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_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
+