Search in sources :

Example 31 with ITextFileBuffer

use of org.eclipse.core.filebuffers.ITextFileBuffer in project eclipse.platform.text by eclipse.

the class FileStoreFileBufferFunctions method test5.

/*
	 * Tests getModificationStamp.
	 */
@Test
public void test5() throws Exception {
    fManager.connectFileStore(fFileStore, null);
    try {
        ITextFileBuffer fileBuffer = fManager.getFileStoreTextFileBuffer(fFileStore);
        long modificationStamp = fileBuffer.getModificationStamp();
        IFileInfo fileInfo = fFileStore.fetchInfo();
        assertEquals(modificationStamp != IDocumentExtension4.UNKNOWN_MODIFICATION_STAMP, fileInfo.exists());
        fileInfo.setLastModified(1000);
        if (fileInfo.exists())
            fFileStore.putInfo(fileInfo, EFS.SET_LAST_MODIFIED, null);
        long lastModified = fFileStore.fetchInfo().getLastModified();
        assertTrue(lastModified == EFS.NONE || modificationStamp != fileBuffer.getModificationStamp());
    } finally {
        fManager.disconnectFileStore(fFileStore, null);
    }
}
Also used : IFileInfo(org.eclipse.core.filesystem.IFileInfo) ITextFileBuffer(org.eclipse.core.filebuffers.ITextFileBuffer) Test(org.junit.Test)

Example 32 with ITextFileBuffer

use of org.eclipse.core.filebuffers.ITextFileBuffer in project eclipse.platform.text by eclipse.

the class FileStoreFileBufferFunctions method test15.

/*
	 * Test IFileBufferListener#underlyingFileMoved
	 */
@Test
public void test15() throws Exception {
    class Listener extends FileBufferListener {

        public IFileBuffer buffer;

        public int count;

        public IPath newLocation;

        @Override
        public void underlyingFileMoved(IFileBuffer buf, IPath location) {
            ++count;
            this.buffer = buf;
            this.newLocation = location;
        }
    }
    Listener listener = new Listener();
    fManager.addFileBufferListener(listener);
    try {
        ITextFileBuffer fileBuffer = fManager.getFileStoreTextFileBuffer(fFileStore);
        assertTrue(listener.count == 0 && listener.buffer == null);
        fManager.connectFileStore(fFileStore, null);
        try {
            fileBuffer = fManager.getFileStoreTextFileBuffer(fFileStore);
            IPath newLocation = moveUnderlyingFile();
            if (newLocation != null) {
                assertTrue(listener.count == 1);
                assertTrue(listener.buffer == fileBuffer);
                assertEquals(listener.newLocation, newLocation);
            }
        } finally {
            fManager.disconnectFileStore(fFileStore, null);
        }
    } finally {
        fManager.removeFileBufferListener(listener);
    }
}
Also used : IPath(org.eclipse.core.runtime.IPath) IFileBuffer(org.eclipse.core.filebuffers.IFileBuffer) ITextFileBuffer(org.eclipse.core.filebuffers.ITextFileBuffer) Test(org.junit.Test)

Example 33 with ITextFileBuffer

use of org.eclipse.core.filebuffers.ITextFileBuffer in project eclipse.platform.text by eclipse.

the class FileStoreFileBufferFunctions method test11_1.

/*
	 * Test IFileBufferListener#dirtyStateChanged
	 */
@Test
public void test11_1() throws Exception {
    class Listener extends FileBufferListener {

        public IFileBuffer buffer;

        public int count;

        public boolean isDirty;

        @Override
        public void dirtyStateChanged(IFileBuffer buf, boolean state) {
            ++count;
            this.buffer = buf;
            this.isDirty = state;
        }
    }
    Listener listener = new Listener();
    fManager.addFileBufferListener(listener);
    try {
        ITextFileBuffer fileBuffer = fManager.getFileStoreTextFileBuffer(fFileStore);
        assertTrue(listener.count == 0 && listener.buffer == null);
        fManager.connectFileStore(fFileStore, null);
        try {
            fileBuffer = fManager.getFileStoreTextFileBuffer(fFileStore);
            IDocument document = fileBuffer.getDocument();
            document.replace(0, 0, "prefix");
            assertTrue(listener.count == 1);
            assertTrue(listener.buffer == fileBuffer);
            assertTrue(listener.isDirty);
            fileBuffer.commit(null, true);
            assertTrue(listener.count == 2);
            assertTrue(listener.buffer == fileBuffer);
            assertFalse(listener.isDirty);
        } finally {
            fManager.disconnectFileStore(fFileStore, null);
        }
    } finally {
        fManager.removeFileBufferListener(listener);
    }
}
Also used : IFileBuffer(org.eclipse.core.filebuffers.IFileBuffer) ITextFileBuffer(org.eclipse.core.filebuffers.ITextFileBuffer) IDocument(org.eclipse.jface.text.IDocument) Test(org.junit.Test)

Example 34 with ITextFileBuffer

use of org.eclipse.core.filebuffers.ITextFileBuffer in project eclipse.platform.text by eclipse.

the class FileStoreFileBufferFunctions method test9_2.

/*
	 * Test resetStateValidation.
	 */
@Test
public void test9_2() throws Exception {
    fManager.connectFileStore(fFileStore, null);
    try {
        setReadOnly(true);
        ITextFileBuffer fileBuffer = fManager.getFileStoreTextFileBuffer(fFileStore);
        fileBuffer.validateState(null, null);
        fileBuffer.resetStateValidation();
        if (isStateValidationSupported())
            assertFalse(fileBuffer.isStateValidated());
    } finally {
        setReadOnly(false);
        fManager.disconnectFileStore(fFileStore, null);
    }
}
Also used : ITextFileBuffer(org.eclipse.core.filebuffers.ITextFileBuffer) Test(org.junit.Test)

Example 35 with ITextFileBuffer

use of org.eclipse.core.filebuffers.ITextFileBuffer in project eclipse.platform.text by eclipse.

the class FileBufferCreation method test3_2_new.

/*
	 * Tests the creation of a file buffer for a file in a linked folder.
	 */
@Test
public void test3_2_new() throws Exception {
    IPath path = createLinkedFolder("linkedFolder", "testResources/linkedFolderTarget");
    assertNotNull(path);
    path = path.append("FileInLinkedFolder");
    ITextFileBufferManager manager = FileBuffers.getTextFileBufferManager();
    manager.connect(path, LocationKind.IFILE, null);
    ITextFileBuffer buffer = manager.getTextFileBuffer(path, LocationKind.IFILE);
    Assert.assertNotNull(buffer);
    IDocument document = buffer.getDocument();
    Assert.assertNotNull(document);
    Assert.assertTrue(CONTENT4.equals(document.get()));
    assertSame(buffer, manager.getTextFileBuffer(document));
    manager.disconnect(path, LocationKind.IFILE, null);
    assertNull(manager.getTextFileBuffer(path, LocationKind.IFILE));
}
Also used : IPath(org.eclipse.core.runtime.IPath) ITextFileBufferManager(org.eclipse.core.filebuffers.ITextFileBufferManager) ITextFileBuffer(org.eclipse.core.filebuffers.ITextFileBuffer) IDocument(org.eclipse.jface.text.IDocument) Test(org.junit.Test)

Aggregations

ITextFileBuffer (org.eclipse.core.filebuffers.ITextFileBuffer)133 Test (org.junit.Test)85 IDocument (org.eclipse.jface.text.IDocument)54 IFileBuffer (org.eclipse.core.filebuffers.IFileBuffer)37 ITextFileBufferManager (org.eclipse.core.filebuffers.ITextFileBufferManager)35 IPath (org.eclipse.core.runtime.IPath)31 IFile (org.eclipse.core.resources.IFile)18 BadLocationException (org.eclipse.jface.text.BadLocationException)15 IFileStore (org.eclipse.core.filesystem.IFileStore)9 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)9 CoreException (org.eclipse.core.runtime.CoreException)8 Position (org.eclipse.jface.text.Position)8 IFileInfo (org.eclipse.core.filesystem.IFileInfo)7 IAnnotationModel (org.eclipse.jface.text.source.IAnnotationModel)7 Match (org.eclipse.search.ui.text.Match)7 IFolder (org.eclipse.core.resources.IFolder)5 IStatus (org.eclipse.core.runtime.IStatus)5 Path (org.eclipse.core.runtime.Path)5 SubProgressMonitor (org.eclipse.core.runtime.SubProgressMonitor)5 Status (org.eclipse.core.runtime.Status)4