diff options
author | kazu <kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-03-25 14:42:36 +0000 |
---|---|---|
committer | kazu <kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-03-25 14:42:36 +0000 |
commit | 6df5f314ac7809e2aedc22a961cf31c4e3f21d42 (patch) | |
tree | b77d23e464ab684fbc4576b4f6cf8bcae4825927 | |
parent | 602a9c1416e0519f95c502ff13110e5dd08d199d (diff) | |
download | ruby-6df5f314ac7809e2aedc22a961cf31c4e3f21d42.tar.gz |
remove unnecessary unshift
* ext/pathname/lib/pathname.rb (Pathname#join): remove unnecessary unshift.
* test/pathname/test_pathname.rb (TestPathname#test_join): add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | ext/pathname/lib/pathname.rb | 3 | ||||
-rw-r--r-- | test/pathname/test_pathname.rb | 8 |
3 files changed, 16 insertions, 2 deletions
@@ -1,3 +1,10 @@ +Tue Mar 25 23:32:25 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> + + * ext/pathname/lib/pathname.rb (Pathname#join): remove unnecessary + unshift. + + * test/pathname/test_pathname.rb (TestPathname#test_join): add tests. + Tue Mar 25 16:47:36 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> * parse.y (lex_state_e, parser_params, f_arglist, parser_yylex): diff --git a/ext/pathname/lib/pathname.rb b/ext/pathname/lib/pathname.rb index 20c92e23dc..bbcb5e4e2a 100644 --- a/ext/pathname/lib/pathname.rb +++ b/ext/pathname/lib/pathname.rb @@ -384,7 +384,6 @@ class Pathname # #=> true # def join(*args) - args.unshift self result = args.pop result = Pathname.new(result) unless Pathname === result return result if result.absolute? @@ -393,7 +392,7 @@ class Pathname result = arg + result return result if result.absolute? } - result + self + result end # diff --git a/test/pathname/test_pathname.rb b/test/pathname/test_pathname.rb index ed79b5b8f5..94bd8d8872 100644 --- a/test/pathname/test_pathname.rb +++ b/test/pathname/test_pathname.rb @@ -234,6 +234,14 @@ class TestPathname < Test::Unit::TestCase def test_join r = Pathname("a").join(Pathname("b"), Pathname("c")) assert_equal(Pathname("a/b/c"), r) + r = Pathname("/a").join(Pathname("b"), Pathname("c")) + assert_equal(Pathname("/a/b/c"), r) + r = Pathname("/a").join(Pathname("/b"), Pathname("c")) + assert_equal(Pathname("/b/c"), r) + r = Pathname("/a").join(Pathname("/b"), Pathname("/c")) + assert_equal(Pathname("/c"), r) + r = Pathname("/a").join("/b", "/c") + assert_equal(Pathname("/c"), r) end def test_absolute |