diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | lib/pathname.rb | 3 | ||||
-rw-r--r-- | test/pathname/test_pathname.rb | 6 |
3 files changed, 12 insertions, 1 deletions
@@ -1,3 +1,7 @@ +Wed Feb 22 21:16:55 2006 Tanaka Akira <akr@m17n.org> + + * lib/pathname.rb (Pathname#each_filename): use split_names properly. + Wed Feb 22 16:24:05 2006 NAKAMURA Usaku <usa@ruby-lang.org> * 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 |