diff options
author | eregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-09-28 09:19:59 +0000 |
---|---|---|
committer | eregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-09-28 09:19:59 +0000 |
commit | 52d2636f3e7658f76136310359c2ba00e613d2bd (patch) | |
tree | 523a193924876ba20fe00debc3f45765fb21bd79 /spec/ruby/optional/capi | |
parent | c555bd7f01c531af8d33ed494b278a765381afd9 (diff) |
Update to ruby/spec@691755d
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'spec/ruby/optional/capi')
-rw-r--r-- | spec/ruby/optional/capi/ext/module_spec.c | 10 | ||||
-rw-r--r-- | spec/ruby/optional/capi/ext/rubyspec.h | 1 | ||||
-rw-r--r-- | spec/ruby/optional/capi/module_spec.rb | 10 |
3 files changed, 21 insertions, 0 deletions
diff --git a/spec/ruby/optional/capi/ext/module_spec.c b/spec/ruby/optional/capi/ext/module_spec.c index 275bc4da32..e408404a09 100644 --- a/spec/ruby/optional/capi/ext/module_spec.c +++ b/spec/ruby/optional/capi/ext/module_spec.c @@ -152,6 +152,12 @@ static VALUE module_specs_rbclass2name(VALUE self, VALUE klass) { } #endif +#ifdef HAVE_RB_MOD_ANCESTORS +static VALUE module_specs_rb_mod_ancestors(VALUE self, VALUE klass) { + return rb_mod_ancestors(klass); +} +#endif + void Init_module_spec(void) { VALUE cls; @@ -245,6 +251,10 @@ void Init_module_spec(void) { #ifdef HAVE_RB_CLASS2NAME rb_define_method(cls, "rb_class2name", module_specs_rbclass2name, 1); #endif + +#ifdef HAVE_RB_MOD_ANCESTORS + rb_define_method(cls, "rb_mod_ancestors", module_specs_rb_mod_ancestors, 1); +#endif } #ifdef __cplusplus diff --git a/spec/ruby/optional/capi/ext/rubyspec.h b/spec/ruby/optional/capi/ext/rubyspec.h index 8866e39af4..12c71d98b0 100644 --- a/spec/ruby/optional/capi/ext/rubyspec.h +++ b/spec/ruby/optional/capi/ext/rubyspec.h @@ -401,6 +401,7 @@ #define HAVE_RB_DEFINE_PRIVATE_METHOD 1 #define HAVE_RB_DEFINE_PROTECTED_METHOD 1 #define HAVE_RB_DEFINE_SINGLETON_METHOD 1 +#define HAVE_RB_MOD_ANCESTORS 1 #define HAVE_RB_UNDEF 1 #define HAVE_RB_UNDEF_METHOD 1 diff --git a/spec/ruby/optional/capi/module_spec.rb b/spec/ruby/optional/capi/module_spec.rb index 23fb674f0e..b3aeae4011 100644 --- a/spec/ruby/optional/capi/module_spec.rb +++ b/spec/ruby/optional/capi/module_spec.rb @@ -339,4 +339,14 @@ describe "CApiModule" do @m.rb_class2name(CApiModuleSpecs::M).should == "CApiModuleSpecs::M" end end + + describe "rb_mod_ancestors" do + it "returns an array of ancestors" do + one = Module.new + two = Module.new do + include one + end + @m.rb_mod_ancestors(two).should == [two, one] + end + end end |