summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-11-03 04:46:06 +0000
committerkou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-11-03 04:46:06 +0000
commitbdbc8c5b74b0b17da710c9f174a920e4c8b3cb02 (patch)
tree0f1f1672dbc832dd5f95ce52f6a89019c141cbd0
parent4aca275e9c0778eafed9a54467e5446cebac48fe (diff)
Revert r37439 and r37441
r37439: * lib/rexml/xmldecl.rb (REXML::XMLDecl): Stop using REXML::Encoding module because XMLDecl doesn't convert encoding. This causes removing XML encoding name normalization (encoding.upcase). Encoding name in XML declaration is what user specifies. I think this is reasonable change. * test/rexml/test_xml_declaration.rb: Add tests for the above change. r37441: * test/rexml/test_core.rb (Tester#test_ticket_88): Follow the change that encoding name in XML declaration isn't normalized. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog14
-rw-r--r--lib/rexml/xmldecl.rb11
-rw-r--r--test/rexml/test_core.rb4
-rw-r--r--test/rexml/test_xml_declaration.rb12
4 files changed, 9 insertions, 32 deletions
diff --git a/ChangeLog b/ChangeLog
index eb9a344f96..d9f8676a4b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,11 +10,6 @@ Sat Nov 3 13:01:02 2012 Kouhei Sutou <kou@cozmixng.org>
Fix a test that expects encoding in XML declaration is changed by
Output's encoding. It is dropped feature.
-Sat Nov 3 12:54:13 2012 Kouhei Sutou <kou@cozmixng.org>
-
- * test/rexml/test_core.rb (Tester#test_ticket_88): Follow the
- change that encoding name in XML declaration isn't normalized.
-
Sat Nov 3 12:49:45 2012 Kouhei Sutou <kou@cozmixng.org>
* lib/rexml/document.rb (REXML::Document#write): Document encoding
@@ -25,15 +20,6 @@ Sat Nov 3 12:49:45 2012 Kouhei Sutou <kou@cozmixng.org>
encoding.
* test/rexml/test_document.rb: Update tests for the above change.
-Sat Nov 3 12:36:35 2012 Kouhei Sutou <kou@cozmixng.org>
-
- * lib/rexml/xmldecl.rb (REXML::XMLDecl): Stop using REXML::Encoding
- module because XMLDecl doesn't convert encoding. This causes
- removing XML encoding name normalization (encoding.upcase).
- Encoding name in XML declaration is what user specifies.
- I think this is reasonable change.
- * test/rexml/test_xml_declaration.rb: Add tests for the above change.
-
Sat Nov 3 12:18:35 2012 Masaki Matsushita <glass.saga@gmail.com>
* array.c (recursive_equal): fix not to make invalid pointers when
diff --git a/lib/rexml/xmldecl.rb b/lib/rexml/xmldecl.rb
index 783c9233dc..eac4b17971 100644
--- a/lib/rexml/xmldecl.rb
+++ b/lib/rexml/xmldecl.rb
@@ -4,6 +4,8 @@ require 'rexml/source'
module REXML
# NEEDS DOCUMENTATION
class XMLDecl < Child
+ include Encoding
+
DEFAULT_VERSION = "1.0";
DEFAULT_ENCODING = "UTF-8";
DEFAULT_STANDALONE = "no";
@@ -11,7 +13,7 @@ module REXML
STOP = '\?>';
attr_accessor :version, :standalone
- attr_reader :encoding, :writeencoding, :writethis
+ attr_reader :writeencoding, :writethis
def initialize(version=DEFAULT_VERSION, encoding=nil, standalone=nil)
@writethis = true
@@ -51,7 +53,7 @@ module REXML
def ==( other )
other.kind_of?(XMLDecl) and
other.version == @version and
- other.encoding.upcase == self.encoding.upcase and
+ other.encoding == self.encoding and
other.standalone == @standalone
end
@@ -66,13 +68,14 @@ module REXML
end
alias :stand_alone? :standalone
+ alias :old_enc= :encoding=
def encoding=( enc )
if enc.nil?
- @encoding = "UTF-8"
+ self.old_enc = "UTF-8"
@writeencoding = false
else
- @encoding = enc
+ self.old_enc = enc
@writeencoding = true
end
self.dowrite
diff --git a/test/rexml/test_core.rb b/test/rexml/test_core.rb
index bbc23d608c..e530cc16c6 100644
--- a/test/rexml/test_core.rb
+++ b/test/rexml/test_core.rb
@@ -1312,9 +1312,9 @@ EOL
def test_ticket_88
doc = REXML::Document.new("<?xml version=\"1.0\" encoding=\"shift_jis\"?>")
- assert_equal("<?xml version='1.0' encoding='shift_jis'?>", doc.to_s)
+ assert_equal("<?xml version='1.0' encoding='SHIFT_JIS'?>", doc.to_s)
doc = REXML::Document.new("<?xml version = \"1.0\" encoding = \"shift_jis\"?>")
- assert_equal("<?xml version='1.0' encoding='shift_jis'?>", doc.to_s)
+ assert_equal("<?xml version='1.0' encoding='SHIFT_JIS'?>", doc.to_s)
end
def test_ticket_85
diff --git a/test/rexml/test_xml_declaration.rb b/test/rexml/test_xml_declaration.rb
index 16427c7d1a..d58f9f08ba 100644
--- a/test/rexml/test_xml_declaration.rb
+++ b/test/rexml/test_xml_declaration.rb
@@ -31,16 +31,4 @@ class TestXmlDeclaration < Test::Unit::TestCase
assert_kind_of(REXML::XMLDecl, @root.previous_sibling.previous_sibling)
assert_kind_of(REXML::Element, @xml_declaration.next_sibling.next_sibling)
end
-
- def test_equal
- lower_encoding_xml_decl = REXML::XMLDecl.new("1.0", "utf-8")
- upper_encoding_xml_decl = REXML::XMLDecl.new("1.0", "UTF-8")
- assert_equal(lower_encoding_xml_decl, upper_encoding_xml_decl)
- end
-
- def test_encoding_is_not_normalized
- lower_encoding_xml_decl = REXML::XMLDecl.new("1.0", "utf-8")
- assert_equal("<?xml version='1.0' encoding='utf-8'?>",
- lower_encoding_xml_decl.to_s)
- end
end