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
This commit is contained in:
Yukihiro "Matz" Matsumoto
2019-04-05 22:17:34 +09:00
committed by GitHub
2 changed files with 12 additions and 1 deletions
+1 -1
View File
@@ -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
+11
View File
@@ -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