summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-28 06:13:06 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-28 06:13:06 +0000
commit2a812650a8f315130224a27d6a0605962b75323f (patch)
tree7a9748eae025847e9b74246ed1d3357a3a1362a7
parentc3c58513d7ebb2c8396cf195b804bfc3e16e4871 (diff)
Move RDoc tests out of lib/
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--lib/rdoc/markup/simple_markup/inline.rb7
-rw-r--r--test/rdoc/test_simple_markup.rb (renamed from lib/rdoc/markup/test/TestParse.rb)367
-rw-r--r--test/rdoc/test_simple_markup_attribute_manager.rb (renamed from lib/rdoc/markup/test/TestInline.rb)63
4 files changed, 221 insertions, 220 deletions
diff --git a/ChangeLog b/ChangeLog
index 4493748245..e98bc7bde0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Fri Dec 28 15:12:05 2007 Eric Hodel <drbrain@segment7.net>
+
+ * lib/rdoc, test/rdoc: Move RDoc tests out of lib/.
+
Fri Dec 28 15:10:47 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* encoding.c (set_base_encoding, enc_base_encoding): renamed
diff --git a/lib/rdoc/markup/simple_markup/inline.rb b/lib/rdoc/markup/simple_markup/inline.rb
index 120d347be6..ec1faf13aa 100644
--- a/lib/rdoc/markup/simple_markup/inline.rb
+++ b/lib/rdoc/markup/simple_markup/inline.rb
@@ -81,7 +81,12 @@ module SM
end
def to_s
- "Special: type=#{type}, text=#{text.dump}"
+ "Special: type=#{type}, name=#{SM::Attribute.as_string type}, text=#{text.dump}"
+ end
+
+ def inspect
+ "#<SM::Special:0x%x @type=%p, name=%p @text=%p>" % [
+ object_id, @type, SM::Attribute.as_string(type), text.dump]
end
end
diff --git a/lib/rdoc/markup/test/TestParse.rb b/test/rdoc/test_simple_markup.rb
index 3ec541ce7a..89d66c9eb5 100644
--- a/lib/rdoc/markup/test/TestParse.rb
+++ b/test/rdoc/test_simple_markup.rb
@@ -1,18 +1,14 @@
require 'test/unit'
-
-$:.unshift "../../.."
-
require 'rdoc/markup/simple_markup'
-include SM
-
-class TestParse < Test::Unit::TestCase
+class TestSimpleMarkup < Test::Unit::TestCase
class MockOutput
+
def start_accepting
@res = []
- end
-
+ end
+
def end_accepting
@res
end
@@ -52,28 +48,21 @@ class TestParse < Test::Unit::TestCase
end
def basic_conv(str)
- sm = SimpleMarkup.new
+ sm = SM::SimpleMarkup.new
mock = MockOutput.new
sm.convert(str, mock)
sm.content
end
- def line_types(str, expected)
- p = SimpleMarkup.new
- mock = MockOutput.new
- p.convert(str, mock)
- assert_equal(expected, p.get_line_types.map{|type| type.to_s[0,1]}.join(''))
- end
-
def line_groups(str, expected)
- p = SimpleMarkup.new
+ p = SM::SimpleMarkup.new
mock = MockOutput.new
block = p.convert(str, mock)
if block != expected
rows = (0...([expected.size, block.size].max)).collect{|i|
- [expected[i]||"nil", block[i]||"nil"]
+ [expected[i]||"nil", block[i]||"nil"]
}
printf "\n\n%35s %35s\n", "Expected", "Got"
rows.each {|e,g| printf "%35s %35s\n", e.dump, g.dump }
@@ -82,120 +71,11 @@ class TestParse < Test::Unit::TestCase
assert_equal(expected, block)
end
- def test_tabs
- str = "hello\n dave"
- assert_equal(str, basic_conv(str))
- str = "hello\n\tdave"
- assert_equal("hello\n dave", basic_conv(str))
- str = "hello\n \tdave"
- assert_equal("hello\n dave", basic_conv(str))
- str = "hello\n \tdave"
- assert_equal("hello\n dave", basic_conv(str))
- str = "hello\n \tdave"
- assert_equal("hello\n dave", basic_conv(str))
- str = "hello\n \tdave"
- assert_equal("hello\n dave", basic_conv(str))
- str = "hello\n \tdave"
- assert_equal("hello\n dave", basic_conv(str))
- str = "hello\n \tdave"
- assert_equal("hello\n dave", basic_conv(str))
- str = "hello\n \tdave"
- assert_equal("hello\n dave", basic_conv(str))
- str = "hello\n \tdave"
- assert_equal("hello\n dave", basic_conv(str))
- str = ".\t\t."
- assert_equal(". .", basic_conv(str))
- end
-
- def test_whitespace
- assert_equal("hello", basic_conv("hello"))
- assert_equal("hello", basic_conv(" hello "))
- assert_equal("hello", basic_conv(" \t \t hello\t\t"))
-
- assert_equal("1\n 2\n 3", basic_conv("1\n 2\n 3"))
- assert_equal("1\n 2\n 3", basic_conv(" 1\n 2\n 3"))
-
- assert_equal("1\n 2\n 3\n1\n 2", basic_conv("1\n 2\n 3\n1\n 2"))
- assert_equal("1\n 2\n 3\n1\n 2", basic_conv(" 1\n 2\n 3\n 1\n 2"))
-
- assert_equal("1\n 2\n\n 3", basic_conv(" 1\n 2\n\n 3"))
- end
-
- def test_types
- str = "now is the time"
- line_types(str, 'P')
-
- str = "now is the time\nfor all good men"
- line_types(str, 'PP')
-
- str = "now is the time\n code\nfor all good men"
- line_types(str, 'PVP')
-
- str = "now is the time\n code\n more code\nfor all good men"
- line_types(str, 'PVVP')
-
- str = "now is\n---\nthe time"
- line_types(str, 'PRP')
-
- str = %{\
- now is
- * l1
- * l2
- the time}
- line_types(str, 'PLLP')
-
- str = %{\
- now is
- * l1
- l1+
- * l2
- the time}
- line_types(str, 'PLPLP')
-
- str = %{\
- now is
- * l1
- * l1.1
- * l2
- the time}
- line_types(str, 'PLLLP')
-
- str = %{\
- now is
- * l1
- * l1.1
- text
- code
- code
-
- text
- * l2
- the time}
- line_types(str, 'PLLPVVBPLP')
-
- str = %{\
- now is
- 1. l1
- * l1.1
- 2. l2
- the time}
- line_types(str, 'PLLLP')
-
- str = %{\
- now is
- [cat] l1
- * l1.1
- [dog] l2
- the time}
- line_types(str, 'PLLLP')
-
- str = %{\
- now is
- [cat] l1
- continuation
- [dog] l2
- the time}
- line_types(str, 'PLPLP')
+ def line_types(str, expected)
+ p = SM::SimpleMarkup.new
+ mock = MockOutput.new
+ p.convert(str, mock)
+ assert_equal(expected, p.get_line_types.map{|type| type.to_s[0,1]}.join(''))
end
def test_groups
@@ -347,8 +227,165 @@ class TestParse < Test::Unit::TestCase
"L1: ListEnd\n",
"L0: Paragraph\nthe time"
])
+ end
+
+ def test_headings
+ str = "= heading one"
+ line_groups(str,
+ [ "L0: Heading\nheading one"
+ ])
+
+ str = "=== heading three"
+ line_groups(str,
+ [ "L0: Heading\nheading three"
+ ])
+
+ str = "text\n === heading three"
+ line_groups(str,
+ [ "L0: Paragraph\ntext",
+ "L0: Verbatim\n === heading three\n"
+ ])
+
+ str = "text\n code\n === heading three"
+ line_groups(str,
+ [ "L0: Paragraph\ntext",
+ "L0: Verbatim\n code\n === heading three\n"
+ ])
+
+ str = "text\n code\n=== heading three"
+ line_groups(str,
+ [ "L0: Paragraph\ntext",
+ "L0: Verbatim\n code\n",
+ "L0: Heading\nheading three"
+ ])
-
+ end
+
+ def test_list_split
+ str = %{\
+ now is
+ * l1
+ 1. n1
+ 2. n2
+ * l2
+ the time}
+ line_groups(str,
+ [ "L0: Paragraph\nnow is",
+ "L1: ListStart\n",
+ "L1: ListItem\nl1",
+ "L1: ListEnd\n",
+ "L1: ListStart\n",
+ "L1: ListItem\nn1",
+ "L1: ListItem\nn2",
+ "L1: ListEnd\n",
+ "L1: ListStart\n",
+ "L1: ListItem\nl2",
+ "L1: ListEnd\n",
+ "L0: Paragraph\nthe time"
+ ])
+
+ end
+
+ def test_tabs
+ str = "hello\n dave"
+ assert_equal(str, basic_conv(str))
+ str = "hello\n\tdave"
+ assert_equal("hello\n dave", basic_conv(str))
+ str = "hello\n \tdave"
+ assert_equal("hello\n dave", basic_conv(str))
+ str = "hello\n \tdave"
+ assert_equal("hello\n dave", basic_conv(str))
+ str = "hello\n \tdave"
+ assert_equal("hello\n dave", basic_conv(str))
+ str = "hello\n \tdave"
+ assert_equal("hello\n dave", basic_conv(str))
+ str = "hello\n \tdave"
+ assert_equal("hello\n dave", basic_conv(str))
+ str = "hello\n \tdave"
+ assert_equal("hello\n dave", basic_conv(str))
+ str = "hello\n \tdave"
+ assert_equal("hello\n dave", basic_conv(str))
+ str = "hello\n \tdave"
+ assert_equal("hello\n dave", basic_conv(str))
+ str = ".\t\t."
+ assert_equal(". .", basic_conv(str))
+ end
+
+ def test_types
+ str = "now is the time"
+ line_types(str, 'P')
+
+ str = "now is the time\nfor all good men"
+ line_types(str, 'PP')
+
+ str = "now is the time\n code\nfor all good men"
+ line_types(str, 'PVP')
+
+ str = "now is the time\n code\n more code\nfor all good men"
+ line_types(str, 'PVVP')
+
+ str = "now is\n---\nthe time"
+ line_types(str, 'PRP')
+
+ str = %{\
+ now is
+ * l1
+ * l2
+ the time}
+ line_types(str, 'PLLP')
+
+ str = %{\
+ now is
+ * l1
+ l1+
+ * l2
+ the time}
+ line_types(str, 'PLPLP')
+
+ str = %{\
+ now is
+ * l1
+ * l1.1
+ * l2
+ the time}
+ line_types(str, 'PLLLP')
+
+ str = %{\
+ now is
+ * l1
+ * l1.1
+ text
+ code
+ code
+
+ text
+ * l2
+ the time}
+ line_types(str, 'PLLPVVBPLP')
+
+ str = %{\
+ now is
+ 1. l1
+ * l1.1
+ 2. l2
+ the time}
+ line_types(str, 'PLLLP')
+
+ str = %{\
+ now is
+ [cat] l1
+ * l1.1
+ [dog] l2
+ the time}
+ line_types(str, 'PLLLP')
+
+ str = %{\
+ now is
+ [cat] l1
+ continuation
+ [dog] l2
+ the time}
+ line_types(str, 'PLPLP')
end
def test_verbatim_merge
@@ -440,64 +477,20 @@ class TestParse < Test::Unit::TestCase
end
-
- def test_list_split
- str = %{\
- now is
- * l1
- 1. n1
- 2. n2
- * l2
- the time}
- line_groups(str,
- [ "L0: Paragraph\nnow is",
- "L1: ListStart\n",
- "L1: ListItem\nl1",
- "L1: ListEnd\n",
- "L1: ListStart\n",
- "L1: ListItem\nn1",
- "L1: ListItem\nn2",
- "L1: ListEnd\n",
- "L1: ListStart\n",
- "L1: ListItem\nl2",
- "L1: ListEnd\n",
- "L0: Paragraph\nthe time"
- ])
-
- end
-
- def test_headings
- str = "= heading one"
- line_groups(str,
- [ "L0: Heading\nheading one"
- ])
-
- str = "=== heading three"
- line_groups(str,
- [ "L0: Heading\nheading three"
- ])
-
- str = "text\n === heading three"
- line_groups(str,
- [ "L0: Paragraph\ntext",
- "L0: Verbatim\n === heading three\n"
- ])
+ def test_whitespace
+ assert_equal("hello", basic_conv("hello"))
+ assert_equal("hello", basic_conv(" hello "))
+ assert_equal("hello", basic_conv(" \t \t hello\t\t"))
- str = "text\n code\n === heading three"
- line_groups(str,
- [ "L0: Paragraph\ntext",
- "L0: Verbatim\n code\n === heading three\n"
- ])
+ assert_equal("1\n 2\n 3", basic_conv("1\n 2\n 3"))
+ assert_equal("1\n 2\n 3", basic_conv(" 1\n 2\n 3"))
- str = "text\n code\n=== heading three"
- line_groups(str,
- [ "L0: Paragraph\ntext",
- "L0: Verbatim\n code\n",
- "L0: Heading\nheading three"
- ])
+ assert_equal("1\n 2\n 3\n1\n 2", basic_conv("1\n 2\n 3\n1\n 2"))
+ assert_equal("1\n 2\n 3\n1\n 2", basic_conv(" 1\n 2\n 3\n 1\n 2"))
+ assert_equal("1\n 2\n\n 3", basic_conv(" 1\n 2\n\n 3"))
end
-
end
+
diff --git a/lib/rdoc/markup/test/TestInline.rb b/test/rdoc/test_simple_markup_attribute_manager.rb
index a067d4c24c..ebcaf8c89a 100644
--- a/lib/rdoc/markup/test/TestInline.rb
+++ b/test/rdoc/test_simple_markup_attribute_manager.rb
@@ -1,39 +1,38 @@
require "test/unit"
-
-$:.unshift "../../.."
-
require "rdoc/markup/simple_markup/inline"
-class TestInline < Test::Unit::TestCase
-
+class TestSimpleMarkupAttributeManager < Test::Unit::TestCase
def setup
@am = SM::AttributeManager.new
@bold_on = @am.changed_attribute_by_name([], [:BOLD])
@bold_off = @am.changed_attribute_by_name([:BOLD], [])
-
+
@tt_on = @am.changed_attribute_by_name([], [:TT])
@tt_off = @am.changed_attribute_by_name([:TT], [])
-
+
@em_on = @am.changed_attribute_by_name([], [:EM])
@em_off = @am.changed_attribute_by_name([:EM], [])
-
+
@bold_em_on = @am.changed_attribute_by_name([], [:BOLD] | [:EM])
@bold_em_off = @am.changed_attribute_by_name([:BOLD] | [:EM], [])
-
+
@em_then_bold = @am.changed_attribute_by_name([:EM], [:EM] | [:BOLD])
-
+
@em_to_bold = @am.changed_attribute_by_name([:EM], [:BOLD])
-
+
@am.add_word_pair("{", "}", :WOMBAT)
@wombat_on = @am.changed_attribute_by_name([], [:WOMBAT])
@wombat_off = @am.changed_attribute_by_name([:WOMBAT], [])
end
def crossref(text)
+ crossref_bitmap = SM::Attribute.bitmap_for(:_SPECIAL_) |
+ SM::Attribute.bitmap_for(:CROSSREF)
+
[ @am.changed_attribute_by_name([], [:CROSSREF] | [:_SPECIAL_]),
- SM::Special.new(33, text),
+ SM::Special.new(crossref_bitmap, text),
@am.changed_attribute_by_name([:CROSSREF] | [:_SPECIAL_], [])
]
end
@@ -44,9 +43,9 @@ class TestInline < Test::Unit::TestCase
\b([A-Z]\w+(::\w+)*)
| \#\w+[!?=]?
| \b\w+([_\/\.]+\w+)+[!?=]?
- )/x,
+ )/x,
:CROSSREF)
-
+
assert_equal(["cat"], @am.flow("cat"))
assert_equal(["cat ", crossref("#fred"), " dog"].flatten,
@@ -101,35 +100,33 @@ class TestInline < Test::Unit::TestCase
assert_equal(["cat ", @em_on, "and", @em_off, " ", @bold_on, "dog", @bold_off],
@am.flow("cat _and_ *dog*"))
- assert_equal(["cat ", @em_on, "a__nd", @em_off, " ", @bold_on, "dog", @bold_off],
+ assert_equal(["cat ", @em_on, "a__nd", @em_off, " ", @bold_on, "dog", @bold_off],
@am.flow("cat _a__nd_ *dog*"))
end
def test_html_like
assert_equal(["cat ", @tt_on, "dog", @tt_off], @am.flow("cat <tt>dog</Tt>"))
- assert_equal(["cat ", @em_on, "and", @em_off, " ", @bold_on, "dog", @bold_off],
+ assert_equal(["cat ", @em_on, "and", @em_off, " ", @bold_on, "dog", @bold_off],
@am.flow("cat <i>and</i> <B>dog</b>"))
-
- assert_equal(["cat ", @em_on, "and ", @em_then_bold, "dog", @bold_em_off],
+
+ assert_equal(["cat ", @em_on, "and ", @em_then_bold, "dog", @bold_em_off],
@am.flow("cat <i>and <B>dog</B></I>"))
-
- assert_equal(["cat ", @em_on, "and ", @em_to_bold, "dog", @bold_off],
+
+ assert_equal(["cat ", @em_on, "and ", @em_to_bold, "dog", @bold_off],
@am.flow("cat <i>and </i><b>dog</b>"))
-
- assert_equal(["cat ", @em_on, "and ", @em_to_bold, "dog", @bold_off],
+
+ assert_equal(["cat ", @em_on, "and ", @em_to_bold, "dog", @bold_off],
@am.flow("cat <i>and <b></i>dog</b>"))
-
- assert_equal([@tt_on, "cat", @tt_off, " ", @em_on, "and ", @em_to_bold, "dog", @bold_off],
+
+ assert_equal([@tt_on, "cat", @tt_off, " ", @em_on, "and ", @em_to_bold, "dog", @bold_off],
@am.flow("<tt>cat</tt> <i>and <b></i>dog</b>"))
- assert_equal(["cat ", @em_on, "and ", @em_then_bold, "dog", @bold_em_off],
+ assert_equal(["cat ", @em_on, "and ", @em_then_bold, "dog", @bold_em_off],
@am.flow("cat <i>and <b>dog</b></i>"))
-
- assert_equal(["cat ", @bold_em_on, "and", @bold_em_off, " dog"],
+
+ assert_equal(["cat ", @bold_em_on, "and", @bold_em_off, " dog"],
@am.flow("cat <i><b>and</b></i> dog"))
-
-
end
def test_protect
@@ -137,12 +134,12 @@ class TestInline < Test::Unit::TestCase
assert_equal(["cat <tt>dog</Tt>"], @am.flow("cat \\<tt>dog</Tt>"))
- assert_equal(["cat ", @em_on, "and", @em_off, " <B>dog</b>"],
+ assert_equal(["cat ", @em_on, "and", @em_off, " <B>dog</b>"],
@am.flow("cat <i>and</i> \\<B>dog</b>"))
-
+
assert_equal(["*word* or <b>text</b>"], @am.flow("\\*word* or \\<b>text</b>"))
- assert_equal(["_cat_", @em_on, "dog", @em_off],
+ assert_equal(["_cat_", @em_on, "dog", @em_off],
@am.flow("\\_cat_<i>dog</i>"))
end
@@ -151,4 +148,6 @@ class TestInline < Test::Unit::TestCase
@am.flow("cat {and} dog"))
# assert_equal(["cat {and} dog" ], @am.flow("cat \\{and} dog"))
end
+
end
+