diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2023-07-19 00:43:25 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2023-07-19 00:43:25 +0900 |
commit | 9c94db7cfc584e982a6449b72e58a1cf25024177 (patch) | |
tree | 721dd9af558bf8ee1a5c38511bc9dd3605946dfa /spec | |
parent | d6ad334d6ed55778961b05b1a4fa18912230bf12 (diff) | |
download | ruby-9c94db7cfc584e982a6449b72e58a1cf25024177.tar.gz |
Add tests for `return` in `BEGIN` and `END` blocks
Diffstat (limited to 'spec')
-rw-r--r-- | spec/ruby/language/return_spec.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/spec/ruby/language/return_spec.rb b/spec/ruby/language/return_spec.rb index 94c15b697e..a62ed1242d 100644 --- a/spec/ruby/language/return_spec.rb +++ b/spec/ruby/language/return_spec.rb @@ -435,6 +435,21 @@ describe "The return keyword" do end end + describe "within BEGIN" do + it "is allowed" do + File.write(@filename, <<-END_OF_CODE) + BEGIN { + ScratchPad << "before call" + return + ScratchPad << "after call" + } + END_OF_CODE + + load @filename + ScratchPad.recorded.should == ["before call"] + end + end + describe "file loading" do it "stops file loading and execution" do File.write(@filename, <<-END_OF_CODE) |