2018-03-04 10:09:32 -05:00
|
|
|
require_relative '../../spec_helper'
|
|
|
|
require_relative 'fixtures/classes'
|
2017-05-07 08:04:49 -04:00
|
|
|
|
|
|
|
describe "main#private" do
|
|
|
|
after :each do
|
|
|
|
Object.send(:public, :main_public_method)
|
|
|
|
end
|
|
|
|
|
2020-12-18 00:12:42 -05:00
|
|
|
it "sets the visibility of the given method to private" do
|
|
|
|
eval "private :main_public_method", TOPLEVEL_BINDING
|
|
|
|
Object.should have_private_method(:main_public_method)
|
2017-05-07 08:04:49 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
it "returns Object" do
|
|
|
|
eval("private :main_public_method", TOPLEVEL_BINDING).should equal(Object)
|
|
|
|
end
|
|
|
|
|
2020-12-18 00:12:42 -05:00
|
|
|
it "raises a NameError when given an undefined name" do
|
2019-07-27 06:40:09 -04:00
|
|
|
-> do
|
2020-12-18 00:12:42 -05:00
|
|
|
eval "private :main_undefined_method", TOPLEVEL_BINDING
|
2017-05-07 08:04:49 -04:00
|
|
|
end.should raise_error(NameError)
|
|
|
|
end
|
|
|
|
end
|