diff options
author | Dani Megert | 2007-02-19 10:48:30 +0000 |
---|---|---|
committer | Dani Megert | 2007-02-19 10:48:30 +0000 |
commit | cbff791a52f5a4a3fd53a7457ebfeb3c28e14b4d (patch) | |
tree | 5a584c04ba83d204d1d968ae6b0b007cf6e84cbc /org.eclipse.core.filebuffers.tests | |
parent | d23c88eae1ec5414b08c6a2e9d092671cd0cccc2 (diff) | |
download | eclipse.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')
-rw-r--r-- | org.eclipse.core.filebuffers.tests/src/org/eclipse/core/filebuffers/tests/FileBuffersForNonExistingWorkspaceFiles.java | 32 |
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() */ |