https://github.com/ruby/prism/commit/231e965124
This commit is contained in:
parent
90b49024c0
commit
d5c3680a0c
@ -1422,6 +1422,39 @@ module Prism
|
|||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_while_endless_method
|
||||||
|
source = "while def f = g do end"
|
||||||
|
assert_errors expression(source), source, [
|
||||||
|
['Expected a predicate expression for the `while` statement', 22..22],
|
||||||
|
['Cannot parse the expression', 22..22],
|
||||||
|
['Expected an `end` to close the `while` statement', 22..22]
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_match_plus
|
||||||
|
source = <<~RUBY
|
||||||
|
a in b + c
|
||||||
|
a => b + c
|
||||||
|
RUBY
|
||||||
|
message1 = 'Expected a newline or semicolon after the statement'
|
||||||
|
message2 = 'Cannot parse the expression'
|
||||||
|
assert_errors expression(source), source, [
|
||||||
|
[message1, 6..6],
|
||||||
|
[message2, 6..6],
|
||||||
|
[message1, 17..17],
|
||||||
|
[message2, 17..17],
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_rational_number_with_exponential_portion
|
||||||
|
source = '1e1r; 1e1ri'
|
||||||
|
message = 'Expected a newline or semicolon after the statement'
|
||||||
|
assert_errors expression(source), source, [
|
||||||
|
[message, 3..3],
|
||||||
|
[message, 9..9]
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def assert_errors(expected, source, errors, compare_ripper: RUBY_ENGINE == "ruby")
|
def assert_errors(expected, source, errors, compare_ripper: RUBY_ENGINE == "ruby")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user