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

ruby-changes:19950

From: kou <ko1@a...>
Date: Sat, 11 Jun 2011 16:29:55 +0900 (JST)
Subject: [ruby-changes:19950] kou:r31997 (trunk): * lib/rexml/formatters/pretty.rb

kou	2011-06-11 16:29:48 +0900 (Sat, 11 Jun 2011)

  New Revision: 31997

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

  Log:
    * lib/rexml/formatters/pretty.rb
      (REXML::Formatters::Pretty#write_text),
      test/rexml/test_core.rb
      (Tester#test_pretty_format_long_text_finite): don't ignore
      'width' parameter in pretty formatter. fixes #4498
      Reported by Michael Frasca. Thanks!!!

  Modified files:
    trunk/ChangeLog
    trunk/lib/rexml/formatters/pretty.rb
    trunk/test/rexml/test_core.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 31996)
+++ ChangeLog	(revision 31997)
@@ -1,3 +1,12 @@
+Sat Jun 11 16:28:25 2011  Kouhei Sutou  <kou@c...>
+
+	* lib/rexml/formatters/pretty.rb
+	  (REXML::Formatters::Pretty#write_text),
+	  test/rexml/test_core.rb
+	  (Tester#test_pretty_format_long_text_finite): don't ignore
+	  'width' parameter in pretty formatter. fixes #4498
+	  Reported by Michael Frasca. Thanks!!!
+
 Sat Jun 11 16:11:36 2011  Kouhei Sutou  <kou@c...>
 
 	* test/rexml/test_core.rb
Index: lib/rexml/formatters/pretty.rb
===================================================================
--- lib/rexml/formatters/pretty.rb	(revision 31996)
+++ lib/rexml/formatters/pretty.rb	(revision 31997)
@@ -88,7 +88,7 @@
         s = node.to_s()
         s.gsub!(/\s/,' ')
         s.squeeze!(" ")
-        s = wrap(s, 80-@level)
+        s = wrap(s, @width - @level)
         s = indent_text(s, @level, " ", true)
         output << (' '*@level + s)
       end
Index: test/rexml/test_core.rb
===================================================================
--- test/rexml/test_core.rb	(revision 31996)
+++ test/rexml/test_core.rb	(revision 31997)
@@ -1153,6 +1153,67 @@
                  output)
   end
 
+  def test_pretty_format_deep_indent
+    n = 6
+    elements = ""
+    n.times do |i|
+      elements << "<element#{i}>"
+      elements << "element#{i} " * 5
+    end
+    (n - 1).downto(0) do |i|
+      elements << "</element#{i}>"
+    end
+    xml = "<doc>#{elements}</doc>"
+    document = REXML::Document.new(xml)
+    formatter = REXML::Formatters::Pretty.new
+    formatter.width = 20
+    output = ""
+    formatter.write(document, output)
+    assert_equal(<<-XML.strip, output)
+<doc>
+  <element0>
+    element0
+    element0
+    element0
+    element0
+    element0 
+    <element1>
+      element1
+      element1
+      element1
+      element1
+      element1 
+      <element2>
+        element2
+        element2
+        element2
+        element2
+        element2 
+        <element3>
+          element3
+          element3
+          element3
+          element3
+          element3 
+          <element4>
+            element4
+            element4
+            element4
+            element4
+            element4
+            
+            <element5>
+              element5 element5 element5 element5 element5 
+            </element5>
+          </element4>
+        </element3>
+      </element2>
+    </element1>
+  </element0>
+</doc>
+    XML
+  end
+
   def test_ticket_58
     doc = REXML::Document.new
     doc << REXML::XMLDecl.default

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

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