summaryrefslogtreecommitdiff
path: root/spec/ruby/core/string/shared/to_s.rb
blob: a5a13e4f26a9498bdc04c29f93e2e2bc7e121968 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
describe :string_to_s, shared: true do
  it "returns self when self.class == String" do
    a = "a string"
    a.should equal(a.send(@method))
  end

  it "returns a new instance of String when called on a subclass" do
    a = StringSpecs::MyString.new("a string")
    s = a.send(@method)
    s.should == "a string"
    s.should be_an_instance_of(String)
  end

  it "taints the result when self is tainted" do
    "x".taint.send(@method).tainted?.should == true
    StringSpecs::MyString.new("x").taint.send(@method).tainted?.should == true
  end
end