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