[PRISM] Enable test_methoddef_endless_command

This commit is contained in:
Kevin Newton 2024-05-07 13:31:51 -04:00
parent 2bfc48755e
commit b4b39a6199
2 changed files with 10 additions and 3 deletions

View File

@ -1755,8 +1755,8 @@ eom
assert_equal("instance ok", k.new.rescued("ok"))
# Current technical limitation: cannot prepend "private" or something for command endless def
error = /syntax error, unexpected string literal/
error2 = /syntax error, unexpected local variable or method/
error = /(syntax error,|\^~*) unexpected string literal/
error2 = /(syntax error,|\^~*) unexpected local variable or method/
assert_syntax_error('private def foo = puts "Hello"', error)
assert_syntax_error('private def foo() = puts "Hello"', error)
assert_syntax_error('private def foo(x) = puts x', error2)

View File

@ -768,7 +768,14 @@ EOT
e = assert_raise(SyntaxError, mesg) do
syntax_check(src, fname, line)
end
assert_match(error, e.message, mesg)
# Prism adds ANSI escape sequences to syntax error messages to
# colorize and format them. We strip them out here to make them easier
# to match against in tests.
message = e.message
message.gsub!(/\e\[.*?m/, "")
assert_match(error, message, mesg)
e
end
end