diff --git a/test/coverage/test_coverage.rb b/test/coverage/test_coverage.rb index 882368363a..eefe7e7da6 100644 --- a/test/coverage/test_coverage.rb +++ b/test/coverage/test_coverage.rb @@ -181,6 +181,27 @@ def test_coverage_optimized_branch end; end + def test_coverage_ensure_if_return + result = { + :branches => { + [:if, 0, 3, 1, 6, 4] => { + [:then, 1, 3, 6, 3, 6] => 0, + [:else, 2, 5, 3, 5, 9] => 1, + }, + }, + } + assert_coverage(<<~"end;", { branches: true }, result) + def flush + ensure + if $! + else + return + end + end + flush + end; + end + def assert_coverage(code, opt, stdout) stdout = [stdout] unless stdout.is_a?(Array) stdout = stdout.map {|s| s.to_s }