Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDani Megert2007-02-19 10:48:30 +0000
committerDani Megert2007-02-19 10:48:30 +0000
commitcbff791a52f5a4a3fd53a7457ebfeb3c28e14b4d (patch)
tree5a584c04ba83d204d1d968ae6b0b007cf6e84cbc /org.eclipse.core.filebuffers.tests/src/org
parentd23c88eae1ec5414b08c6a2e9d092671cd0cccc2 (diff)
downloadeclipse.platform.text-cbff791a52f5a4a3fd53a7457ebfeb3c28e14b4d.tar.gz
eclipse.platform.text-cbff791a52f5a4a3fd53a7457ebfeb3c28e14b4d.tar.xz
eclipse.platform.text-cbff791a52f5a4a3fd53a7457ebfeb3c28e14b4d.zip
Fixed bug 118199: [api] TextFileBufferManager#createFileBuffer with non-existing IPath returns JavaTextFileBuffer which causes a ghost file in the workspace
Diffstat (limited to 'org.eclipse.core.filebuffers.tests/src/org')
-rw-r--r--org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForNonExistingWorkspaceFiles.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForNonExistingWorkspaceFiles.java b/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForNonExistingWorkspaceFiles.java
index 91bb2a1e144..5f1adc9c74e 100644
--- a/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForNonExistingWorkspaceFiles.java
+++ b/org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForNonExistingWorkspaceFiles.java
@@ -15,10 +15,13 @@ import org.eclipse.core.filesystem.IFileStore;
import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.filebuffers.FileBuffers;
+import org.eclipse.core.filebuffers.ITextFileBuffer;
+import org.eclipse.core.filebuffers.LocationKind;
/**
* FileBuffersForNonExistingWorkspaceFiles
@@ -42,6 +45,35 @@ public class FileBuffersForNonExistingWorkspaceFiles extends FileBufferFunctions
return filePath.makeAbsolute();
}
+ public void testBug118199() throws Exception {
+ IFile file= getProject().getWorkspace().getRoot().getFile(getPath());
+ assertFalse(file.exists());
+ fManager.connect(getPath(), null);
+ try {
+ ITextFileBuffer buffer= fManager.getTextFileBuffer(getPath());
+ buffer.getDocument().set("test");
+ buffer.commit(null, false);
+ } finally {
+ fManager.disconnect(getPath(), null);
+ }
+ assertFalse(file.exists());
+ }
+
+ public void testBug118199_fixed() throws Exception {
+ IFile file= getProject().getWorkspace().getRoot().getFileForLocation(getPath());
+ IPath path= file.getFullPath();
+ assertFalse(file.exists());
+ fManager.connect(path, LocationKind.IFILE, null);
+ try {
+ ITextFileBuffer buffer= fManager.getTextFileBuffer(path, LocationKind.IFILE);
+ buffer.getDocument().set("test");
+ buffer.commit(null, false);
+ } finally {
+ fManager.disconnect(path, null);
+ }
+ assertTrue(file.exists());
+ }
+
/*
* @see org.eclipse.core.filebuffers.tests.FileBufferFunctions#markReadOnly()
*/

Back to the top