1 /* tests/regression/bugzilla/PR58.java
4 CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
6 This file is part of CACAO.
8 This program is free software; you can redistribute it and/or
9 modify it under the terms of the GNU General Public License as
10 published by the Free Software Foundation; either version 2, or (at
11 your option) any later version.
13 This program is distributed in the hope that it will be useful, but
14 WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
26 import org.junit.Test;
27 import static org.junit.Assert.*;
36 public void testSuperClass() {
37 // Delete the class file which is extended.
38 new File("PR58$y.class").delete();
41 Class.forName("PR58$x");
42 fail("Should throw NoClassDefFoundError");
44 catch (ClassNotFoundException error) {
45 fail("Unexpected exception: " + error);
47 catch (NoClassDefFoundError success) {
48 // Check if the cause is correct.
49 assertTrue(success.getCause() instanceof ClassNotFoundException);
54 class j implements i {}
57 public void testSuperInterface() {
58 // Delete the interface file which is implemented.
59 new File("PR58$i.class").delete();
62 Class.forName("PR58$j");
63 fail("Should throw NoClassDefFoundError");
65 catch (ClassNotFoundException error) {
66 fail("Unexpected exception: " + error);
68 catch (NoClassDefFoundError success) {
69 // Check if the cause is correct.
70 assertTrue(success.getCause() instanceof ClassNotFoundException);