From: Vladimir Sizikov Date: 2009-12-07T17:47:38+09:00 Subject: [ruby-core:27082] Re: [Backport #2431] StringIO#{gets,readlines} with "" (paragraph mode) trims last "\n" Hi, On Sun, Dec 6, 2009 at 11:37 PM, NAKAMURA, Hiroshi wrote: > Would you please point the 6 tests? It must be helpful to discuss this issue. Sure thing. Here you go (today's latest RubySpecs used): #> mspec -t j library/stringio jruby 1.5.0.dev (ruby 1.8.7 patchlevel 174) (2009-12-06 6fd3279) (Java HotSpot(TM) Client VM 1.6.0_17) [x86-java] ............FF.......F.....F...........FF............... 1) StringIO#each_line when passed a separator yields each paragraph when passed an empty String as separator FAILED Expected ["para1\n\n", "para2\n\n", "para3"] to equal ["para1\n", "para2\n", "para3"] D:/work/jruby-dev/rubyspec.git/library/stringio/shared/each.rb:43 D:/work/jruby-dev/rubyspec.git/library/stringio/each_line_spec.rb:5 D:/work/jruby-dev/rubyspec.git/library/stringio/each_line_spec.rb:55:in `load' D:/work/jruby-dev/mspec.git/bin/mspec-run:8 2) StringIO#each when passed a separator yields each paragraph when passed an empty String as separator FAILED Expected ["para1\n\n", "para2\n\n", "para3"] to equal ["para1\n", "para2\n", "para3"] D:/work/jruby-dev/rubyspec.git/library/stringio/shared/each.rb:43 D:/work/jruby-dev/rubyspec.git/library/stringio/each_spec.rb:5 D:/work/jruby-dev/rubyspec.git/library/stringio/each_spec.rb:55:in `load' D:/work/jruby-dev/mspec.git/bin/mspec-run:8 3) StringIO#gets when passed [separator] returns the next paragraph when the passed separator is an empty String FAILED Expected "this is\n\n" to equal "this is\n" D:/work/jruby-dev/rubyspec.git/library/stringio/gets_spec.rb:42 D:/work/jruby-dev/rubyspec.git/library/stringio/gets_spec.rb:4 D:/work/jruby-dev/rubyspec.git/library/stringio/gets_spec.rb:55:in `load' D:/work/jruby-dev/mspec.git/bin/mspec-run:8 4) StringIO#lines when passed a separator yields each paragraph when passed an empty String as separator FAILED Expected ["para1\n\n", "para2\n\n", "para3"] to equal ["para1\n", "para2\n", "para3"] D:/work/jruby-dev/rubyspec.git/library/stringio/shared/each.rb:43 D:/work/jruby-dev/rubyspec.git/library/stringio/lines_spec.rb:6 D:/work/jruby-dev/rubyspec.git/library/stringio/lines_spec.rb:5 D:/work/jruby-dev/rubyspec.git/library/stringio/lines_spec.rb:55:in `load' D:/work/jruby-dev/mspec.git/bin/mspec-run:8 5) StringIO#readline when passed [separator] returns the next paragraph when the passed separator is an empty String FAILED Expected "this is\n\n" to equal "this is\n" D:/work/jruby-dev/rubyspec.git/library/stringio/readline_spec.rb:43 D:/work/jruby-dev/rubyspec.git/library/stringio/readline_spec.rb:5 D:/work/jruby-dev/rubyspec.git/library/stringio/readline_spec.rb:55:in `load' D:/work/jruby-dev/mspec.git/bin/mspec-run:8 6) StringIO#readlines when passed [separator] returns an Array containing all paragraphs when the passed separator is an empty String FAILED Expected ["this is\n\n", "an example"] to equal ["this is\n", "an example"] D:/work/jruby-dev/rubyspec.git/library/stringio/readlines_spec.rb:31 D:/work/jruby-dev/rubyspec.git/library/stringio/readlines_spec.rb:4 D:/work/jruby-dev/rubyspec.git/library/stringio/readlines_spec.rb:55:in `load' D:/work/jruby-dev/mspec.git/bin/mspec-run:8 Finished in 0.810000 seconds 56 files, 381 examples, 699 expectations, 6 failures, 0 errors Thanks, --Vladimir