diff options
author | Jeremy Evans <code@jeremyevans.net> | 2019-08-11 16:22:58 -0700 |
---|---|---|
committer | Jeremy Evans <code@jeremyevans.net> | 2019-10-17 09:32:06 -0700 |
commit | 0162e7e6471b639dfeeded29943e9e27c9519826 (patch) | |
tree | 7d3a205ed67f999bda5ffd755287a318a7e5fc88 /test/ruby/test_syntax.rb | |
parent | fdfb5100b9e74cfb89b6de3649e98cb1ad85497a (diff) | |
download | ruby-0162e7e6471b639dfeeded29943e9e27c9519826.tar.gz |
Make circular argument reference a SyntaxError instead of a warning
Fixes [Bug #10314]
Diffstat (limited to 'test/ruby/test_syntax.rb')
-rw-r--r-- | test/ruby/test_syntax.rb | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/test/ruby/test_syntax.rb b/test/ruby/test_syntax.rb index 48610da46d..4b9be497d0 100644 --- a/test/ruby/test_syntax.rb +++ b/test/ruby/test_syntax.rb @@ -230,27 +230,23 @@ class TestSyntax < Test::Unit::TestCase end def test_keyword_self_reference - bug9593 = '[ruby-core:61299] [Bug #9593]' o = Object.new - assert_warn(/circular argument reference - var/) do + assert_raise(SyntaxError) do o.instance_eval("def foo(var: defined?(var)) var end") end - assert_equal(42, o.foo(var: 42)) - assert_equal("local-variable", o.foo, bug9593) o = Object.new - assert_warn(/circular argument reference - var/) do + assert_raise(SyntaxError) do o.instance_eval("def foo(var: var) var end") end - assert_nil(o.foo, bug9593) o = Object.new - assert_warn(/circular argument reference - var/) do + assert_raise(SyntaxError) do o.instance_eval("def foo(var: bar(var)) var end") end o = Object.new - assert_warn(/circular argument reference - var/) do + assert_raise(SyntaxError) do o.instance_eval("def foo(var: bar {var}) var end") end @@ -302,37 +298,33 @@ class TestSyntax < Test::Unit::TestCase end def test_optional_self_reference - bug9593 = '[ruby-core:61299] [Bug #9593]' o = Object.new - assert_warn(/circular argument reference - var/) do + assert_raise(SyntaxError) do o.instance_eval("def foo(var = defined?(var)) var end") end - assert_equal(42, o.foo(42)) - assert_equal("local-variable", o.foo, bug9593) o = Object.new - assert_warn(/circular argument reference - var/) do + assert_raise(SyntaxError) do o.instance_eval("def foo(var = var) var end") end - assert_nil(o.foo, bug9593) o = Object.new - assert_warn(/circular argument reference - var/) do + assert_raise(SyntaxError) do o.instance_eval("def foo(var = bar(var)) var end") end o = Object.new - assert_warn(/circular argument reference - var/) do + assert_raise(SyntaxError) do o.instance_eval("def foo(var = bar {var}) var end") end o = Object.new - assert_warn(/circular argument reference - var/) do + assert_raise(SyntaxError) do o.instance_eval("def foo(var = (def bar;end; var)) var end") end o = Object.new - assert_warn(/circular argument reference - var/) do + assert_raise(SyntaxError) do o.instance_eval("def foo(var = (def self.bar;end; var)) var end") end |