aboutsummaryrefslogtreecommitdiffstats
path: root/test/ruby/test_class.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-11-16 05:36:42 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-11-16 05:36:42 +0000
commit7db6e5c3198715aa4f6b8f4f9dcff7cc4b637eca (patch)
treecb5a01be40ffc9f21e2eeae47d2967552d326b15 /test/ruby/test_class.rb
parentf6c20fdbea460b65fdd4ac32ebae88a1edebbada (diff)
downloadruby-7db6e5c3198715aa4f6b8f4f9dcff7cc4b637eca.tar.gz
parse.y: no return in class
* parse.y (k_return): prohibit return in class/module body except for singleton class. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_class.rb')
-rw-r--r--test/ruby/test_class.rb12
1 files changed, 10 insertions, 2 deletions
diff --git a/test/ruby/test_class.rb b/test/ruby/test_class.rb
index 0986e64fbb..bb8a3c574d 100644
--- a/test/ruby/test_class.rb
+++ b/test/ruby/test_class.rb
@@ -241,15 +241,23 @@ class TestClass < Test::Unit::TestCase
assert_equal("TestClass::C\u{df}", c.name, '[ruby-core:24600]')
end
- def test_invalid_jump_from_class_definition
+ def test_invalid_next_from_class_definition
assert_raise(SyntaxError) { eval("class C; next; end") }
+ end
+
+ def test_invalid_break_from_class_definition
assert_raise(SyntaxError) { eval("class C; break; end") }
+ end
+
+ def test_invalid_redo_from_class_definition
assert_raise(SyntaxError) { eval("class C; redo; end") }
+ end
+
+ def test_invalid_retry_from_class_definition
assert_raise(SyntaxError) { eval("class C; retry; end") }
end
def test_invalid_return_from_class_definition
- skip "Wrongly return from this method"
assert_raise(SyntaxError) { eval("class C; return; end") }
end