Package org.digitalsoul.loom.core

Source Code of org.digitalsoul.loom.core.EditorFileOpenerTest

package org.digitalsoul.loom.core;

import org.digitalsoul.loom.core.prefs.Preferences;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jdt.internal.ui.javaeditor.JavaEditor;
import org.eclipse.ui.IFileEditorInput;
import org.eclipse.ui.editors.text.TextEditor;
import org.eclipse.ui.ide.IDE;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

/**
* Class SwitchFilesTest
*/
public class EditorFileOpenerTest extends ProjectBasedTest {

    /**
     *
     */
    private IFile templateFile;
   
    /**
     *
     */
    private IFile localTemplateFile;

    /**
     *
     */
    @Before
    public void setupTemplateFiles() {

        try {
            ProjectBuilder builder = new ProjectBuilder(javaProject);
            Assert.assertTrue(templateFolder.exists());
            IFolder orgFolder = builder.createFolder(templateFolder, "org");
            Assert.assertTrue(orgFolder.exists());
            IFolder loomFolder = builder.createFolder(orgFolder, "loom");
            Assert.assertTrue(loomFolder.exists());
            templateFile = builder.createFile(loomFolder, "Wizard.html", "<html></html>");
            Assert.assertTrue(templateFile.exists());
           
            IFolder localLoomFolder = builder.createFolder(builder.createFolder(javaFolder, "org"), "loom");
            Assert.assertTrue(localLoomFolder.exists());
            localTemplateFile = builder.createFile(localLoomFolder, "Wizard.tml", "bla");
            Assert.assertTrue(localTemplateFile.exists());
        }
        catch (CoreException coreException) {
            coreException.printStackTrace();
        }
    }

    /**
     *
     */
    @Test
    public void testSwitchToTemplate() {
        Preferences.setJavaPackageFragmentRoot("src/main/javaxx");
        Preferences.setTemplateFileExtension(LoomConstants.HTML_FILE_EXTENSION);
        EditorFileOpener.getInstance().switchToTemplateOrJavaFile(javaFile);
        IDE.setDefaultEditor(templateFile, "org.eclipse.ui.DefaultTextEditor");
        TextEditor currentEditor = (TextEditor) getActiveEditor();
        IFileEditorInput input = (IFileEditorInput) currentEditor.getEditorInput();
        Assert.assertEquals("Wizard.html", input.getFile().getName());
    }
   
    /**
     *
     */
    @Test
    public void testGetTemplateFilePath() {
        Preferences.setJavaPackageFragmentRoot("src/main/javaxx");
        Assert.assertEquals("src/main/javaxx/org/loom/Wizard.java", javaFile.getProjectRelativePath().toPortableString());
        IPath path = EditorFileOpener.getInstance().getTemplateFilePath(javaFile);
        Assert.assertEquals("src/main/webapp/org/loom", path.toPortableString());
    }
   
    /**
     *
     */
    @Test
    public void testSwitchToLocalTemplate() {
        Preferences.setCreateTemplateInJavaFolder(true);
        Preferences.setTemplateFileExtension(LoomConstants.TML_FILE_EXTENSION);
        EditorFileOpener.getInstance().switchToTemplateOrJavaFile(javaFile);
        IDE.setDefaultEditor(localTemplateFile, "org.eclipse.ui.DefaultTextEditor");
        TextEditor currentEditor = (TextEditor) getActiveEditor();
        IFileEditorInput input = (IFileEditorInput) currentEditor.getEditorInput();
        Assert.assertEquals("Wizard.tml", input.getFile().getName());
    }

    /**
     *
     */
    @Test
    public void testSwitchToJavaFile() {
        Preferences.setTemplateFileExtension(LoomConstants.HTML_FILE_EXTENSION);
        EditorFileOpener.getInstance().switchToTemplateOrJavaFile(templateFile);
        JavaEditor currentEditor = (JavaEditor) getActiveEditor();
        IFileEditorInput input = (IFileEditorInput) currentEditor.getEditorInput();
        Assert.assertEquals("Wizard.java", input.getFile().getName());
    }
}
TOP

Related Classes of org.digitalsoul.loom.core.EditorFileOpenerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.