diff --git a/lib/net/smtp.rb b/lib/net/smtp.rb index cca06e6..52db64e 100644 --- a/lib/net/smtp.rb +++ b/lib/net/smtp.rb @@ -33,16 +33,12 @@ module SMTPError def initialize(response, message: nil) if response.is_a?(::Net::SMTP::Response) @response = response - @message = message + super(message || response.message) else @response = nil - @message = message || response + super(message || response) end end - - def message - @message || response.message - end end # Represents an SMTP authentication error. diff --git a/test/net/smtp/test_response.rb b/test/net/smtp/test_response.rb index 3cf909a..6315db9 100644 --- a/test/net/smtp/test_response.rb +++ b/test/net/smtp/test_response.rb @@ -95,6 +95,14 @@ def test_default_exception res = Response.parse("250 omg fatal error") assert_equal Net::SMTPUnknownError, res.exception_class end + + def test_smtp_exception_uses_standard_exception_message + error = Net::SMTPFatalError.new("original") + replacement = error.exception("replacement") + + assert_equal "original", error.to_s + assert_equal "replacement", replacement.message + end end end end