Bug 198864 - Test Case
diff --git a/org.eclipse.jdt.debug.tests/testprograms/BreakpointsLocation.java b/org.eclipse.jdt.debug.tests/testprograms/BreakpointsLocation.java
index afcd4ad..ab02200 100644
--- a/org.eclipse.jdt.debug.tests/testprograms/BreakpointsLocation.java
+++ b/org.eclipse.jdt.debug.tests/testprograms/BreakpointsLocation.java
@@ -72,5 +72,13 @@
12
;
}
+
+ public static void testMethodWithInnerClass(Object type){
+ class StaticInnerClass{
+ protected StaticInnerClass(Object t){
+ System.out.println("test");
+ }
+ }
+ }
}
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/BreakpointLocationVerificationTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/BreakpointLocationVerificationTests.java
index 2822c8e..9c61a16 100755
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/BreakpointLocationVerificationTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/BreakpointLocationVerificationTests.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
+ * Copyright (c) 2000, 2007 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -57,7 +57,19 @@
* @throws JavaModelException
*/
private void testLocation(int lineToTry, int expectedLineNumber, String expectedTypeName) throws JavaModelException {
- IType type= getJavaProject().findType(expectedTypeName);
+ testLocation(lineToTry, expectedLineNumber, expectedTypeName, expectedTypeName);
+ }
+
+ /**
+ * Tests that the predefined location is locatable in the specified type
+ * @param lineToTry
+ * @param expectedLineNumber
+ * @param baseTypeName
+ * @param expectedTypeName
+ * @throws JavaModelException
+ */
+ private void testLocation(int lineToTry, int expectedLineNumber, String baseTypeName, String expectedTypeName) throws JavaModelException {
+ IType type= getJavaProject().findType(baseTypeName);
assertNotNull("Cannot find type", type);
CompilationUnit compilationUnit= parseCompilationUnit(type.getCompilationUnit());
ValidBreakpointLocationLocator locator= new ValidBreakpointLocationLocator(compilationUnit, lineToTry, true, false);
@@ -114,7 +126,7 @@
*/
public void testLineAfterAllCode() throws Exception {
// ********* this test need to be updated every time BreakpointsLocation.java is modified *************
- testLocation(74, -1, "BreakpointsLocation");
+ testLocation(82, -1, "BreakpointsLocation");
// ******************************
}
@@ -205,6 +217,14 @@
public void testLineLitteral2() throws Exception {
testLocation(55, 55, "BreakpointsLocation");
}
+
+ /**
+ * Tests a specific breakpoint location
+ * @throws Exception
+ */
+ public void testInnerStaticClass() throws Exception {
+ testLocation(79, 79, "BreakpointsLocation", "BreakpointsLocation.StaticInnerClass");
+ }
/**
* Tests that an specific field is locatable in a specific type at a given offset and line