From cb8d34855e7374f7a28b115f8d3a5e2020072f0e Mon Sep 17 00:00:00 2001 From: akr Date: Wed, 22 Feb 2006 12:18:58 +0000 Subject: [PATCH] * lib/pathname.rb (Pathname#each_filename): use split_names properly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ lib/pathname.rb | 3 ++- test/pathname/test_pathname.rb | 6 ++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 9064d78b92..acf017f056 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Wed Feb 22 21:16:55 2006 Tanaka Akira + + * lib/pathname.rb (Pathname#each_filename): use split_names properly. + Wed Feb 22 16:24:05 2006 NAKAMURA Usaku * test/webrick/test_cgi.rb: should support platforms which search diff --git a/lib/pathname.rb b/lib/pathname.rb index c81a70562b..87c496107c 100644 --- a/lib/pathname.rb +++ b/lib/pathname.rb @@ -492,7 +492,8 @@ class Pathname # # yields "usr", "bin", and "ruby". # def each_filename # :yield: s - split_names(@path).each {|filename| yield filename } + prefix, names = split_names(@path) + names.each {|filename| yield filename } end # Iterates over and yields a new Pathname object diff --git a/test/pathname/test_pathname.rb b/test/pathname/test_pathname.rb index 94ddbcd9cf..20351fa0f8 100644 --- a/test/pathname/test_pathname.rb +++ b/test/pathname/test_pathname.rb @@ -458,4 +458,10 @@ class TestPathname < Test::Unit::TestCase assert_equal(1, count) assert_equal(2, result) end + + def test_each_filename + result = [] + Pathname.new("/usr/bin/ruby").each_filename {|f| result << f } + assert_equal(%w[usr bin ruby], result) + end end