diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2019-04-05 22:17:34 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-04-05 22:17:34 +0900 |
| commit | 293a7b2a6eb49c0395203a00eac6cbbdb372632b (patch) | |
| tree | 9eb353fcbfe6db0f7ef4d31e2373fa5c99c1107c | |
| parent | f882b6908e4ac73a2fd59c0297c7f62e9bd01af5 (diff) | |
| parent | 623e15936a6c8b8ecaf9dca341be80c9316fd8be (diff) | |
| download | mruby-293a7b2a6eb49c0395203a00eac6cbbdb372632b.tar.gz mruby-293a7b2a6eb49c0395203a00eac6cbbdb372632b.zip | |
Merge pull request #4360 from shuujii/use-Module-alias_method-should-return-self-in-ISO-standard
`Module#alias_method` should return `self` in ISO standard
| -rw-r--r-- | src/class.c | 2 | ||||
| -rw-r--r-- | test/t/module.rb | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/class.c b/src/class.c index 5c5ee9d17..eaef787f7 100644 --- a/src/class.c +++ b/src/class.c @@ -1843,7 +1843,7 @@ mrb_mod_alias(mrb_state *mrb, mrb_value mod) mrb_get_args(mrb, "nn", &new_name, &old_name); mrb_alias_method(mrb, c, new_name, old_name); - return mrb_nil_value(); + return mod; } void diff --git a/test/t/module.rb b/test/t/module.rb index ec36855e8..da0f78fad 100644 --- a/test/t/module.rb +++ b/test/t/module.rb @@ -25,6 +25,17 @@ assert('Module', '15.2.2') do assert_equal Class, Module.class end +assert('Module#alias_method', '15.2.2.4.8') do + cls = Class.new do + def foo + "FOO" + end + end + + assert_same(cls, cls.alias_method(:bar, :foo)) + assert_equal("FOO", cls.new.bar) +end + # TODO not implemented ATM assert('Module.constants', '15.2.2.3.1') do assert('Module#ancestors', '15.2.2.4.9') do |
