diff options
author | Kevin Newton <kddnewton@gmail.com> | 2023-11-27 15:05:06 -0500 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2023-11-28 02:53:44 +0000 |
commit | 0164da68c170c7f1e36dd70965b67c8c63523391 (patch) | |
tree | 1c587c6f2f898b92fe2235acf73b6831cc68ff93 /test/prism/errors_test.rb | |
parent | 32b5f5be7cd0140c5f919d81d6ebf826efd03bb8 (diff) | |
download | ruby-0164da68c170c7f1e36dd70965b67c8c63523391.tar.gz |
[ruby/prism] Use un-capitalized error messages
I don't prefer this style, but it appears that a plurality of syntax
error messages between with un-capitalized messages in CRuby, so
we'll go with that for consistency, for now.
https://github.com/ruby/prism/commit/b02df68954
Diffstat (limited to 'test/prism/errors_test.rb')
-rw-r--r-- | test/prism/errors_test.rb | 394 |
1 files changed, 197 insertions, 197 deletions
diff --git a/test/prism/errors_test.rb b/test/prism/errors_test.rb index 3289f67a71..bcc9629622 100644 --- a/test/prism/errors_test.rb +++ b/test/prism/errors_test.rb @@ -8,8 +8,8 @@ module Prism def test_constant_path_with_invalid_token_after assert_error_messages "A::$b", [ - "Expected a constant after the `::` operator", - "Expected a newline or semicolon after the statement" + "expected a constant after the `::` operator", + "expected a newline or semicolon after the statement" ] end @@ -26,7 +26,7 @@ module Prism ) assert_errors expected, "module Parent module end", [ - ["Expected a constant name after `module`", 20..20] + ["expected a constant name after `module`", 20..20] ] end @@ -42,7 +42,7 @@ module Prism ) assert_errors expected, "for in 1..10\ni\nend", [ - ["Expected an index after `for`", 0..3] + ["expected an index after `for`", 0..3] ] end @@ -58,9 +58,9 @@ module Prism ) assert_errors expected, "for end", [ - ["Expected an index after `for`", 0..3], - ["Expected an `in` after the index in a `for` statement", 3..3], - ["Expected a collection after the `in` in a `for` statement", 3..3] + ["expected an index after `for`", 0..3], + ["expected an `in` after the index in a `for` statement", 3..3], + ["expected a collection after the `in` in a `for` statement", 3..3] ] end @@ -73,7 +73,7 @@ module Prism ) assert_errors expected, "BEGIN 1 }", [ - ["Expected a `{` after `BEGIN`", 5..5] + ["expected a `{` after `BEGIN`", 5..5] ] end @@ -98,37 +98,37 @@ module Prism ) assert_errors expected, "BEGIN { 1 + }", [ - ["Expected an expression after the operator", 11..11] + ["expected an expression after the operator", 11..11] ] end def test_unterminated_embdoc assert_errors expression("1"), "1\n=begin\n", [ - ["Could not find a terminator for the embedded document", 2..9] + ["could not find a terminator for the embedded document", 2..9] ] end def test_unterminated_i_list assert_errors expression("%i["), "%i[", [ - ["Expected a closing delimiter for the `%i` list", 3..3] + ["expected a closing delimiter for the `%i` list", 3..3] ] end def test_unterminated_w_list assert_errors expression("%w["), "%w[", [ - ["Expected a closing delimiter for the `%w` list", 3..3] + ["expected a closing delimiter for the `%w` list", 3..3] ] end def test_unterminated_W_list assert_errors expression("%W["), "%W[", [ - ["Expected a closing delimiter for the `%W` list", 3..3] + ["expected a closing delimiter for the `%W` list", 3..3] ] end def test_unterminated_regular_expression assert_errors expression("/hello"), "/hello", [ - ["Expected a closing delimiter for the regular expression", 1..1] + ["expected a closing delimiter for the regular expression", 1..1] ] end @@ -136,204 +136,204 @@ module Prism source = "<<-END + /b\nEND\n" assert_errors expression(source), source, [ - ["Expected a closing delimiter for the regular expression", 16..16] + ["expected a closing delimiter for the regular expression", 16..16] ] end def test_unterminated_xstring assert_errors expression("`hello"), "`hello", [ - ["Expected a closing delimiter for the `%x` or backtick string", 1..1] + ["expected a closing delimiter for the `%x` or backtick string", 1..1] ] end def test_unterminated_string assert_errors expression('"hello'), '"hello', [ - ["Expected a closing delimiter for the interpolated string", 1..1] + ["expected a closing delimiter for the interpolated string", 1..1] ] end def test_incomplete_instance_var_string assert_errors expression('%@#@@#'), '%@#@@#', [ - ["Incomplete instance variable", 4..5], - ["Expected a newline or semicolon after the statement", 4..4] + ["incomplete instance variable", 4..5], + ["expected a newline or semicolon after the statement", 4..4] ] end def test_unterminated_s_symbol assert_errors expression("%s[abc"), "%s[abc", [ - ["Expected a closing delimiter for the dynamic symbol", 3..3] + ["expected a closing delimiter for the dynamic symbol", 3..3] ] end def test_unterminated_parenthesized_expression assert_errors expression('(1 + 2'), '(1 + 2', [ - ["Expected a newline or semicolon after the statement", 6..6], - ["Cannot parse the expression", 6..6], - ["Expected a matching `)`", 6..6] + ["expected a newline or semicolon after the statement", 6..6], + ["cannot parse the expression", 6..6], + ["expected a matching `)`", 6..6] ] end def test_missing_terminator_in_parentheses assert_error_messages "(0 0)", [ - "Expected a newline or semicolon after the statement" + "expected a newline or semicolon after the statement" ] end def test_unterminated_argument_expression assert_errors expression('a %'), 'a %', [ - ["Invalid `%` token", 2..3], - ["Expected an expression after the operator", 3..3], + ["invalid `%` token", 2..3], + ["expected an expression after the operator", 3..3], ] end def test_unterminated_interpolated_symbol assert_error_messages ":\"#", [ - "Expected a closing delimiter for the interpolated symbol" + "expected a closing delimiter for the interpolated symbol" ] end def test_cr_without_lf_in_percent_expression assert_errors expression("%\r"), "%\r", [ - ["Invalid `%` token", 0..2], + ["invalid `%` token", 0..2], ] end def test_1_2_3 assert_errors expression("(1, 2, 3)"), "(1, 2, 3)", [ - ["Expected a newline or semicolon after the statement", 2..2], - ["Cannot parse the expression", 2..2], - ["Expected a matching `)`", 2..2], - ["Expected a newline or semicolon after the statement", 2..2], - ["Cannot parse the expression", 2..2], - ["Expected a newline or semicolon after the statement", 5..5], - ["Cannot parse the expression", 5..5], - ["Expected a newline or semicolon after the statement", 8..8], - ["Cannot parse the expression", 8..8] + ["expected a newline or semicolon after the statement", 2..2], + ["cannot parse the expression", 2..2], + ["expected a matching `)`", 2..2], + ["expected a newline or semicolon after the statement", 2..2], + ["cannot parse the expression", 2..2], + ["expected a newline or semicolon after the statement", 5..5], + ["cannot parse the expression", 5..5], + ["expected a newline or semicolon after the statement", 8..8], + ["cannot parse the expression", 8..8] ] end def test_return_1_2_3 assert_error_messages "return(1, 2, 3)", [ - "Expected a newline or semicolon after the statement", - "Cannot parse the expression", - "Expected a matching `)`", - "Expected a newline or semicolon after the statement", - "Cannot parse the expression" + "expected a newline or semicolon after the statement", + "cannot parse the expression", + "expected a matching `)`", + "expected a newline or semicolon after the statement", + "cannot parse the expression" ] end def test_return_1 assert_errors expression("return 1,;"), "return 1,;", [ - ["Expected an argument", 9..9] + ["expected an argument", 9..9] ] end def test_next_1_2_3 assert_errors expression("next(1, 2, 3)"), "next(1, 2, 3)", [ - ["Expected a newline or semicolon after the statement", 6..6], - ["Cannot parse the expression", 6..6], - ["Expected a matching `)`", 6..6], - ["Expected a newline or semicolon after the statement", 12..12], - ["Cannot parse the expression", 12..12] + ["expected a newline or semicolon after the statement", 6..6], + ["cannot parse the expression", 6..6], + ["expected a matching `)`", 6..6], + ["expected a newline or semicolon after the statement", 12..12], + ["cannot parse the expression", 12..12] ] end def test_next_1 assert_errors expression("next 1,;"), "next 1,;", [ - ["Expected an argument", 7..7] + ["expected an argument", 7..7] ] end def test_break_1_2_3 assert_errors expression("break(1, 2, 3)"), "break(1, 2, 3)", [ - ["Expected a newline or semicolon after the statement", 7..7], - ["Cannot parse the expression", 7..7], - ["Expected a matching `)`", 7..7], - ["Expected a newline or semicolon after the statement", 13..13], - ["Cannot parse the expression", 13..13] + ["expected a newline or semicolon after the statement", 7..7], + ["cannot parse the expression", 7..7], + ["expected a matching `)`", 7..7], + ["expected a newline or semicolon after the statement", 13..13], + ["cannot parse the expression", 13..13] ] end def test_break_1 assert_errors expression("break 1,;"), "break 1,;", [ - ["Expected an argument", 8..8] + ["expected an argument", 8..8] ] end def test_argument_forwarding_when_parent_is_not_forwarding assert_errors expression('def a(x, y, z); b(...); end'), 'def a(x, y, z); b(...); end', [ - ["Unexpected `...` when the parent method is not forwarding", 18..21] + ["unexpected `...` when the parent method is not forwarding", 18..21] ] end def test_argument_forwarding_only_effects_its_own_internals assert_errors expression('def a(...); b(...); end; def c(x, y, z); b(...); end'), 'def a(...); b(...); end; def c(x, y, z); b(...); end', [ - ["Unexpected `...` when the parent method is not forwarding", 43..46] + ["unexpected `...` when the parent method is not forwarding", 43..46] ] end def test_top_level_constant_with_downcased_identifier assert_error_messages "::foo", [ - "Expected a constant after the `::` operator", - "Expected a newline or semicolon after the statement" + "expected a constant after the `::` operator", + "expected a newline or semicolon after the statement" ] end def test_top_level_constant_starting_with_downcased_identifier assert_error_messages "::foo::A", [ - "Expected a constant after the `::` operator", - "Expected a newline or semicolon after the statement" + "expected a constant after the `::` operator", + "expected a newline or semicolon after the statement" ] end def test_aliasing_global_variable_with_non_global_variable assert_errors expression("alias $a b"), "alias $a b", [ - ["Invalid argument being passed to `alias`; expected a bare word, symbol, constant, or global variable", 9..10] + ["invalid argument being passed to `alias`; expected a bare word, symbol, constant, or global variable", 9..10] ] end def test_aliasing_non_global_variable_with_global_variable assert_errors expression("alias a $b"), "alias a $b", [ - ["Invalid argument being passed to `alias`; expected a bare word, symbol, constant, or global variable", 8..10] + ["invalid argument being passed to `alias`; expected a bare word, symbol, constant, or global variable", 8..10] ] end def test_aliasing_global_variable_with_global_number_variable assert_errors expression("alias $a $1"), "alias $a $1", [ - ["Invalid argument being passed to `alias`; expected a bare word, symbol, constant, or global variable", 9..11] + ["invalid argument being passed to `alias`; expected a bare word, symbol, constant, or global variable", 9..11] ] end def test_def_with_expression_receiver_and_no_identifier assert_errors expression("def (a); end"), "def (a); end", [ - ["Expected a `.` or `::` after the receiver in a method definition", 7..7], - ["Expected a method name", 7..7] + ["expected a `.` or `::` after the receiver in a method definition", 7..7], + ["expected a method name", 7..7] ] end def test_def_with_multiple_statements_receiver assert_errors expression("def (\na\nb\n).c; end"), "def (\na\nb\n).c; end", [ - ["Expected a matching `)`", 7..7], - ["Expected a `.` or `::` after the receiver in a method definition", 7..7], - ["Expected a method name", 7..7], - ["Cannot parse the expression", 10..10], - ["Cannot parse the expression", 11..11] + ["expected a matching `)`", 7..7], + ["expected a `.` or `::` after the receiver in a method definition", 7..7], + ["expected a method name", 7..7], + ["cannot parse the expression", 10..10], + ["cannot parse the expression", 11..11] ] end def test_def_with_empty_expression_receiver assert_errors expression("def ().a; end"), "def ().a; end", [ - ["Expected a receiver for the method definition", 5..5] + ["expected a receiver for the method definition", 5..5] ] end def test_block_beginning_with_brace_and_ending_with_end assert_error_messages "x.each { x end", [ - "Expected a newline or semicolon after the statement", - "Cannot parse the expression", - "Cannot parse the expression", - "Expected a block beginning with `{` to end with `}`" + "expected a newline or semicolon after the statement", + "cannot parse the expression", + "cannot parse the expression", + "expected a block beginning with `{` to end with `}`" ] end @@ -354,7 +354,7 @@ module Prism ) assert_errors expected, "a(**kwargs, *args)", [ - ["Unexpected `*` splat argument after a `**` keyword splat argument", 12..17] + ["unexpected `*` splat argument after a `**` keyword splat argument", 12..17] ] end @@ -372,15 +372,15 @@ module Prism ) assert_errors expected, "a(&block, foo)", [ - ["Unexpected argument after a block argument", 10..13] + ["unexpected argument after a block argument", 10..13] ] end def test_arguments_binding_power_for_and assert_error_messages "foo(*bar and baz)", [ - "Expected a `)` to close the arguments", - "Expected a newline or semicolon after the statement", - "Cannot parse the expression" + "expected a `)` to close the arguments", + "expected a newline or semicolon after the statement", + "cannot parse the expression" ] end @@ -407,7 +407,7 @@ module Prism ) assert_errors expected, "a(foo: bar, *args)", [ - ["Unexpected `*` splat argument after a `**` keyword splat argument", 12..17] + ["unexpected `*` splat argument after a `**` keyword splat argument", 12..17] ] end @@ -428,7 +428,7 @@ module Prism ) assert_errors expected, "def foo;module A;end;end", [ - ["Unexpected module definition in a method body", 8..14] + ["unexpected module definition in a method body", 8..14] ] end @@ -466,7 +466,7 @@ module Prism Location() ) - assert_errors expected, <<~RUBY, [["Unexpected module definition in a method body", 21..27]] + assert_errors expected, <<~RUBY, [["unexpected module definition in a method body", 21..27]] def foo bar do module Foo;end @@ -503,7 +503,7 @@ module Prism ) assert_errors expected, "def foo;class A;end;end", [ - ["Unexpected class definition in a method body", 8..13] + ["unexpected class definition in a method body", 8..13] ] end @@ -529,10 +529,10 @@ module Prism ) assert_errors expected, "def foo(A, @a, $A, @@a);end", [ - ["Invalid formal argument; formal argument cannot be a constant", 8..9], - ["Invalid formal argument; formal argument cannot be an instance variable", 11..13], - ["Invalid formal argument; formal argument cannot be a global variable", 15..17], - ["Invalid formal argument; formal argument cannot be a class variable", 19..22], + ["invalid formal argument; formal argument cannot be a constant", 8..9], + ["invalid formal argument; formal argument cannot be an instance variable", 11..13], + ["invalid formal argument; formal argument cannot be a global variable", 15..17], + ["invalid formal argument; formal argument cannot be a class variable", 19..22], ] end @@ -600,7 +600,7 @@ module Prism ) assert_errors expected, "def foo(a,b,c,);end", [ - ["Unexpected `,` in parameters", 13..14] + ["unexpected `,` in parameters", 13..14] ] end @@ -619,7 +619,7 @@ module Prism nil ) assert_errors expected, "-> (a, b, ) {}", [ - ["Unexpected `,` in parameters", 8..9] + ["unexpected `,` in parameters", 8..9] ] end @@ -627,13 +627,13 @@ module Prism expected = StringNode(0, Location(), Location(), nil, "\u0001\u0002") assert_errors expected, '?\u{0001 0002}', [ - ["Invalid Unicode escape sequence; multiple codepoints are not allowed in a character literal", 9..12] + ["invalid Unicode escape sequence; multiple codepoints are not allowed in a character literal", 9..12] ] end def test_invalid_hex_escape assert_errors expression('"\\xx"'), '"\\xx"', [ - ["Invalid hexadecimal escape sequence", 1..3], + ["invalid hexadecimal escape sequence", 1..3], ] end @@ -641,7 +641,7 @@ module Prism expected = StringNode(0, Location(), Location(), Location(), "\u0001") assert_errors expected, '"\u{0000001}"', [ - ["Invalid Unicode escape sequence; maximum length is 6 digits", 4..11], + ["invalid Unicode escape sequence; maximum length is 6 digits", 4..11], ] end @@ -649,13 +649,13 @@ module Prism expected = StringNode(0, Location(), Location(), Location(), "\u0000z}") assert_errors expected, '"\u{000z}"', [ - ["Invalid Unicode escape sequence", 7..7], + ["invalid Unicode escape sequence", 7..7], ] end def test_unterminated_unicode_brackets_should_be_a_syntax_error assert_errors expression('?\\u{3'), '?\\u{3', [ - ["Invalid Unicode escape sequence; needs closing `}`", 1..5], + ["invalid Unicode escape sequence; needs closing `}`", 1..5], ] end @@ -683,7 +683,7 @@ module Prism Location() ) assert_errors expected, "def foo(&block, a)\nend", [ - ["Unexpected parameter order", 16..17] + ["unexpected parameter order", 16..17] ] end @@ -704,7 +704,7 @@ module Prism ) assert_errors expected, "def foo(&, a)\nend", [ - ["Unexpected parameter order", 11..12] + ["unexpected parameter order", 11..12] ] end @@ -732,7 +732,7 @@ module Prism Location() ) assert_errors expected, "def foo(..., a)\nend", [ - ["Unexpected parameter order", 13..14] + ["unexpected parameter order", 13..14] ] end @@ -760,7 +760,7 @@ module Prism Location() ) assert_errors expected, "def foo(b:, a)\nend", [ - ["Unexpected parameter order", 12..13] + ["unexpected parameter order", 12..13] ] end @@ -789,7 +789,7 @@ module Prism ) assert_errors expected, "def foo(**rest, b:)\nend", [ - ["Unexpected parameter order", 16..18] + ["unexpected parameter order", 16..18] ] end @@ -810,7 +810,7 @@ module Prism ) assert_errors expected, "def foo(..., ...)\nend", [ - ["Unexpected parameter order", 13..16] + ["unexpected parameter order", 13..16] ] end @@ -839,8 +839,8 @@ module Prism ) assert_errors expected, "def foo(**args, a, b:)\nend", [ - ["Unexpected parameter order", 16..17], - ["Unexpected parameter order", 19..21] + ["unexpected parameter order", 16..17], + ["unexpected parameter order", 19..21] ] end @@ -869,8 +869,8 @@ module Prism ) assert_errors expected, "def foo(**args, a, b:)\nend", [ - ["Unexpected parameter order", 16..17], - ["Unexpected parameter order", 19..21] + ["unexpected parameter order", 16..17], + ["unexpected parameter order", 19..21] ] end @@ -899,8 +899,8 @@ module Prism ) assert_errors expected, "def foo(**args, a, b:)\nend", [ - ["Unexpected parameter order", 16..17], - ["Unexpected parameter order", 19..21] + ["unexpected parameter order", 16..17], + ["unexpected parameter order", 19..21] ] end @@ -932,7 +932,7 @@ module Prism ) assert_errors expected, "def foo(a, b = 1, c, d = 2, e)\nend", [ - ["Unexpected parameter order", 23..24] + ["unexpected parameter order", 23..24] ] end @@ -946,7 +946,7 @@ module Prism ) assert_errors expected, "case :a\nelse\nend", [ - ["Expected a `when` or `in` clause after `case`", 0..4] + ["expected a `when` or `in` clause after `case`", 0..4] ] end @@ -960,7 +960,7 @@ module Prism ) assert_errors expected, "case :a\nend", [ - ["Expected a `when` or `in` clause after `case`", 0..4] + ["expected a `when` or `in` clause after `case`", 0..4] ] end @@ -981,7 +981,7 @@ module Prism ) assert_errors expected, "def a=() = 42", [ - ["Invalid method name; a setter method cannot be defined in an endless method definition", 4..6] + ["invalid method name; a setter method cannot be defined in an endless method definition", 4..6] ] end @@ -996,7 +996,7 @@ module Prism ) assert_errors expected, "->(...) {}", [ - ["Unexpected `...` when the parent method is not forwarding", 3..6] + ["unexpected `...` when the parent method is not forwarding", 3..6] ] end @@ -1020,7 +1020,7 @@ module Prism ) assert_errors expected, "a {|...|}", [ - ["Unexpected `...` when the parent method is not forwarding", 4..7] + ["unexpected `...` when the parent method is not forwarding", 4..7] ] end @@ -1037,7 +1037,7 @@ module Prism ) assert_errors expected, "class A; return; end", [ - ["Invalid `return` in a class or module body", 15..16] + ["invalid `return` in a class or module body", 15..16] ] end @@ -1052,7 +1052,7 @@ module Prism ) assert_errors expected, "module A; return; end", [ - ["Invalid `return` in a class or module body", 16..17] + ["invalid `return` in a class or module body", 16..17] ] end @@ -1070,8 +1070,8 @@ module Prism ) assert_errors expected, "begin\n$+ = nil\n$1466 = nil\nend", [ - ["Immutable variable as a write target", 6..8], - ["Immutable variable as a write target", 15..20] + ["immutable variable as a write target", 6..8], + ["immutable variable as a write target", 15..20] ] end @@ -1095,7 +1095,7 @@ module Prism ) assert_errors expected, "def foo(a,b,a);end", [ - ["Repeated parameter name", 12..13] + ["repeated parameter name", 12..13] ] end @@ -1115,7 +1115,7 @@ module Prism ) assert_errors expected, "def foo(a,b,*a);end", [ - ["Repeated parameter name", 13..14] + ["repeated parameter name", 13..14] ] expected = DefNode( @@ -1134,7 +1134,7 @@ module Prism ) assert_errors expected, "def foo(a,b,**a);end", [ - ["Repeated parameter name", 14..15] + ["repeated parameter name", 14..15] ] expected = DefNode( @@ -1153,7 +1153,7 @@ module Prism ) assert_errors expected, "def foo(a,b,&a);end", [ - ["Repeated parameter name", 13..14] + ["repeated parameter name", 13..14] ] expected = DefNode( @@ -1171,7 +1171,7 @@ module Prism Location() ) - assert_errors expected, "def foo(a = 1,b,*c);end", [["Unexpected parameter `*`", 16..17]] + assert_errors expected, "def foo(a = 1,b,*c);end", [["unexpected parameter `*`", 16..17]] end def test_invalid_message_name @@ -1182,33 +1182,33 @@ module Prism def test_invalid_operator_write_fcall source = "foo! += 1" assert_errors expression(source), source, [ - ["Unexpected write target", 0..4] + ["unexpected write target", 0..4] ] end def test_invalid_operator_write_dot source = "foo.+= 1" assert_errors expression(source), source, [ - ["Unexpected write target", 5..6] + ["unexpected write target", 5..6] ] end def test_unterminated_global_variable assert_errors expression("$"), "$", [ - ["Invalid global variable", 0..1] + ["invalid global variable", 0..1] ] end def test_invalid_global_variable_write assert_errors expression("$',"), "$',", [ - ["Immutable variable as a write target", 0..2], - ["Unexpected write target", 0..2] + ["immutable variable as a write target", 0..2], + ["unexpected write target", 0..2] ] end def test_invalid_multi_target - error_messages = ["Unexpected write target"] - immutable = "Immutable variable as a write target" + error_messages = ["unexpected write target"] + immutable = "immutable variable as a write target" assert_error_messages "foo,", error_messages assert_error_messages "foo = 1; foo,", error_messages @@ -1235,51 +1235,51 @@ module Prism def test_call_with_block_and_write source = "foo {} &&= 1" assert_errors expression(source), source, [ - ["Unexpected write target", 0..6], - ["Unexpected operator after a call with a block", 7..10] + ["unexpected write target", 0..6], + ["unexpected operator after a call with a block", 7..10] ] end def test_call_with_block_or_write source = "foo {} ||= 1" assert_errors expression(source), source, [ - ["Unexpected write target", 0..6], - ["Unexpected operator after a call with a block", 7..10] + ["unexpected write target", 0..6], + ["unexpected operator after a call with a block", 7..10] ] end def test_call_with_block_operator_write source = "foo {} += 1" assert_errors expression(source), source, [ - ["Unexpected write target", 0..6], - ["Unexpected operator after a call with a block", 7..9] + ["unexpected write target", 0..6], + ["unexpected operator after a call with a block", 7..9] ] end def test_index_call_with_block_and_write source = "foo[1] {} &&= 1" assert_errors expression(source), source, [ - ["Unexpected write target", 0..9], - ["Unexpected operator after a call with arguments", 10..13], - ["Unexpected operator after a call with a block", 10..13] + ["unexpected write target", 0..9], + ["unexpected operator after a call with arguments", 10..13], + ["unexpected operator after a call with a block", 10..13] ] end def test_index_call_with_block_or_write source = "foo[1] {} ||= 1" assert_errors expression(source), source, [ - ["Unexpected write target", 0..9], - ["Unexpected operator after a call with arguments", 10..13], - ["Unexpected operator after a call with a block", 10..13] + ["unexpected write target", 0..9], + ["unexpected operator after a call with arguments", 10..13], + ["unexpected operator after a call with a block", 10..13] ] end def test_index_call_with_block_operator_write source = "foo[1] {} += 1" assert_errors expression(source), source, [ - ["Unexpected write target", 0..9], - ["Unexpected operator after a call with arguments", 10..12], - ["Unexpected operator after a call with a block", 10..12] + ["unexpected write target", 0..9], + ["unexpected operator after a call with arguments", 10..12], + ["unexpected operator after a call with a block", 10..12] ] end @@ -1304,13 +1304,13 @@ module Prism def test_double_scope_numbered_parameters source = "-> { _1 + -> { _2 } }" - errors = [["Numbered parameter is already used in outer scope", 15..17]] + errors = [["numbered parameter is already used in outer scope", 15..17]] assert_errors expression(source), source, errors, compare_ripper: false end def test_invalid_number_underscores - error_messages = ["Invalid underscore placement in number"] + error_messages = ["invalid underscore placement in number"] assert_error_messages "1__1", error_messages assert_error_messages "0b1__1", error_messages @@ -1328,7 +1328,7 @@ module Prism end def test_alnum_delimiters - error_messages = ["Invalid `%` token"] + error_messages = ["invalid `%` token"] assert_error_messages "%qXfooX", error_messages assert_error_messages "%QXfooX", error_messages @@ -1358,17 +1358,17 @@ module Prism def test_conditional_predicate_closed source = "if 0 0; elsif 0 0; end\nunless 0 0; end" assert_errors expression(source), source, [ - ["Expected `then` or `;` or '\n" + "'", 5..6], - ["Expected `then` or `;` or '\n" + "'", 16..17], - ["Expected `then` or `;` or '\n" + "'", 32..33], + ["expected `then` or `;` or '\n" + "'", 5..6], + ["expected `then` or `;` or '\n" + "'", 16..17], + ["expected `then` or `;` or '\n" + "'", 32..33], ] end def test_parameter_name_ending_with_bang_or_question_mark source = "def foo(x!,y?); end" errors = [ - ["Unexpected name for a parameter", 8..10], - ["Unexpected name for a parameter", 11..13] + ["unexpected name for a parameter", 8..10], + ["unexpected name for a parameter", 11..13] ] assert_errors expression(source), source, errors, compare_ripper: false end @@ -1376,46 +1376,46 @@ module Prism def test_class_name source = "class 0.X end" assert_errors expression(source), source, [ - ["Expected a constant name after `class`", 6..9], + ["expected a constant name after `class`", 6..9], ] end def test_loop_conditional_is_closed source = "while 0 0; foo; end; until 0 0; foo; end" assert_errors expression(source), source, [ - ["Expected a predicate expression for the `while` statement", 7..7], - ["Expected a predicate expression for the `until` statement", 28..28], + ["expected a predicate expression for the `while` statement", 7..7], + ["expected a predicate expression for the `until` statement", 28..28], ] end def test_forwarding_arg_after_keyword_rest source = "def f(**,...);end" assert_errors expression(source), source, [ - ["Unexpected `...` in parameters", 9..12], + ["unexpected `...` in parameters", 9..12], ] end def test_semicolon_after_inheritance_operator source = "class Foo < Bar end" assert_errors expression(source), source, [ - ["Unexpected `end`, expecting ';' or '\n'", 15..15], + ["unexpected `end`, expecting ';' or '\n'", 15..15], ] end def test_shadow_args_in_lambda source = "->a;b{}" assert_errors expression(source), source, [ - ["Expected a `do` keyword or a `{` to open the lambda block", 3..3], - ["Expected a newline or semicolon after the statement", 7..7], - ["Cannot parse the expression", 7..7], - ["Expected a lambda block beginning with `do` to end with `end`", 7..7], + ["expected a `do` keyword or a `{` to open the lambda block", 3..3], + ["expected a newline or semicolon after the statement", 7..7], + ["cannot parse the expression", 7..7], + ["expected a lambda block beginning with `do` to end with `end`", 7..7], ] end def test_shadow_args_in_block source = "tap{|a;a|}" assert_errors expression(source), source, [ - ["Repeated parameter name", 7..8], + ["repeated parameter name", 7..8], ] end @@ -1424,7 +1424,7 @@ module Prism # In Ruby 3.0.x, `Ripper.sexp_raw` does not return `nil` for this case. compare_ripper = RUBY_ENGINE == "ruby" && (RUBY_VERSION.split('.').map { |x| x.to_i } <=> [3, 1]) >= 1 assert_errors expression(source), source, [ - ["Repeated parameter name", 14..15], + ["repeated parameter name", 14..15], ], compare_ripper: compare_ripper end @@ -1450,23 +1450,23 @@ module Prism def test_symbol_in_keyword_parameter source = "def foo(x:'y':); end" assert_errors expression(source), source, [ - ["Expected a closing delimiter for the string literal", 14..14], + ["expected a closing delimiter for the string literal", 14..14], ] end def test_symbol_in_hash source = "{x:'y':}" assert_errors expression(source), source, [ - ["Expected a closing delimiter for the string literal", 7..7], + ["expected a closing delimiter for the string literal", 7..7], ] 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] + ['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 @@ -1475,8 +1475,8 @@ module Prism a in b + c a => b + c RUBY - message1 = 'Expected a newline or semicolon after the statement' - message2 = 'Cannot parse the expression' + 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], @@ -1487,7 +1487,7 @@ module Prism def test_rational_number_with_exponential_portion source = '1e1r; 1e1ri' - message = 'Expected a newline or semicolon after the statement' + message = 'expected a newline or semicolon after the statement' assert_errors expression(source), source, [ [message, 3..3], [message, 9..9] @@ -1507,7 +1507,7 @@ module Prism 1 => ^(if 1; (return) else (return) end) 1 => ^(unless 1; (return) else (return) end) RUBY - message = 'Unexpected void value expression' + message = 'unexpected void value expression' assert_errors expression(source), source, [ [message, 7..13], [message, 35..40], @@ -1540,7 +1540,7 @@ module Prism for x in (return) end RUBY - message = 'Unexpected void value expression' + message = 'unexpected void value expression' assert_errors expression(source), source, [ [message, 4..10], [message, 24..30], @@ -1562,7 +1562,7 @@ module Prism def x(a: return) end RUBY - message = 'Unexpected void value expression' + message = 'unexpected void value expression' assert_errors expression(source), source, [ [message, 5..11], [message, 29..35], @@ -1577,7 +1577,7 @@ module Prism a, b = return, 1 a, b = 1, *return RUBY - message = 'Unexpected void value expression' + message = 'unexpected void value expression' assert_errors expression(source), source, [ [message, 4..10], [message, 18..24], @@ -1595,7 +1595,7 @@ module Prism (return) => a (return) in a RUBY - message = 'Unexpected void value expression' + message = 'unexpected void value expression' assert_errors expression(source), source, [ [message, 6..12], [message, 24..30], @@ -1618,7 +1618,7 @@ module Prism ((return)..) ((return)...) RUBY - message = 'Unexpected void value expression' + message = 'unexpected void value expression' assert_errors expression(source), source, [ [message, 1..7], [message, 18..24], @@ -1639,7 +1639,7 @@ module Prism { a: return } { **return } RUBY - message = 'Unexpected void value expression' + message = 'unexpected void value expression' assert_errors expression(source), source, [ [message, 2..8], [message, 23..29], @@ -1656,7 +1656,7 @@ module Prism (return)[1] = 2 (return)::foo RUBY - message = 'Unexpected void value expression' + message = 'unexpected void value expression' assert_errors expression(source), source, [ [message, 1..7], [message, 14..20], @@ -1671,7 +1671,7 @@ module Prism (return)::A class (return)::A; end RUBY - message = 'Unexpected void value expression' + message = 'unexpected void value expression' assert_errors expression(source), source, [ [message, 1..7], [message, 19..25], @@ -1689,7 +1689,7 @@ module Prism foo(:a => return) foo(a: return) RUBY - message = 'Unexpected void value expression' + message = 'unexpected void value expression' assert_errors expression(source), source, [ [message, 4..10], [message, 19..25], @@ -1707,7 +1707,7 @@ module Prism +(return) not return RUBY - message = 'Unexpected void value expression' + message = 'unexpected void value expression' assert_errors expression(source), source, [ [message, 2..8], [message, 14..20], @@ -1723,7 +1723,7 @@ module Prism 1 or (return) (return) or 1 RUBY - message = 'Unexpected void value expression' + message = 'unexpected void value expression' assert_errors expression(source), source, [ [message, 5..11], [message, 14..20], @@ -1734,29 +1734,29 @@ module Prism def test_trailing_comma_in_calls assert_errors expression("foo 1,"), "foo 1,", [ - ["Expected an argument", 5..6] + ["expected an argument", 5..6] ] end def test_argument_after_ellipsis source = 'def foo(...); foo(..., 1); end' assert_errors expression(source), source, [ - ['Unexpected argument after `...`', 23..24] + ['unexpected argument after `...`', 23..24] ] end def test_ellipsis_in_no_paren_call source = 'def foo(...); foo 1, ...; end' assert_errors expression(source), source, [ - ['Unexpected `...` in an non-parenthesized call', 21..24] + ['unexpected `...` in an non-parenthesized call', 21..24] ] end def test_non_assoc_range source = '1....2' assert_errors expression(source), source, [ - ['Expected a newline or semicolon after the statement', 4..4], - ['Cannot parse the expression', 4..4], + ['expected a newline or semicolon after the statement', 4..4], + ['cannot parse the expression', 4..4], ] end @@ -1777,8 +1777,8 @@ module Prism undef x + 1 undef x.z RUBY - message1 = 'Expected a newline or semicolon after the statement' - message2 = 'Cannot parse the expression' + message1 = 'expected a newline or semicolon after the statement' + message2 = 'cannot parse the expression' assert_errors expression(source), source, [ [message1, 9..9], [message2, 9..9], @@ -1807,10 +1807,10 @@ module Prism foo(undef x) RUBY assert_errors expression(source), source, [ - ['Unexpected an `alias` at a non-statement position', 4..9], - ['Unexpected a `BEGIN` at a non-statement position', 19..24], - ['Unexpected an `END` at a non-statement position', 38..41], - ['Unexpected an `undef` at a non-statement position', 55..60], + ['unexpected an `alias` at a non-statement position', 4..9], + ['unexpected a `BEGIN` at a non-statement position', 19..24], + ['unexpected an `END` at a non-statement position', 38..41], + ['unexpected an `undef` at a non-statement position', 55..60], ] end @@ -1819,8 +1819,8 @@ module Prism ..1.. ...1.. RUBY - message1 = 'Expected a newline or semicolon after the statement' - message2 = 'Cannot parse the expression' + message1 = 'expected a newline or semicolon after the statement' + message2 = 'cannot parse the expression' assert_errors expression(source), source, [ [message1, 3..3], [message2, 3..3], |