From 39d25ffd42fca5be777933f6f163c1a7d33e58d8 Mon Sep 17 00:00:00 2001 From: jmalves Date: Thu, 20 Oct 2016 15:08:33 +0300 Subject: [PATCH 1/2] MessageInterface support for invalid format string msg when params is empty --- lib/raven/interfaces/message.rb | 2 +- spec/raven/interface_spec.rb | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/raven/interfaces/message.rb b/lib/raven/interfaces/message.rb index 2b5fa5a89..2427893c1 100644 --- a/lib/raven/interfaces/message.rb +++ b/lib/raven/interfaces/message.rb @@ -10,7 +10,7 @@ def initialize(*arguments) end def unformatted_message - message % params + params.nil? ? message : message % params end def self.sentry_alias diff --git a/spec/raven/interface_spec.rb b/spec/raven/interface_spec.rb index a6cc4f597..e8b0b8dfd 100644 --- a/spec/raven/interface_spec.rb +++ b/spec/raven/interface_spec.rb @@ -24,3 +24,10 @@ class TestInterface < Raven::Interface expect(interface.to_hash).to eq(:some_attr => "test") end end + +describe Raven::MessageInterface do + it "supports invalid format string message when params is not defined" do + interface = Raven::MessageInterface.new(:message => "test '%'") + expect(interface.unformatted_message).to eq("test '%'") + end +end From 719e7b22f0cc56a3464a932f1edc6a1e09b8bc43 Mon Sep 17 00:00:00 2001 From: jmalves Date: Thu, 20 Oct 2016 15:45:28 +0300 Subject: [PATCH 2/2] Fixed missing params indefinition in MessageInterface spec --- spec/raven/interface_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/raven/interface_spec.rb b/spec/raven/interface_spec.rb index e8b0b8dfd..5f607eb4c 100644 --- a/spec/raven/interface_spec.rb +++ b/spec/raven/interface_spec.rb @@ -27,7 +27,7 @@ class TestInterface < Raven::Interface describe Raven::MessageInterface do it "supports invalid format string message when params is not defined" do - interface = Raven::MessageInterface.new(:message => "test '%'") + interface = Raven::MessageInterface.new(:params => nil, :message => "test '%'") expect(interface.unformatted_message).to eq("test '%'") end end