Commit 024f7fe29023c07482e245a0c355f092abb51a5a

Authored by Glen Daniels
1 parent fabe99ad
Exists in master and in 1 other branch production

Protect against nil methods in BacktraceLineNormalizer, and test same.

app/models/backtrace_line_normalizer.rb
... ... @@ -13,7 +13,7 @@ class BacktraceLineNormalizer
13 13 end
14 14  
15 15 def normalized_method
16   - @raw_line['method'].gsub(/[0-9_]{10,}+/, "__FRAGMENT__")
  16 + @raw_line['method'].blank? ? "[unknown method]" : @raw_line['method'].gsub(/[0-9_]{10,}+/, "__FRAGMENT__")
17 17 end
18 18  
19 19 end
... ...
spec/models/backtrace_line_normalizer_spec.rb
... ... @@ -3,12 +3,16 @@ require 'spec_helper'
3 3 describe BacktraceLineNormalizer do
4 4 subject { described_class.new(raw_line).call }
5 5  
6   - describe "sanitize file" do
7   - let(:raw_line) { { 'number' => rand(999), 'file' => nil, 'method' => ActiveSupport.methods.shuffle.first.to_s } }
  6 + describe "sanitize file and method" do
  7 + let(:raw_line) { { 'number' => rand(999), 'file' => nil, 'method' => nil } }
8 8  
9 9 it "should replace nil file with [unknown source]" do
10 10 subject['file'].should == "[unknown source]"
11 11 end
12 12  
  13 + it "should replace nil method with [unknown method]" do
  14 + subject['method'].should == "[unknown method]"
  15 + end
  16 +
13 17 end
14 18 end
... ...