Index: CloneableEditorSupportTest.java =================================================================== RCS file: /cvs/openide/test/unit/src/org/openide/text/CloneableEditorSupportTest.java,v retrieving revision 1.5 diff -u -r1.5 CloneableEditorSupportTest.java --- CloneableEditorSupportTest.java 18 Dec 2003 16:02:56 -0000 1.5 +++ CloneableEditorSupportTest.java 19 Dec 2003 09:07:10 -0000 @@ -166,6 +166,45 @@ assertGC ("Document can dissapear", ref); } + public void testDocumentBeGarbageCollectedWhenNotModifiedButOpened () throws Exception { + content = "Ahoj\nMyDoc"; + javax.swing.text.Document doc = support.openDocument (); + assertNotNull (doc); + + java.lang.ref.WeakReference ref = new java.lang.ref.WeakReference (doc); + doc = null; + + assertGC ("Document can dissapear", ref); + + assertFalse ("Document is not loaded", support.isDocumentLoaded ()); + assertTrue ("Can be closed without problems", support.close ()); + } + + public void testDocumentIsNotGCedIfModified () throws Exception { + content = "Ahoj\nMyDoc"; + javax.swing.text.Document doc = support.openDocument (); + assertNotNull (doc); + doc.insertString (0, "Zmena", null); + + assertTrue ("Is modified", support.isModified ()); + + java.lang.ref.WeakReference ref = new java.lang.ref.WeakReference (doc); + doc = null; + + boolean ok; + try { + assertGC ("Should fail", ref); + ok = false; + } catch (AssertionFailedError expected) { + ok = true; + } + if (!ok) { + fail ("Document should not disappear, as it is modified"); + } + + assertTrue ("Document remains loaded", support.isDocumentLoaded ()); + + } private void compareStreamWithString(InputStream is, String s) throws Exception{ int i;