2018-03-04 15:09:32 +00:00
|
|
|
require_relative '../../spec_helper'
|
2017-05-07 12:04:49 +00:00
|
|
|
|
|
|
|
describe "Regexp#initialize" do
|
|
|
|
it "is a private method" do
|
|
|
|
Regexp.should have_private_method(:initialize)
|
|
|
|
end
|
|
|
|
|
2020-09-15 21:54:31 +02:00
|
|
|
ruby_version_is ""..."3.0" do
|
2019-11-27 11:40:18 +00:00
|
|
|
it "raises a SecurityError on a Regexp literal" do
|
|
|
|
-> { //.send(:initialize, "") }.should raise_error(SecurityError)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-09-15 21:54:31 +02:00
|
|
|
ruby_version_is "3.0" do
|
2019-11-27 11:40:18 +00:00
|
|
|
it "raises a FrozenError on a Regexp literal" do
|
|
|
|
-> { //.send(:initialize, "") }.should raise_error(FrozenError)
|
|
|
|
end
|
2017-05-07 12:04:49 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
it "raises a TypeError on an initialized non-literal Regexp" do
|
2019-07-27 12:40:09 +02:00
|
|
|
-> { Regexp.new("").send(:initialize, "") }.should raise_error(TypeError)
|
2017-05-07 12:04:49 +00:00
|
|
|
end
|
|
|
|
end
|