test/script/basic/JDK-8075090.js

Tue, 21 Mar 2017 13:41:57 -0700

author
asaha
date
Tue, 21 Mar 2017 13:41:57 -0700
changeset 2160
1df40fe54cd6
parent 1482
58791cd01bc9
permissions
-rw-r--r--

Merge

attila@1343 1 /*
sundar@1482 2 * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
attila@1343 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
sundar@1482 4 *
attila@1343 5 * This code is free software; you can redistribute it and/or modify it
attila@1343 6 * under the terms of the GNU General Public License version 2 only, as
attila@1343 7 * published by the Free Software Foundation.
sundar@1482 8 *
attila@1343 9 * This code is distributed in the hope that it will be useful, but WITHOUT
attila@1343 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
attila@1343 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
attila@1343 12 * version 2 for more details (a copy is included in the LICENSE file that
attila@1343 13 * accompanied this code).
sundar@1482 14 *
attila@1343 15 * You should have received a copy of the GNU General Public License version
attila@1343 16 * 2 along with this work; if not, write to the Free Software Foundation,
attila@1343 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
sundar@1482 18 *
attila@1343 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
attila@1343 20 * or visit www.oracle.com if you need additional information or have any
attila@1343 21 * questions.
attila@1343 22 */
attila@1343 23
attila@1343 24 /**
attila@1343 25 * JDK-8075090: Add tests for the basic failure of try/finally compilation
attila@1343 26 *
attila@1343 27 * @test
attila@1343 28 * @run
attila@1343 29 */
attila@1343 30
attila@1343 31 (function() {
attila@1343 32 var finallyExpected = false;
attila@1343 33 try {
attila@1343 34 for(var i = 0; i < 2; ++i) {
attila@1343 35 if(i == 1) {
attila@1343 36 continue;
attila@1343 37 }
attila@1343 38 }
attila@1343 39 finallyExpected = true;
attila@1343 40 } finally {
attila@1343 41 Assert.assertTrue(finallyExpected);
attila@1343 42 }
attila@1343 43 })();
attila@1343 44
attila@1343 45 (function() {
attila@1343 46 var finallyExpected = false;
attila@1343 47 try {
attila@1343 48 for(var i = 0; i < 2; ++i) {
attila@1343 49 if(i == 1) {
attila@1343 50 break;
attila@1343 51 }
attila@1343 52 }
attila@1343 53 finallyExpected = true;
attila@1343 54 } finally {
attila@1343 55 Assert.assertTrue(finallyExpected);
attila@1343 56 }
attila@1343 57 })();
attila@1343 58
attila@1343 59 (function() {
attila@1343 60 var finallyExpected = false;
attila@1343 61 try {
attila@1343 62 L1: {
attila@1343 63 if ((function(){return true})()) {
attila@1343 64 break L1;
attila@1343 65 }
attila@1343 66 Assert.fail(); // unreachable
attila@1343 67 }
attila@1343 68 finallyExpected = true;
attila@1343 69 } finally {
attila@1343 70 Assert.assertTrue(finallyExpected);
attila@1343 71 }
attila@1343 72 })();

mercurial