diff options
author | Yusuke Endoh <mame@ruby-lang.org> | 2021-06-30 12:28:22 +0900 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2021-06-30 12:49:18 +0900 |
commit | f428ced69c70473b8405aae9c98828aa6f69b254 (patch) | |
tree | 9504ebbb01cc7333381c3fd06430c72f99fbbb3f /test/error_highlight | |
parent | db7e9b1aac7752259e60e09b92ea2d2e74b0886d (diff) | |
download | ruby-f428ced69c70473b8405aae9c98828aa6f69b254.tar.gz |
[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.rb | 21 |
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 |