alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

What this is

This file is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Other links

The source code

/*
 * EditorTestCase.java
 *
 * Created on 24. srpen 2004, 12:32
 */

package org.netbeans.jellytools.modules.editor;

import java.awt.event.KeyEvent;
import java.io.File;
import org.netbeans.jellytools.EditorOperator;
import org.netbeans.jellytools.EditorWindowOperator;
import org.netbeans.jellytools.NbDialogOperator;
import org.netbeans.jellytools.ProjectsTabOperator;
import org.netbeans.jellytools.nodes.Node;
import org.netbeans.jellytools.nodes.ProjectRootNode;
import org.netbeans.jemmy.JemmyProperties;
import org.netbeans.jemmy.TimeoutExpiredException;
import org.netbeans.junit.NbTestCase;
import org.netbeans.junit.ide.ProjectSupport;

/**
 *
 * @author  Petr Felenda
 */
public class EditorTestCase extends NbTestCase {
    
    
    /** Default name of project is used if not specified in openProject method. */
    private final char treeSeparator = '|';
    private final String defaultProjectName = "tp_prj";
    private final String defaultPackageNameTreePath = "Source packages"+treeSeparator+"test";
    private final String defaultFileName = "sampel1";
    private String projectName = null;
    private String treeSubPackagePathToFile = null;
    private String fileName = null;
    private final String dialogSaveTitle = "Save";  // I18N
    
    
    
    /** Creates a new instance of EditorTestCase */
    public EditorTestCase(String testMethodName) {
        super(testMethodName);
    }
    
    
    
    /** Otevre project. Pred otevreni projectu zjisti zda neni otevren.
     * @param projectName is name of the project stored in .../editor/test/qa-functional/data/ directory.
     */
    public void openProject(String projectName) {
        this.projectName = projectName;
        File projectPath = new File(this.getDataDir(), projectName);
        log("data dir = "+this.getDataDir().toString());
        
        /* 1. check if project is open  */
        ProjectsTabOperator pto = new ProjectsTabOperator();
        pto.invoke();
        boolean isOpen = true;
        try {
            JemmyProperties.setCurrentTimeout("JTreeOperator.WaitNextNodeTimeout", 2000); 
            ProjectRootNode prn = pto.getProjectRootNode(projectName);
        } catch (TimeoutExpiredException ex) {
            ex.printStackTrace();
            isOpen = false;
            
            // This excpeiton is ok, project neni otevren.");
        }
        
        if ( isOpen ) {
            log("Project is open!");
            return;
        }
        
        
        /* 2. open project */
        Object prj= ProjectSupport.openProject(projectPath);
        
    }
    
    /** Open default projct */
    public void openProject() {
        openProject(defaultProjectName);
    }
    
    
    
    /** Zavre project */
    public void closeProject() {
        ProjectSupport.closeProject(projectName);
    }
    
    
    
    /** Open file in open project
     *  @param treeSubPath e.g. "Source Packages|test","sample1" */
    public void openFile(String treeSubPackagePathToFile, String fileName) {
        this.treeSubPackagePathToFile = treeSubPackagePathToFile;
        ProjectsTabOperator pto = new ProjectsTabOperator();
        pto.invoke();
        ProjectRootNode prn = pto.getProjectRootNode(projectName);
        prn.select();
        Node node = new Node(prn,treeSubPackagePathToFile+treeSeparator+fileName);
        node.performPopupAction("Open");
    }
    
    /** Open the default file in open project */
    public void openFile() {
        openFile(defaultPackageNameTreePath,defaultFileName);
    }
    
    /** Close file in open project.
     */
    public void closeFile() {
        try {
           EditorWindowOperator editorWindow = new EditorWindowOperator(fileName);
           //find editor
           EditorOperator editor = editorWindow.selectPage(fileName);
           editor.close();
        } catch ( TimeoutExpiredException ex) {
            log("Vyjimka "+ex.getMessage());
            log("Nepodarilo se zavrit file");
        }
    }
    
    /** Close file in open project.
     */
    public void closeFileWithSave() {
        try {
           EditorWindowOperator editorWindow = new EditorWindowOperator(fileName);
           //find editor
           EditorOperator editor = editorWindow.selectPage(fileName);
           editor.close();
           NbDialogOperator dialog = new NbDialogOperator(dialogSaveTitle);
           dialog.pushKey(KeyEvent.VK_ENTER);
        } catch ( TimeoutExpiredException ex) {
            log("Vyjimka "+ex.getMessage());
            log("Nepodarilo se zavrit file");
        }
    }
    
    
    /** Close file in open project.
     */
    public void closeFileWithDiscard() {
        try {
           EditorWindowOperator editorWindow = new EditorWindowOperator(fileName);
           //find editor
           EditorOperator editor = editorWindow.selectPage(fileName);
           editor.close();
           NbDialogOperator dialog = new NbDialogOperator(dialogSaveTitle);
           dialog.pushKey(KeyEvent.VK_D,KeyEvent.ALT_MASK);
        } catch ( TimeoutExpiredException ex) {
            log("Vyjimka "+ex.getMessage());
            log("Nepodarilo se zavrit file");
        }
    }
    
    /** Close dialog with added title
     * @param title dialog title */
    public void closeDialog(String title) {
        NbDialogOperator dialog = new NbDialogOperator(title);
        dialog.closeByButton();
    }
    
    
    public boolean diff() {
        return false;        
    }
    
}
... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.