lib/h8/errors.rb in h8-0.4.10 vs lib/h8/errors.rb in h8-0.4.11

- old
+ new

@@ -8,20 +8,28 @@ # The general error caused by the script execution, e.g. uncaught javascript exceptinos and like. # Check #message to see the cause. class JsError < Error # Javascript Error object. May be nil - attr :javascript_error + attr :javascript_error, :origin_name, :origin_line, :origin_column # Error name def name @javascript_error.name ? @javascript_error.name : @message end # String that represents stack trace if any as multiline string (\n separated) def javascript_backtrace - @javascript_error ? @javascript_error.stack : @message + if @javascript_error + s = @javascript_error.stack + if s !~ /at\s+.*\d+/ + s += "\n\tat #{@origin_name}:#{@origin_line}:#{@origin_column}\n" + end + s + else + @message + end end def to_s javascript_backtrace end @@ -34,10 +42,10 @@ # Script execution is timed out (see H8::Context#eval timeout parameter) class TimeoutError < JsError def initialize message super @message = message - @source = nil + @source = nil end end end