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