File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11PATH
22 remote: .
33 specs:
4- leopard (0.1.7 )
4+ leopard (0.2.1 )
55 concurrent-ruby (~> 1.1 )
66 dry-configurable (~> 1.3 )
77 dry-monads (~> 1.9 )
Original file line number Diff line number Diff line change 33module Rubyists
44 module Leopard
55 class LeopardError < StandardError
6+ def initialize ( ...)
7+ super
8+ set_backtrace ( caller )
9+ end
10+
611 def backtrace
712 super [ 0 ..3 ] + [ '... (truncated by Leopard)' ]
813 end
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ require 'helper'
4+ require 'leopard/errors'
5+
6+ describe 'Rubyists::Leopard::Errors' do
7+ def level1
8+ level2
9+ end
10+
11+ def level2
12+ level3
13+ end
14+
15+ def level3
16+ raise Rubyists ::Leopard ::Error , 'Error boom'
17+ end
18+
19+ it 'truncates backtrace to 5 items' do
20+ err = assert_raises ( Rubyists ::Leopard ::Error ) { level1 }
21+
22+ bt = err . backtrace
23+
24+ assert_equal 5 , bt . count
25+ assert_equal '... (truncated by Leopard)' , bt . last
26+ refute ( bt . any? { |line | line . include? ( "in 'level1'" ) } )
27+ end
28+ end
You can’t perform that action at this time.
0 commit comments