summaryrefslogtreecommitdiff
path: root/test/rexml/test_doctype.rb
diff options
context:
space:
mode:
authorkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-12-07 11:30:19 +0000
committerkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-12-07 11:30:19 +0000
commiteb20de889cd25999f0a2cd04337918150569b371 (patch)
tree7ce5424e59f3b0baec3b83cbe80299352b0d3366 /test/rexml/test_doctype.rb
parentfd019a5cbdb6c3dd3a96abe64c53f6918d07ff3a (diff)
* test/rexml/test_doctype_mixin.rb: rename to ...
* test/rexml/test_doctype.rb: ... this to remove needless name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rexml/test_doctype.rb')
-rw-r--r--test/rexml/test_doctype.rb67
1 files changed, 67 insertions, 0 deletions
diff --git a/test/rexml/test_doctype.rb b/test/rexml/test_doctype.rb
new file mode 100644
index 0000000000..78014bb5da
--- /dev/null
+++ b/test/rexml/test_doctype.rb
@@ -0,0 +1,67 @@
+#! /usr/local/bin/ruby
+
+
+require 'test/unit'
+require 'rexml/document'
+
+class TestDoctype < Test::Unit::TestCase
+
+ def setup
+ @sysid = "urn:x-test:sysid1"
+ @notid1 = "urn:x-test:notation1"
+ @notid2 = "urn:x-test:notation2"
+ document_string1 = <<-"XMLEND"
+ <!DOCTYPE r SYSTEM "#{@sysid}" [
+ <!NOTATION n1 SYSTEM "#{@notid1}">
+ <!NOTATION n2 SYSTEM "#{@notid2}">
+ ]>
+ <r/>
+ XMLEND
+ @doctype1 = REXML::Document.new(document_string1).doctype
+
+ @pubid = "TEST_ID"
+ document_string2 = <<-"XMLEND"
+ <!DOCTYPE r PUBLIC "#{@pubid}">
+ <r/>
+ XMLEND
+ @doctype2 = REXML::Document.new(document_string2).doctype
+
+ document_string3 = <<-"XMLEND"
+ <!DOCTYPE r PUBLIC "#{@pubid}" "#{@sysid}">
+ <r/>
+ XMLEND
+ @doctype3 = REXML::Document.new(document_string3).doctype
+
+ end
+
+ def test_public
+ assert_equal(nil, @doctype1.public)
+ assert_equal(@pubid, @doctype2.public)
+ assert_equal(@pubid, @doctype3.public)
+ end
+
+ def test_system
+ assert_equal(@sysid, @doctype1.system)
+ assert_equal(nil, @doctype2.system)
+ assert_equal(@sysid, @doctype3.system)
+ end
+
+ def test_notation
+ assert_equal(@notid1, @doctype1.notation("n1").system)
+ assert_equal(@notid2, @doctype1.notation("n2").system)
+ end
+
+ def test_notations
+ notations = @doctype1.notations
+ assert_equal(2, notations.length)
+ assert_equal(@notid1, find_notation(notations, "n1").system)
+ assert_equal(@notid2, find_notation(notations, "n2").system)
+ end
+
+ def find_notation(notations, name)
+ notations.find { |notation|
+ name == notation.name
+ }
+ end
+
+end