summaryrefslogtreecommitdiff
path: root/spec/ruby/core/module/public_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/module/public_spec.rb')
-rw-r--r--spec/ruby/core/module/public_spec.rb25
1 files changed, 19 insertions, 6 deletions
diff --git a/spec/ruby/core/module/public_spec.rb b/spec/ruby/core/module/public_spec.rb
index e7059f6aa6..e3b183f228 100644
--- a/spec/ruby/core/module/public_spec.rb
+++ b/spec/ruby/core/module/public_spec.rb
@@ -27,12 +27,25 @@ describe "Module#public" do
:module_specs_private_method_on_object_for_kernel_public)
end
- it "returns self" do
- (class << Object.new; self; end).class_eval do
- def foo; end
- private :foo
- public(:foo).should equal(self)
- public.should equal(self)
+ ruby_version_is ""..."3.1" do
+ it "returns self" do
+ (class << Object.new; self; end).class_eval do
+ def foo; end
+ public(:foo).should equal(self)
+ public.should equal(self)
+ end
+ end
+ end
+
+ ruby_version_is "3.1" do
+ it "returns argument or arguments if given" do
+ (class << Object.new; self; end).class_eval do
+ def foo; end
+ public(:foo).should equal(:foo)
+ public([:foo, :foo]).should == [:foo, :foo]
+ public(:foo, :foo).should == [:foo, :foo]
+ public.should equal(nil)
+ end
end
end