From 23c8bc367c6d700789a4059b831606966efb674c Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Tue, 13 Jul 2021 16:47:35 +0900 Subject: [ruby/error_highlight] Support hard tabs Now, the highlight line is created by replacing non-tab characters with spaces, and keeping all hard tabs as-is. This means the highlight line has the completely same indentation as the code snippet line. Fixes #7 https://github.com/ruby/error_highlight/commit/38f20fa542 --- test/error_highlight/test_error_highlight.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'test/error_highlight') diff --git a/test/error_highlight/test_error_highlight.rb b/test/error_highlight/test_error_highlight.rb index c8effb7cd8..071b3bfd3e 100644 --- a/test/error_highlight/test_error_highlight.rb +++ b/test/error_highlight/test_error_highlight.rb @@ -1,6 +1,7 @@ require "test/unit" require "error_highlight" +require "tempfile" class ErrorHighlightTest < Test::Unit::TestCase class DummyFormatter @@ -999,4 +1000,20 @@ undefined method `time' for 1:Integer ensure ErrorHighlight.formatter = original_formatter end + + def test_hard_tabs + tmp = Tempfile.new(["error_highlight_test", ".rb"]) + tmp << "\t \t1.time {}\n" + tmp.close(false) + + assert_error_message(NoMethodError, <<~END.gsub("_", "\t")) do +undefined method `time' for 1:Integer + +_ _1.time {} +_ _ ^^^^^ + END + + load tmp.path + end + end end -- cgit v1.2.3