langtools/test/jdk/jshell/JShellStateClosedTest.java
changeset 40515 819fc588bd19
parent 33362 65ec6de1d6b4
child 41514 a75c2b869d8d
--- a/langtools/test/jdk/jshell/JShellStateClosedTest.java	Mon Aug 22 15:16:30 2016 +0200
+++ b/langtools/test/jdk/jshell/JShellStateClosedTest.java	Mon Aug 22 08:18:18 2016 -0700
@@ -22,7 +22,7 @@
  */
 
 /*
- * @test
+ * @test 8164277
  * @summary Testing IllegalStateException.
  * @build KullaTesting TestingInputStream JShellStateClosedTest
  * @run testng JShellStateClosedTest
@@ -31,8 +31,11 @@
 import java.util.function.Consumer;
 
 import jdk.jshell.DeclarationSnippet;
+import jdk.jshell.ImportSnippet;
+import jdk.jshell.MethodSnippet;
 import jdk.jshell.PersistentSnippet;
 import jdk.jshell.Snippet;
+import jdk.jshell.TypeDeclSnippet;
 import jdk.jshell.VarSnippet;
 import org.testng.annotations.Test;
 
@@ -52,19 +55,42 @@
     }
 
     public void testClasses() {
-        testStateClosedException(() -> getState().types());
+        TypeDeclSnippet sc = classKey(assertEval("class C { }"));
+        TypeDeclSnippet si = classKey(assertEval("interface I { }"));
+        getState().close();
+        assertStreamMatch(getState().types(), sc, si);
     }
 
     public void testVariables() {
-        testStateClosedException(() -> getState().variables());
+        VarSnippet sx = varKey(assertEval("int x = 5;"));
+        VarSnippet sfoo = varKey(assertEval("String foo;"));
+        getState().close();
+        assertStreamMatch(getState().variables(), sx, sfoo);
     }
 
     public void testMethods() {
-        testStateClosedException(() -> getState().methods());
+        MethodSnippet smm = methodKey(assertEval("int mm() { return 6; }"));
+        MethodSnippet svv = methodKey(assertEval("void vv() { }"));
+        getState().close();
+        assertStreamMatch(getState().methods(), smm, svv);
     }
 
-    public void testKeys() {
-        testStateClosedException(() -> getState().snippets());
+    public void testImports() {
+        ImportSnippet simp = importKey(assertEval("import java.lang.reflect.*;"));
+        getState().close();
+        assertStreamMatch(getState().imports(), simp);
+    }
+
+    public void testSnippets() {
+        VarSnippet sx = varKey(assertEval("int x = 5;"));
+        VarSnippet sfoo = varKey(assertEval("String foo;"));
+        MethodSnippet smm = methodKey(assertEval("int mm() { return 6; }"));
+        MethodSnippet svv = methodKey(assertEval("void vv() { }"));
+        TypeDeclSnippet sc = classKey(assertEval("class C { }"));
+        TypeDeclSnippet si = classKey(assertEval("interface I { }"));
+        ImportSnippet simp = importKey(assertEval("import java.lang.reflect.*;"));
+        getState().close();
+        assertStreamMatch(getState().snippets(), sx, sfoo, smm, svv, sc, si, simp);
     }
 
     public void testEval() {