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 "Kernel#inspect" do
|
|
|
|
it "returns a String" do
|
|
|
|
Object.new.inspect.should be_an_instance_of(String)
|
|
|
|
end
|
|
|
|
|
2019-09-24 23:59:12 -04:00
|
|
|
ruby_version_is ''...'2.7' do
|
|
|
|
it "returns a tainted string if self is tainted" do
|
|
|
|
Object.new.taint.inspect.tainted?.should be_true
|
|
|
|
end
|
2017-05-07 08:04:49 -04:00
|
|
|
|
2019-09-24 23:59:12 -04:00
|
|
|
it "returns an untrusted string if self is untrusted" do
|
|
|
|
Object.new.untrust.inspect.untrusted?.should be_true
|
|
|
|
end
|
2017-05-07 08:04:49 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
it "does not call #to_s if it is defined" do
|
|
|
|
# We must use a bare Object here
|
|
|
|
obj = Object.new
|
|
|
|
inspected = obj.inspect
|
|
|
|
|
|
|
|
obj.stub!(:to_s).and_return("to_s'd")
|
|
|
|
|
|
|
|
obj.inspect.should == inspected
|
|
|
|
end
|
|
|
|
|
|
|
|
it "returns a String with the object class and object_id encoded" do
|
|
|
|
obj = Object.new
|
|
|
|
obj.inspect.should =~ /^#<Object:0x[0-9a-f]+>$/
|
|
|
|
end
|
|
|
|
end
|