1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

spec/ruby/core/module/attr_*: Add version guards

This commit is contained in:
Yusuke Endoh 2020-12-19 03:16:20 +09:00
parent 5944c4b3cf
commit 346bf0f5a5
4 changed files with 56 additions and 14 deletions

View file

@ -67,11 +67,21 @@ describe "Module#attr_accessor" do
Module.should have_public_instance_method(:attr_accessor, false) Module.should have_public_instance_method(:attr_accessor, false)
end end
ruby_version_is ""..."3.0" do
it "returns nil" do
Class.new do
(attr_accessor :foo, 'bar').should == nil
end
end
end
ruby_version_is "3.0" do
it "returns an array of defined methods names as symbols" do it "returns an array of defined methods names as symbols" do
Class.new do Class.new do
(attr_accessor :foo, 'bar').should == [:foo, :foo=, :bar, :bar=] (attr_accessor :foo, 'bar').should == [:foo, :foo=, :bar, :bar=]
end end
end end
end
describe "on immediates" do describe "on immediates" do
before :each do before :each do

View file

@ -62,9 +62,19 @@ describe "Module#attr_reader" do
Module.should have_public_instance_method(:attr_reader, false) Module.should have_public_instance_method(:attr_reader, false)
end end
ruby_version_is ""..."3.0" do
it "returns nil" do
Class.new do
(attr_reader :foo, 'bar').should == nil
end
end
end
ruby_version_is "3.0" do
it "returns an array of defined methods names as symbols" do it "returns an array of defined methods names as symbols" do
Class.new do Class.new do
(attr_reader :foo, 'bar').should == [:foo, :bar] (attr_reader :foo, 'bar').should == [:foo, :bar]
end end
end end
end
end end

View file

@ -146,6 +146,17 @@ describe "Module#attr" do
Module.should have_public_instance_method(:attr, false) Module.should have_public_instance_method(:attr, false)
end end
ruby_version_is ""..."3.0" do
it "returns nil" do
Class.new do
(attr :foo, 'bar').should == nil
(attr :baz, false).should == nil
(attr :qux, true).should == nil
end
end
end
ruby_version_is "3.0" do
it "returns an array of defined methods names as symbols" do it "returns an array of defined methods names as symbols" do
Class.new do Class.new do
(attr :foo, 'bar').should == [:foo, :bar] (attr :foo, 'bar').should == [:foo, :bar]
@ -153,4 +164,5 @@ describe "Module#attr" do
(attr :qux, true).should == [:qux, :qux=] (attr :qux, true).should == [:qux, :qux=]
end end
end end
end
end end

View file

@ -62,9 +62,19 @@ describe "Module#attr_writer" do
Module.should have_public_instance_method(:attr_writer, false) Module.should have_public_instance_method(:attr_writer, false)
end end
ruby_version_is ""..."3.0" do
it "returns nil" do
Class.new do
(attr_writer :foo, 'bar').should == nil
end
end
end
ruby_version_is "3.0" do
it "returns an array of defined methods names as symbols" do it "returns an array of defined methods names as symbols" do
Class.new do Class.new do
(attr_writer :foo, 'bar').should == [:foo=, :bar=] (attr_writer :foo, 'bar').should == [:foo=, :bar=]
end end
end end
end
end end