blob: 80523c4f88019c8a2682e4f1c92baafab2cc898c [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2003 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.swt.tests.junit;
import junit.framework.*;
import junit.textui.*;
import org.eclipse.swt.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.widgets.*;
/**
* Automated Test Suite for class org.eclipse.swt.widgets.MenuItem
*
* @see org.eclipse.swt.widgets.MenuItem
*/
public class Test_org_eclipse_swt_widgets_MenuItem extends Test_org_eclipse_swt_widgets_Item {
public Test_org_eclipse_swt_widgets_MenuItem(String name) {
super(name);
}
public static void main(String[] args) {
TestRunner.run(suite());
}
protected void setUp() {
super.setUp();
menu = new Menu(shell);
menuItem = new MenuItem(menu, 0);
setWidget(menuItem);
}
protected void tearDown() {
super.tearDown();
}
public void test_ConstructorLorg_eclipse_swt_widgets_MenuI() {
MenuItem mItem = new MenuItem(menu, SWT.NULL);
assertNotNull(mItem);
try {
new MenuItem(null, SWT.NULL);
fail("No exception thrown");
}
catch (IllegalArgumentException e) {
}
mItem = new MenuItem(menu, SWT.CHECK);
assertTrue(mItem.getStyle()==SWT.CHECK);
mItem.dispose();
mItem = new MenuItem(menu, SWT.CASCADE);
assertTrue(mItem.getStyle()==SWT.CASCADE);
mItem.dispose();
mItem = new MenuItem(menu, SWT.PUSH);
assertTrue(mItem.getStyle()==SWT.PUSH);
mItem.dispose();
mItem = new MenuItem(menu, SWT.SEPARATOR);
assertTrue(mItem.getStyle()==SWT.SEPARATOR);
mItem.dispose();
mItem = new MenuItem(menu, SWT.RADIO);
assertTrue(mItem.getStyle()==SWT.RADIO);
mItem.dispose();
}
public void test_ConstructorLorg_eclipse_swt_widgets_MenuII() {
MenuItem mItem = new MenuItem(menu, SWT.NULL, 0); //create a menu item at index 0
assertNotNull(mItem);
assertTrue(menu.getItem(0).equals(mItem));
mItem = new MenuItem(menu, SWT.NULL, 1);
assertNotNull(mItem);
assertTrue(menu.getItem(1).equals(mItem));
}
public void test_addArmListenerLorg_eclipse_swt_events_ArmListener() {
listenerCalled = false;
ArmListener listener = new ArmListener() {
public void widgetArmed(ArmEvent e) {
listenerCalled = true;
};
};
try {
menuItem.addArmListener(null);
fail("No exception thrown for addArmListener with null argument");
} catch (IllegalArgumentException e) {
}
menuItem.addArmListener(listener);
menuItem.notifyListeners(SWT.Arm, new Event());
assertTrue(listenerCalled);
try {
menuItem.removeArmListener(null);
fail("No exception thrown for removeArmListener with null argument");
} catch (IllegalArgumentException e) {
}
listenerCalled = false;
menuItem.removeArmListener(listener);
menuItem.notifyListeners(SWT.Arm, new Event());
assertFalse(listenerCalled);
}
public void test_addHelpListenerLorg_eclipse_swt_events_HelpListener() {
listenerCalled = false;
HelpListener listener = new HelpListener() {
public void helpRequested(HelpEvent e) {
listenerCalled = true;
};
};
try {
menuItem.addHelpListener(null);
fail("No exception thrown for addHelpListener with null argument");
} catch (IllegalArgumentException e) {
}
menuItem.addHelpListener(listener);
menuItem.notifyListeners(SWT.Help, new Event());
assertTrue(listenerCalled);
try {
menuItem.removeHelpListener(null);
fail("No exception thrown for removeHelpListener with null argument");
} catch (IllegalArgumentException e) {
}
listenerCalled = false;
menuItem.removeHelpListener(listener);
menuItem.notifyListeners(SWT.Help, new Event());
assertFalse(listenerCalled);
}
public void test_addSelectionListenerLorg_eclipse_swt_events_SelectionListener() {
listenerCalled = false;
SelectionListener listener = new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
listenerCalled = true;
};
public void widgetDefaultSelected(SelectionEvent e) {
};
};
try {
menuItem.addSelectionListener(null);
fail("No exception thrown for addSelectionListener with null argument");
} catch (IllegalArgumentException e) {
}
menuItem.addSelectionListener(listener);
menuItem.notifyListeners(SWT.Selection, new Event());
assertTrue(listenerCalled);
try {
menuItem.removeSelectionListener(null);
fail("No exception thrown for removeSelectionListener with null argument");
} catch (IllegalArgumentException e) {
}
listenerCalled = false;
menuItem.removeSelectionListener(listener);
menuItem.notifyListeners(SWT.Selection, new Event());
assertFalse(listenerCalled);
}
public void test_getAccelerator() {
menuItem.setAccelerator(SWT.MOD1 + 'X');
assertEquals(menuItem.getAccelerator(), SWT.MOD1 + 'X');
menuItem.setAccelerator(SWT.MOD2 + 'Y');
assertEquals(menuItem.getAccelerator(), SWT.MOD2 + 'Y');
menuItem.setAccelerator(SWT.MOD3 + 'Z');
assertEquals(menuItem.getAccelerator(), SWT.MOD3 + 'Z');
}
public void test_getEnabled() {
// tested in test_setEnabledZ()
}
public void test_getMenu() {
// tested in test_setMenuLorg_eclipse_swt_widgets_Menu
}
public void test_getParent() {
assertEquals(menuItem.getParent(), menu);
}
public void test_getSelection() {
// tested in test_setSelectionZ()
}
public void test_isEnabled() {
menuItem.setEnabled(true);
assertTrue(menuItem.isEnabled());
menuItem.setEnabled(false);
assertEquals(menuItem.isEnabled(), false);
}
public void test_removeArmListenerLorg_eclipse_swt_events_ArmListener() {
// tested in test_addArmListenerLorg_eclipse_swt_events_ArmListener()
}
public void test_removeHelpListenerLorg_eclipse_swt_events_HelpListener() {
// tested in test_addHelpListenerLorg_eclipse_swt_events_HelpListener()
}
public void test_removeSelectionListenerLorg_eclipse_swt_events_SelectionListener() {
// tested in test_addSelectionListenerLorg_eclipse_swt_events_SelectionListener
}
public void test_setAcceleratorI() {
menuItem.setAccelerator(SWT.CTRL + 'Z');
assertEquals(menuItem.getAccelerator(), SWT.CTRL + 'Z');
}
public void test_setEnabledZ() {
menuItem.setEnabled(true);
assertTrue(menuItem.getEnabled());
menuItem.setEnabled(false);
assertEquals(menuItem.getEnabled(), false);
}
public void test_setImageLorg_eclipse_swt_graphics_Image() {
assertNull(menuItem.getImage());
menuItem.setImage(images[0]);
assertEquals(images[0], menuItem.getImage());
assertTrue(menuItem.getImage() != images[1]);
menuItem.setImage(null);
assertNull(menuItem.getImage());
}
public void test_setMenuLorg_eclipse_swt_widgets_Menu() {
assertNull(menuItem.getMenu());
MenuItem mItem = new MenuItem(menu, SWT.CASCADE);
Menu newMenu = new Menu(shell, SWT.DROP_DOWN);
mItem.setMenu(newMenu);
assertEquals(mItem.getMenu(), newMenu);
}
public void test_setSelectionZ() {
int[] itemStyles = {SWT.CHECK, SWT.RADIO};
for (int i=0; i<itemStyles.length; i++)
{
MenuItem mItem = new MenuItem(menu, itemStyles[i]);
mItem.setSelection(false);
assertEquals(mItem.getSelection(), false);
mItem.setSelection(true);
assertTrue(mItem.getSelection());
mItem.dispose();
}
}
public void test_setTextLjava_lang_String() {
menuItem.setText("ABCDEFG");
assertTrue(menuItem.getText().equals("ABCDEFG"));
try {
menuItem.setText(null);
fail("No exception thrown for addArmListener with null argument");
} catch (IllegalArgumentException e) {
}
menuItem.setText("ABCDEFG");
menuItem.setAccelerator(SWT.MOD1 + 'A');
assertTrue(menuItem.getText().startsWith("ABCDEFG"));
menuItem.setAccelerator(0);
menuItem.setText("AB&CDEFG");
assertTrue(menuItem.getText().equals("AB&CDEFG"));
}
public static Test suite() {
TestSuite suite = new TestSuite();
java.util.Vector methodNames = methodNames();
java.util.Enumeration e = methodNames.elements();
while (e.hasMoreElements()) {
suite.addTest(new Test_org_eclipse_swt_widgets_MenuItem((String)e.nextElement()));
}
return suite;
}
public static java.util.Vector methodNames() {
java.util.Vector methodNames = new java.util.Vector();
methodNames.addElement("test_ConstructorLorg_eclipse_swt_widgets_MenuI");
methodNames.addElement("test_ConstructorLorg_eclipse_swt_widgets_MenuII");
methodNames.addElement("test_addArmListenerLorg_eclipse_swt_events_ArmListener");
methodNames.addElement("test_addHelpListenerLorg_eclipse_swt_events_HelpListener");
methodNames.addElement("test_addSelectionListenerLorg_eclipse_swt_events_SelectionListener");
methodNames.addElement("test_getAccelerator");
methodNames.addElement("test_getEnabled");
methodNames.addElement("test_getMenu");
methodNames.addElement("test_getParent");
methodNames.addElement("test_getSelection");
methodNames.addElement("test_isEnabled");
methodNames.addElement("test_removeArmListenerLorg_eclipse_swt_events_ArmListener");
methodNames.addElement("test_removeHelpListenerLorg_eclipse_swt_events_HelpListener");
methodNames.addElement("test_removeSelectionListenerLorg_eclipse_swt_events_SelectionListener");
methodNames.addElement("test_setAcceleratorI");
methodNames.addElement("test_setEnabledZ");
methodNames.addElement("test_setImageLorg_eclipse_swt_graphics_Image");
methodNames.addElement("test_setMenuLorg_eclipse_swt_widgets_Menu");
methodNames.addElement("test_setSelectionZ");
methodNames.addElement("test_setTextLjava_lang_String");
methodNames.addAll(Test_org_eclipse_swt_widgets_Item.methodNames()); // add superclass method names
return methodNames;
}
protected void runTest() throws Throwable {
if (getName().equals("test_ConstructorLorg_eclipse_swt_widgets_MenuI")) test_ConstructorLorg_eclipse_swt_widgets_MenuI();
else if (getName().equals("test_ConstructorLorg_eclipse_swt_widgets_MenuII")) test_ConstructorLorg_eclipse_swt_widgets_MenuII();
else if (getName().equals("test_addArmListenerLorg_eclipse_swt_events_ArmListener")) test_addArmListenerLorg_eclipse_swt_events_ArmListener();
else if (getName().equals("test_addHelpListenerLorg_eclipse_swt_events_HelpListener")) test_addHelpListenerLorg_eclipse_swt_events_HelpListener();
else if (getName().equals("test_addSelectionListenerLorg_eclipse_swt_events_SelectionListener")) test_addSelectionListenerLorg_eclipse_swt_events_SelectionListener();
else if (getName().equals("test_getAccelerator")) test_getAccelerator();
else if (getName().equals("test_getEnabled")) test_getEnabled();
else if (getName().equals("test_getMenu")) test_getMenu();
else if (getName().equals("test_getParent")) test_getParent();
else if (getName().equals("test_getSelection")) test_getSelection();
else if (getName().equals("test_isEnabled")) test_isEnabled();
else if (getName().equals("test_removeArmListenerLorg_eclipse_swt_events_ArmListener")) test_removeArmListenerLorg_eclipse_swt_events_ArmListener();
else if (getName().equals("test_removeHelpListenerLorg_eclipse_swt_events_HelpListener")) test_removeHelpListenerLorg_eclipse_swt_events_HelpListener();
else if (getName().equals("test_removeSelectionListenerLorg_eclipse_swt_events_SelectionListener")) test_removeSelectionListenerLorg_eclipse_swt_events_SelectionListener();
else if (getName().equals("test_setAcceleratorI")) test_setAcceleratorI();
else if (getName().equals("test_setEnabledZ")) test_setEnabledZ();
else if (getName().equals("test_setImageLorg_eclipse_swt_graphics_Image")) test_setImageLorg_eclipse_swt_graphics_Image();
else if (getName().equals("test_setMenuLorg_eclipse_swt_widgets_Menu")) test_setMenuLorg_eclipse_swt_widgets_Menu();
else if (getName().equals("test_setSelectionZ")) test_setSelectionZ();
else if (getName().equals("test_setTextLjava_lang_String")) test_setTextLjava_lang_String();
else super.runTest();
}
/* custom */
Menu menu;
MenuItem menuItem;
}