summaryrefslogtreecommitdiff
path: root/test/error_highlight
diff options
context:
space:
mode:
authorYusuke Endoh <mame@ruby-lang.org>2021-06-30 12:28:22 +0900
committergit <svn-admin@ruby-lang.org>2021-06-30 12:49:18 +0900
commitf428ced69c70473b8405aae9c98828aa6f69b254 (patch)
tree9504ebbb01cc7333381c3fd06430c72f99fbbb3f /test/error_highlight
parentdb7e9b1aac7752259e60e09b92ea2d2e74b0886d (diff)
[ruby/error_highlight] Experimentally support a custom formatter
https://github.com/ruby/error_highlight/commit/f40a1de20e
Diffstat (limited to 'test/error_highlight')
-rw-r--r--test/error_highlight/test_error_highlight.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/error_highlight/test_error_highlight.rb b/test/error_highlight/test_error_highlight.rb
index f2a27aa6d5..a74c445938 100644
--- a/test/error_highlight/test_error_highlight.rb
+++ b/test/error_highlight/test_error_highlight.rb
@@ -981,4 +981,25 @@ nil can't be coerced into Integer
end
end
+
+ def test_custom_formatter
+ custom_formatter = Object.new
+ def custom_formatter.message_for(spot)
+ "\n\n" + spot.inspect
+ end
+
+ original_formatter, ErrorHighlight.formatter = ErrorHighlight.formatter, custom_formatter
+
+ assert_error_message(NoMethodError, <<~END) do
+undefined method `time' for 1:Integer
+
+{:first_lineno=>#{ __LINE__ + 3 }, :first_column=>7, :last_lineno=>#{ __LINE__ + 3 }, :last_column=>12, :snippet=>" 1.time {}\\n"}
+ END
+
+ 1.time {}
+ end
+
+ ensure
+ ErrorHighlight.formatter = original_formatter
+ end
end