Class: ExceptionState
Constant Summary collapse
- PATH =
/#{File.(File.dirname(__FILE__) + '/../../..')}/
Instance Attribute Summary collapse
-
#describe ⇒ Object
readonly
Returns the value of attribute describe.
-
#description ⇒ Object
readonly
Returns the value of attribute description.
-
#exception ⇒ Object
readonly
Returns the value of attribute exception.
-
#it ⇒ Object
readonly
Returns the value of attribute it.
Instance Method Summary collapse
- #backtrace ⇒ Object
- #failure? ⇒ Boolean
-
#initialize(state, location, exception) ⇒ ExceptionState
constructor
A new instance of ExceptionState.
- #message ⇒ Object
Constructor Details
#initialize(state, location, exception) ⇒ ExceptionState
Returns a new instance of ExceptionState.
6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/mspec/runner/exception.rb', line 6 def initialize(state, location, exception) @exception = exception @description = location ? "An exception occurred during: #{location}" : "" if state @description << "\n" unless @description.empty? @description << state.description @describe = state.describe @it = state.it else @describe = @it = "" end end |
Instance Attribute Details
#describe ⇒ Object (readonly)
Returns the value of attribute describe.
2 3 4 |
# File 'lib/mspec/runner/exception.rb', line 2 def describe @describe end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
2 3 4 |
# File 'lib/mspec/runner/exception.rb', line 2 def description @description end |
#exception ⇒ Object (readonly)
Returns the value of attribute exception.
2 3 4 |
# File 'lib/mspec/runner/exception.rb', line 2 def exception @exception end |
#it ⇒ Object (readonly)
Returns the value of attribute it.
2 3 4 |
# File 'lib/mspec/runner/exception.rb', line 2 def it @it end |
Instance Method Details
#backtrace ⇒ Object
35 36 37 38 39 40 41 42 |
# File 'lib/mspec/runner/exception.rb', line 35 def backtrace begin bt = @exception.awesome_backtrace.show.split "\n" rescue Exception bt = @exception.backtrace || [] end bt.reject { |line| PATH =~ line }.join("\n") end |
#failure? ⇒ Boolean
20 21 22 |
# File 'lib/mspec/runner/exception.rb', line 20 def failure? [ExpectationNotMetError, ExpectationNotFoundError].any? { |e| @exception.is_a? e } end |
#message ⇒ Object
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/mspec/runner/exception.rb', line 24 def if @exception..empty? "<No message>" elsif @exception.class == ExpectationNotMetError || @exception.class == ExpectationNotFoundError @exception. else "#{@exception.class}: #{@exception.}" end end |