blob: 450630ab345c1f2422a76539cc3a99ed76dabd3d [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 org.eclipse.swt.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.graphics.*;
import junit.framework.*;
import junit.textui.*;
/**
* Automated Test Suite for class org.eclipse.swt.widgets.Button
*
* @see org.eclipse.swt.widgets.Button
*/
public class Test_org_eclipse_swt_widgets_Button extends Test_org_eclipse_swt_widgets_Control {
Button button;
public Test_org_eclipse_swt_widgets_Button(String name) {
super(name);
}
public static void main(String[] args) {
TestRunner.run(suite());
}
protected void setUp() {
super.setUp();
button = new Button(shell, SWT.PUSH);
setWidget(button);
}
protected void tearDown() {
super.tearDown();
}
public void test_ConstructorLorg_eclipse_swt_widgets_CompositeI() {
// Test Button(Composite parent, int style)
Button button = new Button(shell, SWT.NULL);
button = new Button(shell, SWT.PUSH);
button = new Button(shell, SWT.CHECK);
button = new Button(shell, SWT.TOGGLE);
button = new Button(shell, SWT.ARROW);
button = new Button(shell, SWT.PUSH | SWT.CHECK);
try {
button = new Button(null, 0);
fail("No exception thrown for parent == null");
}
catch (IllegalArgumentException e) {
}
}
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 {
button.addSelectionListener(null);
fail("No exception thrown for addSelectionListener with null argument");
} catch (IllegalArgumentException e) {
}
button.addSelectionListener(listener);
button.notifyListeners(SWT.Selection, new Event());
assertTrue(listenerCalled);
try {
button.removeSelectionListener(null);
fail("No exception thrown for removeSelectionListener with null argument");
} catch (IllegalArgumentException e) {
}
listenerCalled = false;
button.removeSelectionListener(listener);
button.notifyListeners(SWT.Selection, new Event());
assertFalse(listenerCalled);
}
public void test_computeSizeIIZ() {
button.computeSize(0, 0);
button.computeSize(0, 0, false);
button.computeSize(-10, -10);
button.computeSize(-10, -10, false);
button.computeSize(10, 10);
button.computeSize(10, 10, false);
button.computeSize(10000, 10000);
button.computeSize(10000, 10000, false);
}
public void test_getAlignment() {
// tested in test_setAlignmentI()
}
public void test_getImage() {
// tested in test_setImageLorg_eclipse_swt_graphics_Image
}
public void test_getSelection() {
// tested in test_setSelectionZ
}
public void test_getText() {
// tested in test_setTextLjava_lang_String()
}
public void test_removeSelectionListenerLorg_eclipse_swt_events_SelectionListener() {
// tested in test_addSelectionListenerLorg_eclipse_swt_events_SelectionListener()
}
public void test_setAlignmentI() {
button.setAlignment(SWT.LEFT);
assertEquals(SWT.LEFT, button.getAlignment());
button.setAlignment(SWT.RIGHT);
assertEquals(SWT.RIGHT, button.getAlignment());
button.setAlignment(SWT.CENTER);
assertEquals(SWT.CENTER, button.getAlignment());
button.setAlignment(SWT.UP); // bad value for push button
assertTrue(SWT.UP != button.getAlignment());
Button arrowButton = new Button(shell, SWT.ARROW);
arrowButton.setAlignment(SWT.LEFT);
assertEquals(SWT.LEFT, arrowButton.getAlignment());
arrowButton.setAlignment(SWT.RIGHT);
assertEquals(SWT.RIGHT, arrowButton.getAlignment());
arrowButton.setAlignment(SWT.UP);
assertEquals(SWT.UP, arrowButton.getAlignment());
arrowButton.setAlignment(SWT.DOWN);
assertEquals(SWT.DOWN, arrowButton.getAlignment());
arrowButton.setAlignment(SWT.CENTER); // bad value for arrow button
assertTrue(SWT.CENTER != arrowButton.getAlignment());
arrowButton.dispose();
int alignment = 55; // some bogus number
button.setAlignment(alignment);
assertTrue(alignment != button.getAlignment());
}
public void test_setFocus() {
Button btn = new Button(shell, SWT.ARROW);
btn.setFocus();
}
public void test_setImageLorg_eclipse_swt_graphics_Image() {
Image image = button.getImage();
button.setImage(image);
assertEquals(image, button.getImage());
button.setImage(null);
assertNull(button.getImage());
image = new Image(shell.getDisplay(), 10, 10);
button.setImage(image);
assertEquals(image, button.getImage());
button.setImage(null);
image.dispose();
try {
button.setImage(image);
button.setImage(null);
fail("No exception thrown for disposed image");
} catch (IllegalArgumentException e) {
}
}
public void test_setSelectionZ() {
// test setSelection for check box
button = new Button(shell, SWT.CHECK);
button.setSelection(true);
assertTrue(button.getSelection());
button.setSelection(false);
assertTrue(!button.getSelection());
// test setSelection for arrow button
Button newButton = new Button(shell, SWT.ARROW);
newButton.setSelection(true);
assertTrue(!newButton.getSelection());
newButton.setSelection(false);
assertTrue(!newButton.getSelection());
newButton.dispose();
// test setSelection for push button
newButton = new Button(shell, SWT.PUSH);
newButton.setSelection(true);
assertTrue(!newButton.getSelection());
newButton.setSelection(false);
assertTrue(!newButton.getSelection());
newButton.dispose();
// test setSelection for radio button
newButton = new Button(shell, SWT.RADIO);
newButton.setSelection(true);
assertTrue(newButton.getSelection());
newButton.setSelection(false);
assertTrue(!newButton.getSelection());
newButton.dispose();
// test setSelection for toggle button
newButton = new Button(shell, SWT.TOGGLE);
newButton.setSelection(true);
assertTrue(newButton.getSelection());
newButton.setSelection(false);
assertTrue(!newButton.getSelection());
newButton.dispose();
}
public void test_setTextLjava_lang_String() {
String[] cases = {"", "some text", "ldkashdoehufweovcnhslvhregojebckreavbkuhxbiufvcyhbifuyewvbiureyd.,cmnesljliewjfchvbwoifivbeworixuieurvbiuvbohflksjeahfcliureafgyciabelitvyrwtlicuyrtliureybcliuyreuceyvbliureybct", "\n \n \b \t ", "\0"};
int goodCases = 4;
for (int i=0; i<goodCases; i++){
button.setText(cases[i]);
assertTrue("good case: " + String.valueOf(i), button.getText().equals(cases[i]));
};
try {
button.setText(null);
fail("No exception thrown for text == null");
}
catch (IllegalArgumentException e) {
}
button.setText("");
button.setText("some name ");
}
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_Button((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_CompositeI");
methodNames.addElement("test_addSelectionListenerLorg_eclipse_swt_events_SelectionListener");
methodNames.addElement("test_computeSizeIIZ");
methodNames.addElement("test_getAlignment");
methodNames.addElement("test_getImage");
methodNames.addElement("test_getSelection");
methodNames.addElement("test_getText");
methodNames.addElement("test_removeSelectionListenerLorg_eclipse_swt_events_SelectionListener");
methodNames.addElement("test_setAlignmentI");
methodNames.addElement("test_setFocus");
methodNames.addElement("test_setImageLorg_eclipse_swt_graphics_Image");
methodNames.addElement("test_setSelectionZ");
methodNames.addElement("test_setTextLjava_lang_String");
methodNames.addAll(Test_org_eclipse_swt_widgets_Control.methodNames()); // add superclass method names
return methodNames;
}
protected void runTest() throws Throwable {
if (getName().equals("test_ConstructorLorg_eclipse_swt_widgets_CompositeI")) test_ConstructorLorg_eclipse_swt_widgets_CompositeI();
else if (getName().equals("test_addSelectionListenerLorg_eclipse_swt_events_SelectionListener")) test_addSelectionListenerLorg_eclipse_swt_events_SelectionListener();
else if (getName().equals("test_computeSizeIIZ")) test_computeSizeIIZ();
else if (getName().equals("test_getAlignment")) test_getAlignment();
else if (getName().equals("test_getImage")) test_getImage();
else if (getName().equals("test_getSelection")) test_getSelection();
else if (getName().equals("test_getText")) test_getText();
else if (getName().equals("test_removeSelectionListenerLorg_eclipse_swt_events_SelectionListener")) test_removeSelectionListenerLorg_eclipse_swt_events_SelectionListener();
else if (getName().equals("test_setAlignmentI")) test_setAlignmentI();
else if (getName().equals("test_setFocus")) test_setFocus();
else if (getName().equals("test_setImageLorg_eclipse_swt_graphics_Image")) test_setImageLorg_eclipse_swt_graphics_Image();
else if (getName().equals("test_setSelectionZ")) test_setSelectionZ();
else if (getName().equals("test_setTextLjava_lang_String")) test_setTextLjava_lang_String();
else super.runTest();
}
}