# frozen_string_literal: true require "abstract_unit" class TemplateErrorTest < ActiveSupport::TestCase def test_provides_original_message error = begin raise Exception.new("original") rescue Exception raise ActionView::Template::Error.new("test") rescue $! end assert_equal "original", error.message end def test_provides_original_backtrace error = begin original_exception = Exception.new original_exception.set_backtrace(%W[ foo bar baz ]) raise original_exception rescue Exception raise ActionView::Template::Error.new("test") rescue $! end assert_equal %W[ foo bar baz ], error.backtrace end def test_provides_useful_inspect error = begin raise Exception.new("original") rescue Exception raise ActionView::Template::Error.new("test") rescue $! end assert_equal "#", error.inspect end def test_annotated_source_code_returns_empty_array_if_source_cant_be_found template = Class.new do def identifier "something" end end.new error = begin raise rescue raise ActionView::Template::Error.new(template) rescue $! end assert_equal [], error.annotated_source_code end end