fix Module#ancestors and update test

This commit is contained in:
skandhas
2013-04-25 11:17:34 +08:00
parent 4faaef437d
commit 8d778d9860
2 changed files with 6 additions and 2 deletions
+1 -1
View File
@@ -793,7 +793,7 @@ mrb_mod_ancestors(mrb_state *mrb, mrb_value self)
if (c->tt == MRB_TT_ICLASS) {
mrb_ary_push(mrb, result, mrb_obj_value(c->c));
}
else {
else if (c->tt != MRB_TT_SCLASS) {
mrb_ary_push(mrb, result, mrb_obj_value(c));
}
c = c->super;
+5 -1
View File
@@ -14,8 +14,12 @@ end
# TODO not implemented ATM assert('Module.nesting', '15.2.2.3.2') do
assert('Module#ancestors', '15.2.2.4.9') do
class Test4ModuleAncestors
end
sc = Test4ModuleAncestors.singleton_class
r = String.ancestors
r.class == Array and r.include?(String) and r.include?(Object)
r.class == Array and r.include?(String) and r.include?(Object) and
! sc.ancestors.include?(sc)
end
assert('Module#append_features', '15.2.2.4.10') do