@@ -26,7 +26,7 @@ def test_else_without_rescue
26
26
end
27
27
28
28
def test_alias_backref
29
- assert_syntax_error ( "#{ <<~"begin;" } \n #{ <<~'end;' } " , /can't make alias/ ) do
29
+ assert_syntax_error ( "#{ <<~"begin;" } \n #{ <<~'end;' } " , /can't make alias|invalid argument being passed to `alias` / ) do
30
30
begin;
31
31
alias $foo $1
32
32
end;
@@ -84,7 +84,7 @@ class << o
84
84
assert_equal ( [ 42 , 42 ] , [ o . Foo , o . Bar ] )
85
85
assert_equal ( [ 42 , 42 ] , [ o ::baz , o ::qux ] )
86
86
87
- assert_syntax_error ( "#{ <<~"begin;" } \n #{ <<~'end;' } " , /Can't set variable/ ) do
87
+ assert_syntax_error ( "#{ <<~"begin;" } \n #{ <<~'end;' } " , /Can't set variable|immutable variable as a write target / ) do
88
88
begin;
89
89
$1 ||= t.foo 42
90
90
end;
@@ -192,13 +192,13 @@ def foo
192
192
end
193
193
194
194
def test_class_module
195
- assert_syntax_error ( "#{ <<~"begin;" } \n #{ <<~'end;' } " , /must be CONSTANT/ ) do
195
+ assert_syntax_error ( "#{ <<~"begin;" } \n #{ <<~'end;' } " , /must be CONSTANT|expected a constant name / ) do
196
196
begin;
197
197
class foo; end
198
198
end;
199
199
end
200
200
201
- assert_syntax_error ( "#{ <<~"begin;" } \n #{ <<~'end;' } " , /in method body/ ) do
201
+ assert_syntax_error ( "#{ <<~"begin;" } \n #{ <<~'end;' } " , /in method body|unexpected class definition in a method definition / ) do
202
202
begin;
203
203
def foo
204
204
class Foo; end
@@ -294,7 +294,7 @@ def foo(@@foo); end
294
294
end;
295
295
end
296
296
297
- assert_syntax_error ( "#{ <<~"begin;" } \n #{ <<~'end;' } " , /cannot be an instance variable/ ) do
297
+ assert_syntax_error ( "#{ <<~"begin;" } \n #{ <<~'end;' } " , /cannot be an instance variable|expected a local variable name in the block parameters / ) do
298
298
begin;
299
299
o.foo {|; @a| @a = 42 }
300
300
end;
@@ -377,10 +377,10 @@ def test_dsym
377
377
378
378
def assert_disallowed_variable ( type , noname , invalid )
379
379
noname . each do |name |
380
- assert_syntax_error ( "proc{a = #{ name } }" , " `#{ noname [ 0 ] } ' without identifiers is not allowed as #{ type } variable name" )
380
+ assert_syntax_error ( "proc{a = #{ name } }" , / `#{ noname [ 0 ] } ' without identifiers is not allowed as #{ type } variable name|invalid global variable/ )
381
381
end
382
382
invalid . each do |name |
383
- assert_syntax_error ( "proc {a = #{ name } }" , " `#{ name } ' is not allowed as #{ type } variable name" )
383
+ assert_syntax_error ( "proc {a = #{ name } }" , / `#{ name } ' is not allowed as #{ type } variable name|invalid global variable/ )
384
384
end
385
385
end
386
386
@@ -438,13 +438,13 @@ def test_duplicate_argument
438
438
end;
439
439
end
440
440
441
- assert_syntax_error ( "#{ <<~"begin;" } \n #{ <<~'end;' } " , /duplicated argument/ ) do
441
+ assert_syntax_error ( "#{ <<~"begin;" } \n #{ <<~'end;' } " , /duplicated argument|repeated parameter name / ) do
442
442
begin;
443
443
1.times {|a, a|}
444
444
end;
445
445
end
446
446
447
- assert_syntax_error ( "#{ <<~"begin;" } \n #{ <<~'end;' } " , /duplicated argument/ ) do
447
+ assert_syntax_error ( "#{ <<~"begin;" } \n #{ <<~'end;' } " , /duplicated argument|repeated parameter name / ) do
448
448
begin;
449
449
def foo(a, a); end
450
450
end;
@@ -611,12 +611,12 @@ def test_question
611
611
612
612
def test_percent
613
613
assert_equal ( :foo , eval ( '%s(foo)' ) )
614
- assert_syntax_error ( '%s' , /unterminated quoted string/ )
615
- assert_syntax_error ( '%ss' , /unknown type/ )
616
- assert_syntax_error ( '%z()' , /unknown type/ )
617
- assert_syntax_error ( "%\u3042 " , /unknown type/ )
618
- assert_syntax_error ( "%q\u3042 " , /unknown type/ )
619
- assert_syntax_error ( "%" , /unterminated quoted string/ )
614
+ assert_syntax_error ( '%s' , /unterminated quoted string|expected a closing delimiter for the dynamic symbol / )
615
+ assert_syntax_error ( '%ss' , /unknown type|invalid `%` token / )
616
+ assert_syntax_error ( '%z()' , /unknown type|invalid `%` token / )
617
+ assert_syntax_error ( "%\u3042 " , /unknown type|invalid `%` token / )
618
+ assert_syntax_error ( "%q\u3042 " , /unknown type|invalid `%` token / )
619
+ assert_syntax_error ( "%" , /unterminated quoted string|invalid `%` token / )
620
620
end
621
621
622
622
def test_symbol
@@ -643,7 +643,7 @@ def test_symbol
643
643
end
644
644
645
645
def test_parse_string
646
- assert_syntax_error ( "/\n " , /unterminated/ )
646
+ assert_syntax_error ( "/\n " , /unterminated|expected a closing delimiter for the regular expression / )
647
647
end
648
648
649
649
def test_here_document
@@ -817,7 +817,7 @@ def test_block_dup
817
817
end
818
818
819
819
def test_set_backref
820
- assert_syntax_error ( "$& = 1" , /Can't set variable/ )
820
+ assert_syntax_error ( "$& = 1" , /Can't set variable|immutable variable as a write target / )
821
821
end
822
822
823
823
def test_arg_concat
@@ -1111,7 +1111,7 @@ def test_heredoc_interpolation
1111
1111
end
1112
1112
1113
1113
def test_unexpected_token_error
1114
- assert_syntax_error ( '"x"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' , /unexpected/ )
1114
+ assert_syntax_error ( '"x"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' , /unexpected|expected a newline or semicolon after the statement / )
1115
1115
end
1116
1116
1117
1117
def test_unexpected_token_after_numeric
@@ -1129,7 +1129,7 @@ def test_truncated_source_line
1129
1129
end
1130
1130
1131
1131
def test_unterminated_regexp_error
1132
- e = assert_syntax_error ( "/x" , /unterminated regexp meets end of file/ )
1132
+ e = assert_syntax_error ( "/x" , /unterminated regexp meets end of file|expected a closing delimiter for the regular expression / )
1133
1133
assert_not_match ( /unexpected tSTRING_END/ , e . message )
1134
1134
end
1135
1135
@@ -1161,9 +1161,9 @@ def test_eof
1161
1161
end
1162
1162
1163
1163
def test_eof_in_def
1164
- assert_syntax_error ( "def m\n \0 " "end" , /unexpected/ )
1165
- assert_syntax_error ( "def m\n \C -d" "end" , /unexpected/ )
1166
- assert_syntax_error ( "def m\n \C -z" "end" , /unexpected/ )
1164
+ assert_syntax_error ( "def m\n \0 " "end" , /unexpected|cannot parse the expression / )
1165
+ assert_syntax_error ( "def m\n \C -d" "end" , /unexpected|cannot parse the expression / )
1166
+ assert_syntax_error ( "def m\n \C -z" "end" , /unexpected|cannot parse the expression / )
1167
1167
end
1168
1168
1169
1169
def test_unexpected_eof
0 commit comments