summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--lib/rexml/doctype.rb10
-rw-r--r--test/rexml/test_doctype.rb40
3 files changed, 51 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 68e1bab457..2c2d5dab76 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Tue Dec 7 21:06:38 2010 Kouhei Sutou <kou@cozmixng.org>
+
+ * lib/rexml/doctype.rb, test/rexml/test_doctype.rb: suppress warnings.
+ [ruby-core:33305]
+ Reported by Aaron Patterson. Thanks!!!
+
Tue Dec 7 18:56:52 2010 NARUSE, Yui <naruse@ruby-lang.org>
* ext/nkf/lib/kconv.rb (String#kconv): fix typo and update rdoc.
diff --git a/lib/rexml/doctype.rb b/lib/rexml/doctype.rb
index 678095ae28..0b3c533bb4 100644
--- a/lib/rexml/doctype.rb
+++ b/lib/rexml/doctype.rb
@@ -248,11 +248,11 @@ module REXML
end
def to_s
- "<!NOTATION #@name #@middle#{
- @public ? ' ' + public.inspect : ''
- }#{
- @system ? ' ' +@system.inspect : ''
- }>"
+ notation = "<!NOTATION #{@name} #{@middle}"
+ notation << " #{@public.inspect}" if @public
+ notation << " #{@system.inspect}" if @system
+ notation << ">"
+ notation
end
def write( output, indent=-1 )
diff --git a/test/rexml/test_doctype.rb b/test/rexml/test_doctype.rb
index f40f833d07..20603f5378 100644
--- a/test/rexml/test_doctype.rb
+++ b/test/rexml/test_doctype.rb
@@ -65,3 +65,43 @@ class TestDocTypeAccessor < Test::Unit::TestCase
end
end
+
+class TestNotationDeclPublic < Test::Unit::TestCase
+ def setup
+ @name = "vrml"
+ @id = "VRML 1.0"
+ @uri = "http://www.web3d.org/"
+ end
+
+ def test_to_s
+ assert_equal("<!NOTATION #{@name} PUBLIC \"#{@id}\">",
+ decl(@id, nil).to_s)
+ end
+
+ def test_to_s_with_uri
+ assert_equal("<!NOTATION #{@name} PUBLIC \"#{@id}\" \"#{@uri}\">",
+ decl(@id, @uri).to_s)
+ end
+
+ private
+ def decl(id, uri)
+ REXML::NotationDecl.new(@name, "PUBLIC", id, uri)
+ end
+end
+
+class TestNotationDeclSystem < Test::Unit::TestCase
+ def setup
+ @name = "gif"
+ @id = "gif viewer"
+ end
+
+ def test_to_s
+ assert_equal("<!NOTATION #{@name} SYSTEM \"#{@id}\">",
+ decl(@id).to_s)
+ end
+
+ private
+ def decl(id)
+ REXML::NotationDecl.new(@name, "SYSTEM", id, nil)
+ end
+end