Commit 4ef9066c47a1c2082feba39b874edc104e7ba435
1 parent
c4ef403a
Exists in
master
and in
1 other branch
Backtrace link should always default to plain text if in app repos aren't configured
Showing
3 changed files
with
28 additions
and
1 deletions
Show diff stats
app/helpers/backtrace_line_helper.rb
1 | 1 | module BacktraceLineHelper |
2 | 2 | def link_to_source_file(line, &block) |
3 | 3 | text = capture_haml(&block) |
4 | - line.in_app? ? link_to_in_app_source_file(line, text) : link_to_external_source_file(text) | |
4 | + link_to_in_app_source_file(line, text) || link_to_external_source_file(text) | |
5 | 5 | end |
6 | 6 | |
7 | 7 | private |
8 | 8 | def link_to_in_app_source_file(line, text) |
9 | + return unless line.in_app? | |
9 | 10 | link_to_repo_source_file(line, text) || link_to_issue_tracker_file(line, text) |
10 | 11 | end |
11 | 12 | ... | ... |
... | ... | @@ -0,0 +1,20 @@ |
1 | +require 'spec_helper' | |
2 | + | |
3 | +describe BacktraceLineHelper do | |
4 | + describe "in app lines" do | |
5 | + let(:notice) do | |
6 | + Fabricate.build(:notice, :backtrace => | |
7 | + Fabricate.build(:backtrace, :lines => [ | |
8 | + Fabricate.build(:backtrace_line, :file => "[PROJECT_ROOT]/path/to/asset.js") | |
9 | + ]) | |
10 | + ) | |
11 | + end | |
12 | + | |
13 | + describe '#link_to_source_file' do | |
14 | + it 'still returns text for in app file and line number when no repo is configured' do | |
15 | + result = link_to_source_file(notice.backtrace.lines.first) { haml_concat "link text" } | |
16 | + result.strip.should == 'link text' | |
17 | + end | |
18 | + end | |
19 | + end | |
20 | +end | ... | ... |
spec/spec_helper.rb
... | ... | @@ -28,6 +28,12 @@ RSpec.configure do |config| |
28 | 28 | DatabaseCleaner.clean |
29 | 29 | end |
30 | 30 | config.include WebMock::API |
31 | + | |
32 | + config.include Haml, :type => :helper | |
33 | + config.include Haml::Helpers, :type => :helper | |
34 | + config.before(:each, :type => :helper) do |config| | |
35 | + init_haml_helpers | |
36 | + end | |
31 | 37 | end |
32 | 38 | |
33 | 39 | OmniAuth.config.test_mode = true | ... | ... |