diff options
Diffstat (limited to 'spec/ruby/core/exception/message_spec.rb')
-rw-r--r-- | spec/ruby/core/exception/message_spec.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/ruby/core/exception/message_spec.rb b/spec/ruby/core/exception/message_spec.rb new file mode 100644 index 0000000000..7eee6d99de --- /dev/null +++ b/spec/ruby/core/exception/message_spec.rb @@ -0,0 +1,27 @@ +require File.expand_path('../../../spec_helper', __FILE__) +require File.expand_path('../fixtures/common', __FILE__) + +describe "Exception#message" do + it "returns the class name if there is no message" do + Exception.new.message.should == "Exception" + end + + it "returns the message passed to #initialize" do + Exception.new("Ouch!").message.should == "Ouch!" + end + + it "calls #to_s on self" do + exc = ExceptionSpecs::OverrideToS.new("you won't see this") + exc.message.should == "this is from #to_s" + end + + context "when #backtrace is redefined" do + it "returns the Exception message" do + e = Exception.new + e.message.should == 'Exception' + + def e.backtrace; []; end + e.message.should == 'Exception' + end + end +end |