blob: 944e945f46d8bb787955c597df04fd4299010a4f [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package javahelp.gui;
import junit.framework.Test;
import org.netbeans.jellytools.Bundle;
import org.netbeans.jellytools.HelpOperator;
import org.netbeans.jellytools.JellyTestCase;
import org.netbeans.jellytools.MainWindowOperator;
import org.netbeans.jellytools.NbDialogOperator;
import org.netbeans.jellytools.OptionsOperator;
import org.netbeans.jellytools.actions.HelpAction;
import org.netbeans.jemmy.operators.JButtonOperator;
import org.netbeans.jemmy.operators.JMenuBarOperator;
import org.netbeans.jemmy.operators.JTreeOperator;
import org.netbeans.junit.NbModuleSuite;
//import org.netbeans.jellytools.Bundle;
//import org.netbeans.jellytools.JellyTestCase;
//import org.netbeans.jellytools.HelpOperator;
//import org.netbeans.jellytools.MainWindowOperator;
//import org.netbeans.jellytools.NbDialogOperator;
//import org.netbeans.jellytools.OptionsOperator;
//import org.netbeans.jellytools.actions.HelpAction;
//
//import org.netbeans.jemmy.operators.JButtonOperator;
//import org.netbeans.jemmy.operators.JMenuBarOperator;
//import org.netbeans.jemmy.operators.JTreeOperator;
//import org.netbeans.junit.NbModuleSuite;
//import junit.framework.Test;
/**
* JellyTestCase test case with implemented Java Help Test support stuff
*
* @author mmirilovic@netbeans.org
*/
public class JavaHelpDialogTest extends JellyTestCase {
private HelpOperator helpWindow;
/** Creates a new instance of JavaHelpDialogTest */
public JavaHelpDialogTest(String testName) {
super(testName);
}
public static Test suite() {
return NbModuleSuite.create(
NbModuleSuite.createConfiguration(JavaHelpDialogTest.class)
.addTest("testHelpF1")
.addTest("testHelpFromMenu")
.addTest("testHelpByButtonNonModal")
.addTest("testHelpByButtonModal")
.addTest("testContextualSearch")
.addTest("testHelpByButtonNestedModal")
.gui(true)
.enableModules(".*")
.clusters(".*") );
}
@Override
public void setUp() {
}
@Override
public void tearDown() {
closeAllModal();
if (helpWindow != null && helpWindow.isVisible()) {
helpWindow.close();
}
helpWindow = null;
}
public void testHelpF1() {
MainWindowOperator.getDefault().pressKey(java.awt.event.KeyEvent.VK_F1);
new org.netbeans.jemmy.EventTool().waitNoEvent(7000);
helpWindow = new HelpOperator();
}
public void testHelpFromMenu() {
new HelpAction().performMenu();
helpWindow = new HelpOperator();
}
public void testHelpCoreFromMenu() {
String helpMenu = Bundle.getStringTrimmed("org.netbeans.core.Bundle", "Menu/Help"); // Help
String helpSetsMenu = Bundle.getStringTrimmed("org.netbeans.modules.javahelp.resources.Bundle", "Menu/Help/HelpShortcuts"); // Help Sets
String coreIDEHelpMenu = Bundle.getString("org.netbeans.modules.usersguide.Bundle", "Actions/Help/org-netbeans-modules-usersguide-mainpage.xml"); // Core IDE Help
MainWindowOperator.getDefault().menuBar().pushMenu(helpMenu + "|" + helpSetsMenu + "|" + coreIDEHelpMenu, "|");
helpWindow = new HelpOperator();
}
public void testHelpByButtonNonModal() {
OptionsOperator.invoke();
OptionsOperator options = new OptionsOperator();
options.help();
helpWindow = new HelpOperator();
options.close();
}
public void testHelpByButtonModal() {
String toolsMenu = Bundle.getStringTrimmed("org.netbeans.core.ui.resources.Bundle", "Menu/Tools"); // Tools
String javaPlatformMenu = Bundle.getStringTrimmed("org.netbeans.modules.java.platform.ui.Bundle", "CTL_PlatformManager"); // Java Platforms
new JMenuBarOperator(MainWindowOperator.getDefault().getJMenuBar()).pushMenuNoBlock(toolsMenu + "|" + javaPlatformMenu, "|");
new NbDialogOperator(Bundle.getStringTrimmed("org.netbeans.api.java.platform.Bundle", "TXT_PlatformsManager")).help(); // Java Platform Manager
helpWindow = new HelpOperator();
}
public void testHelpByButtonNestedModal() {
String toolsMenu = Bundle.getStringTrimmed("org.netbeans.core.ui.resources.Bundle", "Menu/Tools"); // Tools
String javaPlatformMenu = Bundle.getStringTrimmed("org.netbeans.modules.java.platform.ui.Bundle", "CTL_PlatformManager"); // Java Platforms
new JMenuBarOperator(MainWindowOperator.getDefault().getJMenuBar()).pushMenuNoBlock(toolsMenu + "|" + javaPlatformMenu, "|");
//new NbDialogOperator(Bundle.getStringTrimmed("org.netbeans.core.ui.Bundle", "CTL_SetupWizardTitle")).help(); // Setup Wizard
NbDialogOperator javaPlatformManager = new NbDialogOperator(Bundle.getStringTrimmed("org.netbeans.api.java.platform.Bundle", "TXT_PlatformsManager"));// Java Platform Manager
new JButtonOperator(javaPlatformManager, Bundle.getStringTrimmed("org.netbeans.modules.java.platform.ui.Bundle", "CTL_AddPlatform")).pushNoBlock(); // Add Platform...
NbDialogOperator addJavaPlatform = new NbDialogOperator(Bundle.getStringTrimmed("org.netbeans.modules.java.platform.ui.Bundle", "CTL_AddPlatformTitle"));// Add Java Platform
addJavaPlatform.help();
helpWindow = new HelpOperator();
// close
addJavaPlatform.cancel();
javaPlatformManager.closeByButton();
}
public void testContextualSearch() {
new HelpAction().perform();
helpWindow = new HelpOperator();
helpWindow.selectPageSearch();
helpWindow.searchFind("compile");
try {
Thread.sleep(5000);
} catch (Exception exc) {
exc.printStackTrace(getLog());
}
JTreeOperator tree = helpWindow.treeSearch();
log("Selection path=" + tree.getSelectionPath());
log("Selection count=" + tree.getSelectionCount());
if (tree.getSelectionCount() < 1) {
fail("None founded text in the help, it isn't obvious");
}
}
/** Test could be executed internaly in Forte without XTest
* @param args arguments from command line
*/
// public static void main(String[] args) {
// junit.textui.TestRunner.run(suite());
// }
}