[ruby/error_highlight] Support the new message format of NameError in Ruby 3.3
https://bugs.ruby-lang.org/issues/18285 https://github.com/ruby/ruby/pull/6950 https://github.com/ruby/error_highlight/commit/a7c2da052e
This commit is contained in:
parent
ba1b9d3104
commit
29f88b9fea
@ -37,9 +37,20 @@ class ErrorHighlightTest < Test::Unit::TestCase
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if begin; 1.time; rescue; $!.message.end_with?("an instance of Integer"); end
|
||||||
|
# new message format
|
||||||
|
NEW_MESSAGE_FORMAT = true
|
||||||
|
NIL_RECV_MESSAGE = "nil"
|
||||||
|
ONE_RECV_MESSAGE = "an instance of Integer"
|
||||||
|
else
|
||||||
|
NEW_MESSAGE_FORMAT = false
|
||||||
|
NIL_RECV_MESSAGE = "nil:NilClass"
|
||||||
|
ONE_RECV_MESSAGE = "1:Integer"
|
||||||
|
end
|
||||||
|
|
||||||
def test_CALL_noarg_1
|
def test_CALL_noarg_1
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for nil:NilClass
|
undefined method `foo' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
nil.foo + 1
|
nil.foo + 1
|
||||||
^^^^
|
^^^^
|
||||||
@ -51,7 +62,7 @@ undefined method `foo' for nil:NilClass
|
|||||||
|
|
||||||
def test_CALL_noarg_2
|
def test_CALL_noarg_2
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for nil:NilClass
|
undefined method `foo' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
.foo + 1
|
.foo + 1
|
||||||
^^^^
|
^^^^
|
||||||
@ -64,7 +75,7 @@ undefined method `foo' for nil:NilClass
|
|||||||
|
|
||||||
def test_CALL_noarg_3
|
def test_CALL_noarg_3
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for nil:NilClass
|
undefined method `foo' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
foo + 1
|
foo + 1
|
||||||
^^^
|
^^^
|
||||||
@ -77,7 +88,7 @@ undefined method `foo' for nil:NilClass
|
|||||||
|
|
||||||
def test_CALL_noarg_4
|
def test_CALL_noarg_4
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for nil:NilClass
|
undefined method `foo' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
(nil).foo + 1
|
(nil).foo + 1
|
||||||
^^^^
|
^^^^
|
||||||
@ -89,7 +100,7 @@ undefined method `foo' for nil:NilClass
|
|||||||
|
|
||||||
def test_CALL_arg_1
|
def test_CALL_arg_1
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for nil:NilClass
|
undefined method `foo' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
nil.foo (42)
|
nil.foo (42)
|
||||||
^^^^
|
^^^^
|
||||||
@ -101,7 +112,7 @@ undefined method `foo' for nil:NilClass
|
|||||||
|
|
||||||
def test_CALL_arg_2
|
def test_CALL_arg_2
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for nil:NilClass
|
undefined method `foo' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
.foo (
|
.foo (
|
||||||
^^^^
|
^^^^
|
||||||
@ -116,7 +127,7 @@ undefined method `foo' for nil:NilClass
|
|||||||
|
|
||||||
def test_CALL_arg_3
|
def test_CALL_arg_3
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for nil:NilClass
|
undefined method `foo' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
foo (
|
foo (
|
||||||
^^^
|
^^^
|
||||||
@ -131,7 +142,7 @@ undefined method `foo' for nil:NilClass
|
|||||||
|
|
||||||
def test_CALL_arg_4
|
def test_CALL_arg_4
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for nil:NilClass
|
undefined method `foo' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
nil.foo(42)
|
nil.foo(42)
|
||||||
^^^^
|
^^^^
|
||||||
@ -143,7 +154,7 @@ undefined method `foo' for nil:NilClass
|
|||||||
|
|
||||||
def test_CALL_arg_5
|
def test_CALL_arg_5
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for nil:NilClass
|
undefined method `foo' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
.foo(
|
.foo(
|
||||||
^^^^
|
^^^^
|
||||||
@ -158,7 +169,7 @@ undefined method `foo' for nil:NilClass
|
|||||||
|
|
||||||
def test_CALL_arg_6
|
def test_CALL_arg_6
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for nil:NilClass
|
undefined method `foo' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
foo(
|
foo(
|
||||||
^^^
|
^^^
|
||||||
@ -173,7 +184,7 @@ undefined method `foo' for nil:NilClass
|
|||||||
|
|
||||||
def test_QCALL_1
|
def test_QCALL_1
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for 1:Integer
|
undefined method `foo' for #{ ONE_RECV_MESSAGE }
|
||||||
|
|
||||||
1&.foo
|
1&.foo
|
||||||
^^^^^
|
^^^^^
|
||||||
@ -185,7 +196,7 @@ undefined method `foo' for 1:Integer
|
|||||||
|
|
||||||
def test_QCALL_2
|
def test_QCALL_2
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for 1:Integer
|
undefined method `foo' for #{ ONE_RECV_MESSAGE }
|
||||||
|
|
||||||
1&.foo(42)
|
1&.foo(42)
|
||||||
^^^^^
|
^^^^^
|
||||||
@ -197,7 +208,7 @@ undefined method `foo' for 1:Integer
|
|||||||
|
|
||||||
def test_CALL_aref_1
|
def test_CALL_aref_1
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `[]' for nil:NilClass
|
undefined method `[]' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
nil [ ]
|
nil [ ]
|
||||||
^^^
|
^^^
|
||||||
@ -209,7 +220,7 @@ undefined method `[]' for nil:NilClass
|
|||||||
|
|
||||||
def test_CALL_aref_2
|
def test_CALL_aref_2
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `[]' for nil:NilClass
|
undefined method `[]' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
nil [0]
|
nil [0]
|
||||||
^^^
|
^^^
|
||||||
@ -221,7 +232,7 @@ undefined method `[]' for nil:NilClass
|
|||||||
|
|
||||||
def test_CALL_aref_3
|
def test_CALL_aref_3
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `[]' for nil:NilClass
|
undefined method `[]' for #{ NIL_RECV_MESSAGE }
|
||||||
END
|
END
|
||||||
|
|
||||||
nil [
|
nil [
|
||||||
@ -232,8 +243,9 @@ undefined method `[]' for nil:NilClass
|
|||||||
|
|
||||||
def test_CALL_aref_4
|
def test_CALL_aref_4
|
||||||
v = Object.new
|
v = Object.new
|
||||||
|
recv = NEW_MESSAGE_FORMAT ? "an instance of Object" : v.inspect
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `[]' for #{ v.inspect }
|
undefined method `[]' for #{ recv }
|
||||||
|
|
||||||
v &.[](0)
|
v &.[](0)
|
||||||
^^^^
|
^^^^
|
||||||
@ -245,7 +257,7 @@ undefined method `[]' for #{ v.inspect }
|
|||||||
|
|
||||||
def test_CALL_aref_5
|
def test_CALL_aref_5
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `[]' for nil:NilClass
|
undefined method `[]' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
(nil)[ ]
|
(nil)[ ]
|
||||||
^^^
|
^^^
|
||||||
@ -257,7 +269,7 @@ undefined method `[]' for nil:NilClass
|
|||||||
|
|
||||||
def test_CALL_aset
|
def test_CALL_aset
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `[]=' for nil:NilClass
|
undefined method `[]=' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
nil.[]=
|
nil.[]=
|
||||||
^^^^
|
^^^^
|
||||||
@ -270,7 +282,7 @@ undefined method `[]=' for nil:NilClass
|
|||||||
def test_CALL_op_asgn
|
def test_CALL_op_asgn
|
||||||
v = nil
|
v = nil
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `+' for nil:NilClass
|
undefined method `+' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
v += 42
|
v += 42
|
||||||
^
|
^
|
||||||
@ -282,7 +294,7 @@ undefined method `+' for nil:NilClass
|
|||||||
|
|
||||||
def test_CALL_special_call_1
|
def test_CALL_special_call_1
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `call' for nil:NilClass
|
undefined method `call' for #{ NIL_RECV_MESSAGE }
|
||||||
END
|
END
|
||||||
|
|
||||||
nil.()
|
nil.()
|
||||||
@ -291,7 +303,7 @@ undefined method `call' for nil:NilClass
|
|||||||
|
|
||||||
def test_CALL_special_call_2
|
def test_CALL_special_call_2
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `call' for nil:NilClass
|
undefined method `call' for #{ NIL_RECV_MESSAGE }
|
||||||
END
|
END
|
||||||
|
|
||||||
nil.(42)
|
nil.(42)
|
||||||
@ -300,7 +312,7 @@ undefined method `call' for nil:NilClass
|
|||||||
|
|
||||||
def test_CALL_send
|
def test_CALL_send
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for nil:NilClass
|
undefined method `foo' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
nil.send(:foo, 42)
|
nil.send(:foo, 42)
|
||||||
^^^^^
|
^^^^^
|
||||||
@ -312,7 +324,7 @@ undefined method `foo' for nil:NilClass
|
|||||||
|
|
||||||
def test_ATTRASGN_1
|
def test_ATTRASGN_1
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `[]=' for nil:NilClass
|
undefined method `[]=' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
nil [ ] = 42
|
nil [ ] = 42
|
||||||
^^^^^
|
^^^^^
|
||||||
@ -324,7 +336,7 @@ undefined method `[]=' for nil:NilClass
|
|||||||
|
|
||||||
def test_ATTRASGN_2
|
def test_ATTRASGN_2
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `[]=' for nil:NilClass
|
undefined method `[]=' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
nil [0] = 42
|
nil [0] = 42
|
||||||
^^^^^
|
^^^^^
|
||||||
@ -336,7 +348,7 @@ undefined method `[]=' for nil:NilClass
|
|||||||
|
|
||||||
def test_ATTRASGN_3
|
def test_ATTRASGN_3
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo=' for nil:NilClass
|
undefined method `foo=' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
nil.foo = 42
|
nil.foo = 42
|
||||||
^^^^^^
|
^^^^^^
|
||||||
@ -348,7 +360,7 @@ undefined method `foo=' for nil:NilClass
|
|||||||
|
|
||||||
def test_ATTRASGN_4
|
def test_ATTRASGN_4
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `[]=' for nil:NilClass
|
undefined method `[]=' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
(nil)[0] = 42
|
(nil)[0] = 42
|
||||||
^^^^^
|
^^^^^
|
||||||
@ -360,7 +372,7 @@ undefined method `[]=' for nil:NilClass
|
|||||||
|
|
||||||
def test_ATTRASGN_5
|
def test_ATTRASGN_5
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo=' for nil:NilClass
|
undefined method `foo=' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
(nil).foo = 42
|
(nil).foo = 42
|
||||||
^^^^^^
|
^^^^^^
|
||||||
@ -372,7 +384,7 @@ undefined method `foo=' for nil:NilClass
|
|||||||
|
|
||||||
def test_OPCALL_binary_1
|
def test_OPCALL_binary_1
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `+' for nil:NilClass
|
undefined method `+' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
nil + 42
|
nil + 42
|
||||||
^
|
^
|
||||||
@ -384,7 +396,7 @@ undefined method `+' for nil:NilClass
|
|||||||
|
|
||||||
def test_OPCALL_binary_2
|
def test_OPCALL_binary_2
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `+' for nil:NilClass
|
undefined method `+' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
nil + # comment
|
nil + # comment
|
||||||
^
|
^
|
||||||
@ -397,7 +409,7 @@ undefined method `+' for nil:NilClass
|
|||||||
|
|
||||||
def test_OPCALL_binary_3
|
def test_OPCALL_binary_3
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `+' for nil:NilClass
|
undefined method `+' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
(nil) + 42
|
(nil) + 42
|
||||||
^
|
^
|
||||||
@ -409,7 +421,7 @@ undefined method `+' for nil:NilClass
|
|||||||
|
|
||||||
def test_OPCALL_unary_1
|
def test_OPCALL_unary_1
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `+@' for nil:NilClass
|
undefined method `+@' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
+ nil
|
+ nil
|
||||||
^
|
^
|
||||||
@ -421,7 +433,7 @@ undefined method `+@' for nil:NilClass
|
|||||||
|
|
||||||
def test_OPCALL_unary_2
|
def test_OPCALL_unary_2
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `+@' for nil:NilClass
|
undefined method `+@' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
+(nil)
|
+(nil)
|
||||||
^
|
^
|
||||||
@ -433,7 +445,7 @@ undefined method `+@' for nil:NilClass
|
|||||||
|
|
||||||
def test_FCALL_1
|
def test_FCALL_1
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for nil:NilClass
|
undefined method `foo' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
nil.instance_eval { foo() }
|
nil.instance_eval { foo() }
|
||||||
^^^
|
^^^
|
||||||
@ -445,7 +457,7 @@ undefined method `foo' for nil:NilClass
|
|||||||
|
|
||||||
def test_FCALL_2
|
def test_FCALL_2
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for nil:NilClass
|
undefined method `foo' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
nil.instance_eval { foo(42) }
|
nil.instance_eval { foo(42) }
|
||||||
^^^
|
^^^
|
||||||
@ -457,7 +469,7 @@ undefined method `foo' for nil:NilClass
|
|||||||
|
|
||||||
def test_VCALL_2
|
def test_VCALL_2
|
||||||
assert_error_message(NameError, <<~END) do
|
assert_error_message(NameError, <<~END) do
|
||||||
undefined local variable or method `foo' for nil:NilClass
|
undefined local variable or method `foo' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
nil.instance_eval { foo }
|
nil.instance_eval { foo }
|
||||||
^^^
|
^^^
|
||||||
@ -471,7 +483,7 @@ undefined local variable or method `foo' for nil:NilClass
|
|||||||
v = nil
|
v = nil
|
||||||
|
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `[]' for nil:NilClass
|
undefined method `[]' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
v [0] += 42
|
v [0] += 42
|
||||||
^^^
|
^^^
|
||||||
@ -485,7 +497,7 @@ undefined method `[]' for nil:NilClass
|
|||||||
v = nil
|
v = nil
|
||||||
|
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `[]' for nil:NilClass
|
undefined method `[]' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
v [0] += # comment
|
v [0] += # comment
|
||||||
^^^
|
^^^
|
||||||
@ -500,7 +512,7 @@ undefined method `[]' for nil:NilClass
|
|||||||
v = nil
|
v = nil
|
||||||
|
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `[]' for nil:NilClass
|
undefined method `[]' for #{ NIL_RECV_MESSAGE }
|
||||||
END
|
END
|
||||||
|
|
||||||
v [
|
v [
|
||||||
@ -514,7 +526,7 @@ undefined method `[]' for nil:NilClass
|
|||||||
v = nil
|
v = nil
|
||||||
|
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `[]' for nil:NilClass
|
undefined method `[]' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
(v)[0] += 42
|
(v)[0] += 42
|
||||||
^^^
|
^^^
|
||||||
@ -529,7 +541,7 @@ undefined method `[]' for nil:NilClass
|
|||||||
def v.[](x); nil; end
|
def v.[](x); nil; end
|
||||||
|
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `+' for nil:NilClass
|
undefined method `+' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
v [0] += 42
|
v [0] += 42
|
||||||
^
|
^
|
||||||
@ -544,7 +556,7 @@ undefined method `+' for nil:NilClass
|
|||||||
def v.[](x); nil; end
|
def v.[](x); nil; end
|
||||||
|
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `+' for nil:NilClass
|
undefined method `+' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
v [0 ] += # comment
|
v [0 ] += # comment
|
||||||
^
|
^
|
||||||
@ -560,7 +572,7 @@ undefined method `+' for nil:NilClass
|
|||||||
def v.[](x); nil; end
|
def v.[](x); nil; end
|
||||||
|
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `+' for nil:NilClass
|
undefined method `+' for #{ NIL_RECV_MESSAGE }
|
||||||
END
|
END
|
||||||
|
|
||||||
v [
|
v [
|
||||||
@ -575,7 +587,7 @@ undefined method `+' for nil:NilClass
|
|||||||
def v.[](x); nil; end
|
def v.[](x); nil; end
|
||||||
|
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `+' for nil:NilClass
|
undefined method `+' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
(v)[0] += 42
|
(v)[0] += 42
|
||||||
^
|
^
|
||||||
@ -650,7 +662,7 @@ undefined method `[]=' for #{ v.inspect }
|
|||||||
v = nil
|
v = nil
|
||||||
|
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for nil:NilClass
|
undefined method `foo' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
v.foo += 42
|
v.foo += 42
|
||||||
^^^^
|
^^^^
|
||||||
@ -664,7 +676,7 @@ undefined method `foo' for nil:NilClass
|
|||||||
v = nil
|
v = nil
|
||||||
|
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for nil:NilClass
|
undefined method `foo' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
v.foo += # comment
|
v.foo += # comment
|
||||||
^^^^
|
^^^^
|
||||||
@ -679,7 +691,7 @@ undefined method `foo' for nil:NilClass
|
|||||||
v = nil
|
v = nil
|
||||||
|
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for nil:NilClass
|
undefined method `foo' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
(v).foo += 42
|
(v).foo += 42
|
||||||
^^^^
|
^^^^
|
||||||
@ -694,7 +706,7 @@ undefined method `foo' for nil:NilClass
|
|||||||
def v.foo; nil; end
|
def v.foo; nil; end
|
||||||
|
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `+' for nil:NilClass
|
undefined method `+' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
v.foo += 42
|
v.foo += 42
|
||||||
^
|
^
|
||||||
@ -709,7 +721,7 @@ undefined method `+' for nil:NilClass
|
|||||||
def v.foo; nil; end
|
def v.foo; nil; end
|
||||||
|
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `+' for nil:NilClass
|
undefined method `+' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
v.foo += # comment
|
v.foo += # comment
|
||||||
^
|
^
|
||||||
@ -725,7 +737,7 @@ undefined method `+' for nil:NilClass
|
|||||||
def v.foo; nil; end
|
def v.foo; nil; end
|
||||||
|
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `+' for nil:NilClass
|
undefined method `+' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
(v).foo += 42
|
(v).foo += 42
|
||||||
^
|
^
|
||||||
@ -919,7 +931,7 @@ uninitialized constant ErrorHighlightTest::OP_CDECL_TEST::NotDefined
|
|||||||
|
|
||||||
def test_OP_CDECL_op_1
|
def test_OP_CDECL_op_1
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `+' for nil:NilClass
|
undefined method `+' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
OP_CDECL_TEST::Nil += 1
|
OP_CDECL_TEST::Nil += 1
|
||||||
^
|
^
|
||||||
@ -931,7 +943,7 @@ undefined method `+' for nil:NilClass
|
|||||||
|
|
||||||
def test_OP_CDECL_op_2
|
def test_OP_CDECL_op_2
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `+' for nil:NilClass
|
undefined method `+' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
OP_CDECL_TEST::Nil += # comment
|
OP_CDECL_TEST::Nil += # comment
|
||||||
^
|
^
|
||||||
@ -944,7 +956,7 @@ undefined method `+' for nil:NilClass
|
|||||||
|
|
||||||
def test_OP_CDECL_op_3
|
def test_OP_CDECL_op_3
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `+' for nil:NilClass
|
undefined method `+' for #{ NIL_RECV_MESSAGE }
|
||||||
|
|
||||||
Nil += 1
|
Nil += 1
|
||||||
^
|
^
|
||||||
@ -968,8 +980,9 @@ uninitialized constant NotDefined
|
|||||||
end
|
end
|
||||||
|
|
||||||
def test_OP_CDECL_toplevel_2
|
def test_OP_CDECL_toplevel_2
|
||||||
|
recv = NEW_MESSAGE_FORMAT ? "class ErrorHighlightTest" : "ErrorHighlightTest:Class"
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `+' for ErrorHighlightTest:Class
|
undefined method `+' for #{ recv }
|
||||||
|
|
||||||
::ErrorHighlightTest += 1
|
::ErrorHighlightTest += 1
|
||||||
^
|
^
|
||||||
@ -1030,7 +1043,7 @@ local variable `foo' is not defined for #{ b.inspect }
|
|||||||
|
|
||||||
def test_multibyte
|
def test_multibyte
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `あいうえお' for nil:NilClass
|
undefined method `あいうえお' for #{ NIL_RECV_MESSAGE }
|
||||||
END
|
END
|
||||||
|
|
||||||
nil.あいうえお
|
nil.あいうえお
|
||||||
@ -1202,7 +1215,7 @@ nil can't be coerced into Integer (TypeError)
|
|||||||
original_formatter, ErrorHighlight.formatter = ErrorHighlight.formatter, custom_formatter
|
original_formatter, ErrorHighlight.formatter = ErrorHighlight.formatter, custom_formatter
|
||||||
|
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `time' for 1:Integer
|
undefined method `time' for #{ ONE_RECV_MESSAGE }
|
||||||
|
|
||||||
{:first_lineno=>#{ __LINE__ + 3 }, :first_column=>7, :last_lineno=>#{ __LINE__ + 3 }, :last_column=>12, :snippet=>" 1.time {}\\n"}
|
{:first_lineno=>#{ __LINE__ + 3 }, :first_column=>7, :last_lineno=>#{ __LINE__ + 3 }, :last_column=>12, :snippet=>" 1.time {}\\n"}
|
||||||
END
|
END
|
||||||
@ -1220,7 +1233,7 @@ undefined method `time' for 1:Integer
|
|||||||
tmp.close
|
tmp.close
|
||||||
|
|
||||||
assert_error_message(NoMethodError, <<~END.gsub("_", "\t")) do
|
assert_error_message(NoMethodError, <<~END.gsub("_", "\t")) do
|
||||||
undefined method `time' for 1:Integer
|
undefined method `time' for #{ ONE_RECV_MESSAGE }
|
||||||
|
|
||||||
_ _1.time {}
|
_ _1.time {}
|
||||||
_ _ ^^^^^
|
_ _ ^^^^^
|
||||||
@ -1237,7 +1250,7 @@ _ _ ^^^^^
|
|||||||
tmp.close
|
tmp.close
|
||||||
|
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `time' for 1:Integer
|
undefined method `time' for #{ ONE_RECV_MESSAGE }
|
||||||
|
|
||||||
1.time {}
|
1.time {}
|
||||||
^^^^^
|
^^^^^
|
||||||
@ -1250,7 +1263,7 @@ undefined method `time' for 1:Integer
|
|||||||
|
|
||||||
def test_simulate_funcallv_from_embedded_ruby
|
def test_simulate_funcallv_from_embedded_ruby
|
||||||
assert_error_message(NoMethodError, <<~END) do
|
assert_error_message(NoMethodError, <<~END) do
|
||||||
undefined method `foo' for nil:NilClass
|
undefined method `foo' for #{ NIL_RECV_MESSAGE }
|
||||||
END
|
END
|
||||||
|
|
||||||
nil.foo + 1
|
nil.foo + 1
|
||||||
@ -1265,8 +1278,9 @@ undefined method `foo' for nil:NilClass
|
|||||||
tmp << "module Dummy\nend\n"
|
tmp << "module Dummy\nend\n"
|
||||||
tmp.close
|
tmp.close
|
||||||
|
|
||||||
|
recv = NEW_MESSAGE_FORMAT ? "an instance of String" : '"dummy":String'
|
||||||
assert_error_message(NameError, <<~END) do
|
assert_error_message(NameError, <<~END) do
|
||||||
undefined local variable or method `foo' for "dummy":String
|
undefined local variable or method `foo' for #{ recv }
|
||||||
END
|
END
|
||||||
|
|
||||||
"dummy".instance_eval do
|
"dummy".instance_eval do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user