diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-07-03 12:23:48 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-07-03 12:23:48 +0000 |
commit | 6cdc9b6097ea907cdaf2f95c9e34f29676166046 (patch) | |
tree | 4972360c3e7407b1b5b464252ac9494e6e8fe92e | |
parent | fb2f8e0f728a13bafaf88ab90d5a0b409bd3590e (diff) |
merges r31997 from trunk into ruby_1_9_2.
--
* 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!!!
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@32379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | lib/rexml/formatters/pretty.rb | 2 | ||||
-rw-r--r-- | test/rexml/test_core.rb | 61 | ||||
-rw-r--r-- | version.h | 2 |
4 files changed, 72 insertions, 2 deletions
@@ -1,3 +1,12 @@ +Sat Jun 11 16:28:25 2011 Kouhei Sutou <kou@cozmixng.org> + + * 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:04:03 2011 Kouhei Sutou <kou@cozmixng.org> * lib/rexml/parsers/xpathparser.rb diff --git a/lib/rexml/formatters/pretty.rb b/lib/rexml/formatters/pretty.rb index 17d217d1dc..dc4e8026b0 100644 --- a/lib/rexml/formatters/pretty.rb +++ b/lib/rexml/formatters/pretty.rb @@ -88,7 +88,7 @@ module REXML 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 diff --git a/test/rexml/test_core.rb b/test/rexml/test_core.rb index 204be0fdff..b1f6332968 100644 --- a/test/rexml/test_core.rb +++ b/test/rexml/test_core.rb @@ -1151,6 +1151,67 @@ EOL 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 @@ -1,5 +1,5 @@ #define RUBY_VERSION "1.9.2" -#define RUBY_PATCHLEVEL 278 +#define RUBY_PATCHLEVEL 279 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1 |