[ruby/error_highlight] Support a file that has no final newline

https://github.com/ruby/error_highlight/commit/9d671284cb
This commit is contained in:
Yusuke Endoh 2021-07-13 16:53:52 +09:00 коммит произвёл git
Родитель 23c8bc367c
Коммит 5fd5d71a4b
2 изменённых файлов: 17 добавлений и 0 удалений

Просмотреть файл

@ -35,6 +35,7 @@ module ErrorHighlight
@fetch = -> (lineno, last_lineno = lineno) do
snippet = @node.script_lines[lineno - 1 .. last_lineno - 1].join("")
snippet += "\n" unless snippet.end_with?("\n")
# It require some work to support Unicode (or multibyte) characters.
# Tentatively, we stop highlighting if the code snippet has non-ascii characters.

Просмотреть файл

@ -1016,4 +1016,20 @@ _ _ ^^^^^
load tmp.path
end
end
def test_no_final_newline
tmp = Tempfile.new(["error_highlight_test", ".rb"])
tmp << "1.time {}"
tmp.close(false)
assert_error_message(NoMethodError, <<~END) do
undefined method `time' for 1:Integer
1.time {}
^^^^^
END
load tmp.path
end
end
end