[前][次][番号順一覧][スレッド一覧]

ruby-changes:25314

From: kou <ko1@a...>
Date: Sun, 28 Oct 2012 23:55:20 +0900 (JST)
Subject: [ruby-changes:25314] kou:r37366 (trunk): * test/rexml/test_document.rb: Add tests for parsing XML encoded

kou	2012-10-28 23:53:07 +0900 (Sun, 28 Oct 2012)

  New Revision: 37366

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=37366

  Log:
    * test/rexml/test_document.rb: Add tests for parsing XML encoded
      by UTF-8 with BOM.

  Modified files:
    trunk/ChangeLog
    trunk/test/rexml/test_document.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 37365)
+++ ChangeLog	(revision 37366)
@@ -1,3 +1,8 @@
+Sun Oct 28 23:52:25 2012  Kouhei Sutou  <kou@c...>
+
+	* test/rexml/test_document.rb: Add tests for parsing XML encoded
+	  by UTF-8 with BOM.
+
 Sun Oct 28 23:47:09 2012  Kouhei Sutou  <kou@c...>
 
 	* lib/rexml/source.rb: Move encoding detection code to base class.
Index: test/rexml/test_document.rb
===================================================================
--- test/rexml/test_document.rb	(revision 37365)
+++ test/rexml/test_document.rb	(revision 37366)
@@ -226,6 +226,16 @@
 
   class BomTest < self
     class HaveEncodingTest < self
+      def test_utf_8
+        xml = <<-EOX.force_encoding("ASCII-8BIT")
+<?xml version="1.0" encoding="UTF-8"?>
+<message>Hello world!</message>
+EOX
+        bom = "\ufeff".force_encoding("ASCII-8BIT")
+        document = REXML::Document.new(bom + xml)
+        assert_equal("UTF-8", document.encoding)
+      end
+
       def test_utf_16le
         xml = <<-EOX.encode("UTF-16LE").force_encoding("ASCII-8BIT")
 <?xml version="1.0" encoding="UTF-16"?>
@@ -248,6 +258,16 @@
     end
 
     class NoEncodingTest < self
+      def test_utf_8
+        xml = <<-EOX.force_encoding("ASCII-8BIT")
+<?xml version="1.0"?>
+<message>Hello world!</message>
+EOX
+        bom = "\ufeff".force_encoding("ASCII-8BIT")
+        document = REXML::Document.new(bom + xml)
+        assert_equal("UTF-8", document.encoding)
+      end
+
       def test_utf_16le
         xml = <<-EOX.encode("UTF-16LE").force_encoding("ASCII-8BIT")
 <?xml version="1.0"?>

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]