summaryrefslogtreecommitdiff
path: root/test/coverage
diff options
context:
space:
mode:
Diffstat (limited to 'test/coverage')
-rw-r--r--test/coverage/test_coverage.rb21
1 files changed, 21 insertions, 0 deletions
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 @@ class TestCoverage < Test::Unit::TestCase
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 }