summaryrefslogtreecommitdiff
path: root/spec/ruby/optional/capi/module_spec.rb
diff options
context:
space:
mode:
authorBenoit Daloze <eregontp@gmail.com>2021-02-27 13:00:26 +0100
committerBenoit Daloze <eregontp@gmail.com>2021-02-27 13:00:26 +0100
commit36dde35e029c7a6607e6c674062ce6fc7a51c0bd (patch)
tree47f9c820a93d5b9a68f7e903cc01ee607913e2dd /spec/ruby/optional/capi/module_spec.rb
parentdbea0be13dc1f44833eca43a73f3ab898fa27c15 (diff)
Update to ruby/spec@37e52e5
Diffstat (limited to 'spec/ruby/optional/capi/module_spec.rb')
-rw-r--r--spec/ruby/optional/capi/module_spec.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/spec/ruby/optional/capi/module_spec.rb b/spec/ruby/optional/capi/module_spec.rb
index 9a0c707263..750d64367d 100644
--- a/spec/ruby/optional/capi/module_spec.rb
+++ b/spec/ruby/optional/capi/module_spec.rb
@@ -246,11 +246,23 @@ describe "CApiModule" do
cls.new.test_method.should == :test_method
end
+ it "returns the correct arity of the method in class" do
+ cls = Class.new
+ @m.rb_define_method(cls, "test_method")
+ cls.new.method(:test_method).arity.should == 0
+ end
+
it "defines a method on a module" do
mod = Module.new
@m.rb_define_method(mod, "test_method")
mod.should have_instance_method(:test_method)
end
+
+ it "returns the correct arity of the method in module" do
+ mod = Module.new
+ @m.rb_define_method(mod, "test_method")
+ mod.instance_method(:test_method).arity.should == 0
+ end
end
describe "rb_define_module_function" do
@@ -263,12 +275,23 @@ describe "CApiModule" do
@mod.test_module_function.should == :test_method
end
+ it "returns the correct arity of the module function" do
+ @mod.method(:test_module_function).arity.should == 0
+ end
+
it "defines a private instance method" do
cls = Class.new
cls.include(@mod)
cls.should have_private_instance_method(:test_module_function)
end
+
+ it "returns the correct arity for private instance method" do
+ cls = Class.new
+ cls.include(@mod)
+
+ @mod.instance_method(:test_module_function).arity.should == 0
+ end
end
describe "rb_define_private_method" do