1325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein/*
2325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein * Copyright (C) 2011 The Android Open Source Project
3325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein *
4325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein * Licensed under the Apache License, Version 2.0 (the "License");
5325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein * you may not use this file except in compliance with the License.
6325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein * You may obtain a copy of the License at
7325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein *
8325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein *      http://www.apache.org/licenses/LICENSE-2.0
9325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein *
10325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein * Unless required by applicable law or agreed to in writing, software
11325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein * distributed under the License is distributed on an "AS IS" BASIS,
12325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein * See the License for the specific language governing permissions and
14325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein * limitations under the License.
15325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein */
16325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein
17325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornsteinpackage libcore.java.lang;
18325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein
19325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornsteinimport junit.framework.TestCase;
20325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein
21325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornsteinpublic final class ClassNotFoundExceptionTest extends TestCase {
22325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein    public void testIllegalName() throws Exception {
23325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein        try {
24325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein            // There is no such thing as an array of void.
25325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein            Class.forName("[V");
26325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein            fail();
27325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein        } catch (ClassNotFoundException ex) {
28325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein            assertEquals("[V", ex.getMessage());
29325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein        }
30325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein    }
31325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein
32325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein    public void testValidName() throws Exception {
33325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein        try {
34325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein            Class.forName("blort.Zorch");
35325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein            fail();
36325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein        } catch (ClassNotFoundException ex) {
37325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein            assertEquals("blort.Zorch", ex.getMessage());
38325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein        }
39325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein    }
40325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein
41325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein    public void testValidArrayName() throws Exception {
42325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein        try {
43325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein            Class.forName("[[Lblort.Zorch;");
44325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein            fail();
45325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein        } catch (ClassNotFoundException ex) {
46325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein            assertEquals("[[Lblort.Zorch;", ex.getMessage());
47325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein        }
48325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein    }
49325b3a8fc0233a61a748e1ed942ad4f2be00b1aaDan Bornstein}
50