summaryrefslogtreecommitdiff
path: root/test/ripper/test_lexer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/ripper/test_lexer.rb')
-rw-r--r--test/ripper/test_lexer.rb31
1 files changed, 16 insertions, 15 deletions
diff --git a/test/ripper/test_lexer.rb b/test/ripper/test_lexer.rb
index 910048b28c..f8e751da53 100644
--- a/test/ripper/test_lexer.rb
+++ b/test/ripper/test_lexer.rb
@@ -146,18 +146,19 @@ class TestRipper::Lexer < Test::Unit::TestCase
assert_equal [[1, 17], :on_embexpr_end, "}", state(:EXPR_ARG)], token
end
- BAD_CODE = {
- parse_error: ['def req(true) end', %r[unexpected `true'], 'true'],
- assign_error: ['begin; nil = 1; end', %r[assign to nil], 'nil'],
- alias_error: ['begin; alias $x $1; end', %r[number variables], '$1'],
- class_name_error: ['class bad; end', %r[class/module name], 'bad'],
- param_error: ['def req(@a) end', %r[formal argument.*instance], '@a'],
- }
+ BAD_CODE = [
+ [:parse_error, 'def req(true) end', %r[unexpected `true'], 'true'],
+ [:assign_error, 'begin; nil = 1; end', %r[assign to nil], 'nil'],
+ [:alias_error, 'begin; alias $x $1; end', %r[number variables], '$1'],
+ [:class_name_error, 'class bad; end', %r[class/module name], 'bad'],
+ [:param_error, 'def req(@a) end', %r[formal argument.*instance], '@a'],
+ [:param_error, 'def req(a?:) end', %r[formal argument must.*local], 'a?'],
+ ]
def test_raise_errors_keyword
all_assertions do |all|
- BAD_CODE.each do |err, (code, message)|
- all.for(err) do
+ BAD_CODE.each do |(err, code, message)|
+ all.for([err, code]) do
assert_raise_with_message(SyntaxError, message) { Ripper.tokenize(code, raise_errors: true) }
end
end
@@ -166,8 +167,8 @@ class TestRipper::Lexer < Test::Unit::TestCase
def test_tokenize_with_syntax_error
all_assertions do |all|
- BAD_CODE.each do |err, (code)|
- all.for(err) do
+ BAD_CODE.each do |(err, code)|
+ all.for([err, code]) do
assert_equal "end", Ripper.tokenize(code).last
end
end
@@ -176,8 +177,8 @@ class TestRipper::Lexer < Test::Unit::TestCase
def test_lex_with_syntax_error
all_assertions do |all|
- BAD_CODE.each do |err, (code)|
- all.for(err) do
+ BAD_CODE.each do |(err, code)|
+ all.for([err, code]) do
assert_equal [[1, code.size-3], :on_kw, "end", state(:EXPR_END)], Ripper.lex(code).last
end
end
@@ -186,8 +187,8 @@ class TestRipper::Lexer < Test::Unit::TestCase
def test_lexer_scan_with_syntax_error
all_assertions do |all|
- BAD_CODE.each do |err, (code, message, token)|
- all.for(err) do
+ BAD_CODE.each do |(err, code, message, token)|
+ all.for([err, code]) do
lexer = Ripper::Lexer.new(code)
elems = lexer.scan
assert_predicate lexer, :error?