langtools/test/jdk/jshell/CompletionSuggestionTest.java
changeset 40837 d071bcc8d32e
parent 40770 dfccc36b61b6
child 41527 e8f487b79e24
--- a/langtools/test/jdk/jshell/CompletionSuggestionTest.java	Wed Sep 07 12:15:22 2016 -0700
+++ b/langtools/test/jdk/jshell/CompletionSuggestionTest.java	Thu Sep 08 15:48:28 2016 +0200
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8141092 8153761
+ * @bug 8131025 8141092 8153761
  * @summary Test Completion
  * @modules jdk.compiler/com.sun.tools.javac.api
  *          jdk.compiler/com.sun.tools.javac.main
@@ -610,4 +610,26 @@
         keepParameterNames.setAccessible(true);
         keepParameterNames.set(getAnalysis(), new String[0]);
     }
+
+    public void testBrokenClassFile2() throws IOException {
+        Path broken = outDir.resolve("broken");
+        compiler.compile(broken,
+                "package p;\n" +
+                "public class BrokenA {\n" +
+                "}",
+                "package p.q;\n" +
+                "public class BrokenB {\n" +
+                "}",
+                "package p;\n" +
+                "public class BrokenC {\n" +
+                "}");
+        Path cp = compiler.getPath(broken);
+        Path target = cp.resolve("p").resolve("BrokenB.class");
+        Files.deleteIfExists(target);
+        Files.move(cp.resolve("p").resolve("q").resolve("BrokenB.class"), target);
+        addToClasspath(cp);
+
+        assertEval("import p.*;");
+        assertCompletion("Broke|", "BrokenA", "BrokenC");
+    }
 }