diff options
author | Tanaka Akira <[email protected]> | 2019-07-14 17:39:21 +0900 |
---|---|---|
committer | Tanaka Akira <[email protected]> | 2019-07-14 17:42:58 +0900 |
commit | 4d9504fe13c6470d9da74540f92a247e8c1d9b99 (patch) | |
tree | 557d834357439c28f7c4fc0de3f257c4192bbfdd | |
parent | 61577fa53bd1ce949912c3b1281668e0ccbcda37 (diff) |
Delegates 3 arguments for Pathname.glob.
Thanks for the patch by pocke (Masataka Kuwabara) [Feature #14405].
-rw-r--r-- | ext/pathname/pathname.c | 4 | ||||
-rw-r--r-- | test/pathname/test_pathname.rb | 11 |
2 files changed, 13 insertions, 2 deletions
diff --git a/ext/pathname/pathname.c b/ext/pathname/pathname.c index 9cf6c32039..70f82583a1 100644 --- a/ext/pathname/pathname.c +++ b/ext/pathname/pathname.c @@ -1092,10 +1092,10 @@ s_glob_i(RB_BLOCK_CALL_FUNC_ARGLIST(elt, klass)) static VALUE path_s_glob(int argc, VALUE *argv, VALUE klass) { - VALUE args[2]; + VALUE args[3]; int n; - n = rb_scan_args(argc, argv, "11", &args[0], &args[1]); + n = rb_scan_args(argc, argv, "12", &args[0], &args[1], &args[2]); if (rb_block_given_p()) { return rb_block_call(rb_cDir, id_glob, n, args, s_glob_i, klass); } diff --git a/test/pathname/test_pathname.rb b/test/pathname/test_pathname.rb index 8e6681232b..076a73e50b 100644 --- a/test/pathname/test_pathname.rb +++ b/test/pathname/test_pathname.rb @@ -1251,6 +1251,17 @@ class TestPathname < Test::Unit::TestCase } end + def test_s_glob_3args + with_tmpchdir('rubytest-pathname') {|dir| + open("f", "w") {|f| f.write "abc" } + Dir.chdir("/") { + assert_equal( + [Pathname("."), Pathname(".."), Pathname("f")], + Pathname.glob("*", File::FNM_DOTMATCH, base: dir).sort) + } + } + end + def test_s_getwd wd = Pathname.getwd assert_kind_of(Pathname, wd) |