summaryrefslogtreecommitdiff
path: root/test/error_highlight
diff options
context:
space:
mode:
authorYusuke Endoh <mame@ruby-lang.org>2021-07-13 16:47:35 +0900
committergit <svn-admin@ruby-lang.org>2021-07-13 16:51:02 +0900
commit23c8bc367c6d700789a4059b831606966efb674c (patch)
tree1bf9d11d155292e6be55cf66a27043ad720973c9 /test/error_highlight
parentb18f6fff69c4a3904f6714ab107ba48745df42f7 (diff)
[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
Diffstat (limited to 'test/error_highlight')
-rw-r--r--test/error_highlight/test_error_highlight.rb17
1 files changed, 17 insertions, 0 deletions
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