summaryrefslogtreecommitdiff
path: root/test/rdoc/test_attribute_manager.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rdoc/test_attribute_manager.rb')
-rw-r--r--test/rdoc/test_attribute_manager.rb73
1 files changed, 73 insertions, 0 deletions
diff --git a/test/rdoc/test_attribute_manager.rb b/test/rdoc/test_attribute_manager.rb
new file mode 100644
index 0000000000..298eca0141
--- /dev/null
+++ b/test/rdoc/test_attribute_manager.rb
@@ -0,0 +1,73 @@
+require 'test/unit'
+require 'rdoc/markup/attribute_manager'
+
+class TestAttributeManager < Test::Unit::TestCase
+
+ def setup
+ @am = RDoc::Markup::AttributeManager.new
+ @klass = RDoc::Markup::AttributeManager
+ end
+
+ def teardown
+ silently do
+ @klass.const_set(:MATCHING_WORD_PAIRS, {})
+ @klass.const_set(:WORD_PAIR_MAP, {})
+ @klass.const_set(:HTML_TAGS, {})
+ end
+ end
+
+ def test_initial_word_pairs
+ word_pairs = @klass::MATCHING_WORD_PAIRS
+ assert word_pairs.is_a?(Hash)
+ assert_equal(3, word_pairs.size)
+ end
+
+ def test_initial_html
+ html_tags = @klass::HTML_TAGS
+ assert html_tags.is_a?(Hash)
+ assert_equal(5, html_tags.size)
+ end
+
+ def test_add_matching_word_pair
+ @am.add_word_pair("x","x", :TEST)
+ word_pairs = @klass::MATCHING_WORD_PAIRS
+ assert_equal(4,word_pairs.size)
+ assert(word_pairs.has_key?("x"))
+ end
+
+ def test_add_invalid_word_pair
+ assert_raise ArgumentError do
+ @am.add_word_pair("<", "<", :TEST)
+ end
+ end
+
+ def test_add_word_pair_map
+ @am.add_word_pair("x", "y", :TEST)
+ word_pair_map = @klass::WORD_PAIR_MAP
+ assert_equal(1,word_pair_map.size)
+ assert_equal(word_pair_map. keys.first.source, "(x)(\\S+)(y)")
+ end
+
+ def test_add_html_tag
+ @am.add_html("Test", :TEST)
+ tags = @klass::HTML_TAGS
+ assert_equal(6, tags.size)
+ assert(tags.has_key?("test"))
+ end
+
+ def test_add_special
+ @am.add_special("WikiWord", :WIKIWORD)
+ specials = @klass::SPECIAL
+ assert_equal(1,specials.size)
+ assert(specials.has_key?("WikiWord"))
+ end
+
+ def silently(&block)
+ warn_level = $VERBOSE
+ $VERBOSE = nil
+ result = block.call
+ $VERBOSE = warn_level
+ result
+ end
+
+end