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 junit.framework.*;
27 import junit.textui.*;
31 public class PR58 extends TestCase {
32 public static void main(String[] args) {
33 TestRunner.run(suite());
36 public static Test suite() {
37 return new TestSuite(PR58.class);
43 public void testSuperClass() {
44 // Delete the class file which is extended.
45 new File("PR58$y.class").delete();
48 Class.forName("PR58$x");
49 fail("Should throw NoClassDefFoundError");
51 catch (ClassNotFoundException error) {
52 fail("Unexpected exception: " + error);
54 catch (NoClassDefFoundError success) {
55 // Check if the cause is correct.
56 assertTrue(success.getCause() instanceof ClassNotFoundException);
61 class j implements i {}
63 public void testSuperInterface() {
64 // Delete the interface file which is implemented.
65 new File("PR58$i.class").delete();
68 Class.forName("PR58$j");
69 fail("Should throw NoClassDefFoundError");
71 catch (ClassNotFoundException error) {
72 fail("Unexpected exception: " + error);
74 catch (NoClassDefFoundError success) {
75 // Check if the cause is correct.
76 assertTrue(success.getCause() instanceof ClassNotFoundException);