summaryrefslogtreecommitdiff
path: root/spec/ruby/core/exception/inspect_spec.rb
blob: 6f380a36c754cdb3e24c02eb4b420878e4b37d4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
require_relative '../../spec_helper'
require_relative 'fixtures/common'

describe "Exception#inspect" do
  it "returns '#<Exception: Exception>' when no message given" do
    Exception.new.inspect.should == "#<Exception: Exception>"
  end

  it "keeps message encoding" do
    Exception.new('å').inspect.should == "#<Exception: å>"
  end

  it "includes #to_s when the result is non-empty" do
    ExceptionSpecs::OverrideToS.new.inspect.should == "#<ExceptionSpecs::OverrideToS: this is from #to_s>"
  end

  it "returns the class name when #to_s returns an empty string" do
    ExceptionSpecs::EmptyToS.new.inspect.should == "ExceptionSpecs::EmptyToS"
  end

  it "returns the derived class name with a subclassed Exception" do
    ExceptionSpecs::UnExceptional.new.inspect.should == "#<ExceptionSpecs::UnExceptional: ExceptionSpecs::UnExceptional>"
  end
end