From c9480161f269cfa6051ab4fa2ccc02483e81ca2e Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Fri, 19 Jan 2024 16:03:38 +0900 Subject: [PATCH] Do not include a backtick in error messages and backtraces [Feature #16495] --- test/test_error_highlight.rb | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/test/test_error_highlight.rb b/test/test_error_highlight.rb index 006ecb0..2095970 100644 --- a/test/test_error_highlight.rb +++ b/test/test_error_highlight.rb @@ -23,17 +23,31 @@ def teardown end end + begin + method_not_exist + rescue NameError + if $!.message.include?("`") + def preprocess(msg) + msg + end + else + def preprocess(msg) + msg.sub("`", "'") + end + end + end + if Exception.method_defined?(:detailed_message) def assert_error_message(klass, expected_msg, &blk) omit unless klass < ErrorHighlight::CoreExt err = assert_raise(klass, &blk) - assert_equal(expected_msg.chomp, err.detailed_message(highlight: false).sub(/ \((?:NoMethod|Name)Error\)/, "")) + assert_equal(preprocess(expected_msg).chomp, err.detailed_message(highlight: false).sub(/ \((?:NoMethod|Name)Error\)/, "")) end else def assert_error_message(klass, expected_msg, &blk) omit unless klass < ErrorHighlight::CoreExt err = assert_raise(klass, &blk) - assert_equal(expected_msg.chomp, err.message) + assert_equal(preprocess(expected_msg).chomp, err.message) end end