diff options
author | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-03 04:46:06 +0000 |
---|---|---|
committer | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-03 04:46:06 +0000 |
commit | bdbc8c5b74b0b17da710c9f174a920e4c8b3cb02 (patch) | |
tree | 0f1f1672dbc832dd5f95ce52f6a89019c141cbd0 | |
parent | 4aca275e9c0778eafed9a54467e5446cebac48fe (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-- | ChangeLog | 14 | ||||
-rw-r--r-- | lib/rexml/xmldecl.rb | 11 | ||||
-rw-r--r-- | test/rexml/test_core.rb | 4 | ||||
-rw-r--r-- | test/rexml/test_xml_declaration.rb | 12 |
4 files changed, 9 insertions, 32 deletions
@@ -10,11 +10,6 @@ Sat Nov 3 13:01:02 2012 Kouhei Sutou <[email protected]> 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 <[email protected]> - - * 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 <[email protected]> * lib/rexml/document.rb (REXML::Document#write): Document encoding @@ -25,15 +20,6 @@ Sat Nov 3 12:49:45 2012 Kouhei Sutou <[email protected]> encoding. * test/rexml/test_document.rb: Update tests for the above change. -Sat Nov 3 12:36:35 2012 Kouhei Sutou <[email protected]> - - * 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 <[email protected]> * 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 |