| /******************************************************************************* |
| * Copyright (c) 2000, 2004 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.swt.tests.junit; |
| |
| import java.util.Vector; |
| |
| import junit.framework.*; |
| import junit.textui.*; |
| |
| import org.eclipse.swt.SWT; |
| import org.eclipse.swt.accessibility.Accessible; |
| import org.eclipse.swt.events.*; |
| import org.eclipse.swt.graphics.*; |
| import org.eclipse.swt.widgets.*; |
| |
| /** |
| * Automated Test Suite for class org.eclipse.swt.widgets.Control |
| * |
| * @see org.eclipse.swt.widgets.Control |
| */ |
| public class Test_org_eclipse_swt_widgets_Control extends Test_org_eclipse_swt_widgets_Widget { |
| |
| public Test_org_eclipse_swt_widgets_Control(String name) { |
| super(name); |
| } |
| |
| public static void main(String[] args) { |
| TestRunner.run(suite()); |
| } |
| |
| protected void setUp() { |
| super.setUp(); |
| } |
| |
| protected void tearDown() { |
| super.tearDown(); |
| } |
| |
| public void test_ConstructorLorg_eclipse_swt_widgets_CompositeI() { |
| // abstract class |
| } |
| |
| public void test_addControlListenerLorg_eclipse_swt_events_ControlListener() { |
| ControlListener listener = new ControlListener() { |
| public void controlMoved(ControlEvent e) { |
| eventOccurred = true; |
| }; |
| public void controlResized(ControlEvent e) { |
| eventOccurred = true; |
| }; |
| }; |
| control.addControlListener(listener); |
| eventOccurred = false; |
| control.notifyListeners(SWT.Move, new Event()); |
| assertTrue(eventOccurred); |
| eventOccurred = false; |
| control.notifyListeners(SWT.Resize, new Event()); |
| assertTrue(eventOccurred); |
| control.removeControlListener(listener); |
| } |
| |
| public void test_addFocusListenerLorg_eclipse_swt_events_FocusListener() { |
| FocusListener listener = new FocusListener() { |
| public void focusGained(FocusEvent e) { |
| eventOccurred = true; |
| }; |
| public void focusLost(FocusEvent e) { |
| eventOccurred = true; |
| }; |
| }; |
| control.addFocusListener(listener); |
| eventOccurred = false; |
| control.notifyListeners(SWT.FocusIn, new Event()); |
| assertTrue(eventOccurred); |
| eventOccurred = false; |
| control.notifyListeners(SWT.FocusOut, new Event()); |
| assertTrue(eventOccurred); |
| control.removeFocusListener(listener); |
| } |
| |
| public void test_addHelpListenerLorg_eclipse_swt_events_HelpListener() { |
| HelpListener listener = new HelpListener() { |
| public void helpRequested(HelpEvent e) { |
| eventOccurred = true; |
| }; |
| }; |
| control.addHelpListener(listener); |
| eventOccurred = false; |
| control.notifyListeners(SWT.Help, new Event()); |
| assertTrue(eventOccurred); |
| control.removeHelpListener(listener); |
| } |
| |
| public void test_addKeyListenerLorg_eclipse_swt_events_KeyListener() { |
| KeyListener listener = new KeyListener() { |
| public void keyPressed(KeyEvent e) { |
| eventOccurred = true; |
| }; |
| public void keyReleased(KeyEvent e) { |
| eventOccurred = true; |
| }; |
| }; |
| control.addKeyListener(listener); |
| eventOccurred = false; |
| control.notifyListeners(SWT.KeyDown, new Event()); |
| assertTrue(eventOccurred); |
| eventOccurred = false; |
| control.notifyListeners(SWT.KeyUp, new Event()); |
| assertTrue(eventOccurred); |
| control.removeKeyListener(listener); |
| } |
| |
| public void test_addMouseListenerLorg_eclipse_swt_events_MouseListener() { |
| MouseListener listener = new MouseListener() { |
| public void mouseDown(MouseEvent e) { |
| eventOccurred = true; |
| }; |
| public void mouseUp(MouseEvent e) { |
| eventOccurred = true; |
| }; |
| public void mouseDoubleClick(MouseEvent e) { |
| eventOccurred = true; |
| }; |
| }; |
| control.addMouseListener(listener); |
| eventOccurred = false; |
| control.notifyListeners(SWT.MouseDown, new Event()); |
| assertTrue(eventOccurred); |
| eventOccurred = false; |
| control.notifyListeners(SWT.MouseUp, new Event()); |
| assertTrue(eventOccurred); |
| eventOccurred = false; |
| control.notifyListeners(SWT.MouseDoubleClick, new Event()); |
| assertTrue(eventOccurred); |
| control.removeMouseListener(listener); |
| } |
| |
| public void test_addMouseMoveListenerLorg_eclipse_swt_events_MouseMoveListener() { |
| MouseMoveListener listener = new MouseMoveListener() { |
| public void mouseMove(MouseEvent e) { |
| eventOccurred = true; |
| }; |
| }; |
| control.addMouseMoveListener(listener); |
| eventOccurred = false; |
| control.notifyListeners(SWT.MouseMove, new Event()); |
| assertTrue(eventOccurred); |
| control.removeMouseMoveListener(listener); |
| } |
| |
| public void test_addMouseTrackListenerLorg_eclipse_swt_events_MouseTrackListener() { |
| MouseTrackListener listener = new MouseTrackListener() { |
| public void mouseEnter(MouseEvent e) { |
| eventOccurred = true; |
| }; |
| public void mouseExit(MouseEvent e) { |
| eventOccurred = true; |
| }; |
| public void mouseHover(MouseEvent e) { |
| eventOccurred = true; |
| }; |
| }; |
| control.addMouseTrackListener(listener); |
| eventOccurred = false; |
| control.notifyListeners(SWT.MouseEnter, new Event()); |
| assertTrue(eventOccurred); |
| eventOccurred = false; |
| control.notifyListeners(SWT.MouseExit, new Event()); |
| assertTrue(eventOccurred); |
| eventOccurred = false; |
| control.notifyListeners(SWT.MouseHover, new Event()); |
| assertTrue(eventOccurred); |
| control.removeMouseTrackListener(listener); |
| } |
| |
| public void test_addPaintListenerLorg_eclipse_swt_events_PaintListener() { |
| PaintListener listener = new PaintListener() { |
| public void paintControl(PaintEvent e) { |
| eventOccurred = true; |
| }; |
| }; |
| control.addPaintListener(listener); |
| eventOccurred = false; |
| Event event = new Event(); |
| GC gc = event.gc = new GC(control); |
| control.notifyListeners(SWT.Paint, event); |
| gc.dispose(); |
| assertTrue(eventOccurred); |
| control.removePaintListener(listener); |
| } |
| |
| public void test_addTraverseListenerLorg_eclipse_swt_events_TraverseListener() { |
| TraverseListener listener = new TraverseListener() { |
| public void keyTraversed(TraverseEvent e) { |
| eventOccurred = true; |
| }; |
| }; |
| control.addTraverseListener(listener); |
| eventOccurred = false; |
| control.notifyListeners(SWT.Traverse, new Event()); |
| assertTrue(eventOccurred); |
| control.removeTraverseListener(listener); |
| } |
| |
| public void test_computeSizeII() { |
| control.computeSize(SWT.DEFAULT, SWT.DEFAULT); |
| Point size = control.getSize(); |
| control.computeSize(size.x, size.y); |
| assertEquals(size.x, control.getSize().x); |
| assertEquals(size.y, control.getSize().y); |
| } |
| |
| public void test_computeSizeIIZ() { |
| control.computeSize(SWT.DEFAULT, SWT.DEFAULT, true); |
| Point size = control.getSize(); |
| control.computeSize(size.x, size.y, false); |
| assertEquals(size.x, control.getSize().x); |
| assertEquals(size.y, control.getSize().y); |
| } |
| |
| public void test_forceFocus() { |
| // this is difficult to test in Control. |
| // subclasses that wish to test this should override. |
| } |
| |
| public void test_getAccessible() { |
| Accessible accessible = control.getAccessible(); |
| assertTrue(":a:", accessible != null); |
| } |
| |
| public void test_getBackground() { |
| // tested in test_setBackgroundLorg_eclipse_swt_graphics_Color |
| } |
| |
| public void test_getBorderWidth() { |
| control.getBorderWidth(); |
| } |
| |
| public void test_getBounds() { |
| // tested in test_setBoundsIIII and test_setBoundsLorg_eclipse_swt_graphics_Rectangle |
| } |
| |
| public void test_getEnabled() { |
| // tested in test_setEnabledZ |
| } |
| |
| public void test_getFont() { |
| // tested in test_setFontLorg_eclipse_swt_graphics_Font |
| } |
| |
| public void test_getForeground() { |
| // tested in test_setForegroundLorg_eclipse_swt_graphics_Color |
| } |
| |
| public void test_getLayoutData() { |
| // tested in test_setLayoutDataLjava_lang_Object |
| } |
| |
| public void test_getLocation() { |
| control.setBounds(32, 43, 30, 40); |
| assertTrue(control.getLocation().equals(new Point(32, 43))); |
| } |
| |
| public void test_getMenu() { |
| // tested in test_setMenuLorg_eclipse_swt_widgets_Menu |
| } |
| |
| public void test_getMonitor() { |
| Monitor monitor = control.getMonitor(); |
| assertNotNull(monitor); |
| Display display = control.getDisplay(); |
| Monitor[] monitors = display.getMonitors(); |
| int i; |
| /* monitor must be listed in Display.getMonitors */ |
| for (i = 0; i < monitors.length; i++) { |
| if (monitor.equals(monitors[i])) break; |
| } |
| if (i == monitors.length) { |
| fail("Control.getMonitor does not return a monitor listed in Display.getMonitors"); |
| } |
| } |
| |
| public void test_getParent() { |
| assertEquals(shell, control.getParent()); |
| } |
| |
| public void test_getShell() { |
| assertEquals(shell, control.getShell()); |
| } |
| |
| public void test_getSize() { |
| // tested in test_setSizeII |
| } |
| |
| public void test_getToolTipText() { |
| // tested in test_setToolTipTextLjava_lang_String |
| } |
| |
| public void test_getVisible() { |
| // tested in test_setVisibleZ |
| } |
| |
| public void test_internal_dispose_GCILorg_eclipse_swt_graphics_GCData() { |
| // tested in test_internal_new_GCLorg_eclipse_swt_graphics_GCData |
| } |
| |
| public void test_internal_new_GCLorg_eclipse_swt_graphics_GCData() { |
| // intentionally not tested - not public API |
| } |
| |
| public void test_isEnabled() { |
| control.setEnabled(true); |
| assertTrue(control.isEnabled()); |
| |
| control.setEnabled(false); |
| assertTrue(!control.isEnabled()); |
| } |
| |
| public void test_isFocusControl() { |
| assertTrue(!control.isFocusControl()); |
| } |
| |
| public void test_isReparentable() { |
| assertEquals ("isReparentable", control.isReparentable(), isReparentablePlatform()); |
| } |
| |
| public void test_isVisible() { |
| control.setVisible(true); |
| assertTrue(!control.isVisible()); //because the shell is not visible |
| |
| control.setVisible(false); |
| assertTrue(!control.isVisible()); |
| |
| if (!SwtJunit.isAIX) { |
| control.setVisible(true); |
| shell.setVisible(true); |
| assertTrue("Window should be visible", control.isVisible()); |
| shell.setVisible(false); |
| assertTrue("Window should not be visible", !control.isVisible()); |
| } |
| } |
| |
| public void test_moveAboveLorg_eclipse_swt_widgets_Control() { |
| control.moveAbove(null); |
| |
| control.moveAbove(control); |
| |
| Button b = new Button(shell, 0); |
| control.moveAbove(b); |
| b.dispose(); |
| } |
| |
| public void test_moveBelowLorg_eclipse_swt_widgets_Control() { |
| control.moveBelow(null); |
| |
| control.moveBelow(control); |
| |
| Button b = new Button(shell, 0); |
| control.moveBelow(b); |
| b.dispose(); |
| } |
| |
| public void test_pack() { |
| control.pack(); |
| } |
| |
| public void test_packZ() { |
| control.pack(true); |
| control.pack(false); |
| } |
| |
| public void test_redraw() { |
| control.redraw(); |
| } |
| |
| public void test_redrawIIIIZ() { |
| control.redraw(0, 0, 0, 0, false); |
| |
| control.redraw(0, 0, 0, 0, true); |
| |
| control.redraw(-10, -10, -10, -10, true); |
| |
| control.redraw(10, 10, 10, 10, true); |
| |
| control.redraw(10, 10, 10, 10, false); |
| |
| control.redraw(10000, 10000, 10000, 10000, false); |
| } |
| |
| public void test_removeControlListenerLorg_eclipse_swt_events_ControlListener() { |
| // tested in test_addControlListenerLorg_eclipse_swt_events_ControlListener |
| } |
| |
| public void test_removeFocusListenerLorg_eclipse_swt_events_FocusListener() { |
| // tested in test_addFocusListenerLorg_eclipse_swt_events_FocusListener |
| } |
| |
| public void test_removeHelpListenerLorg_eclipse_swt_events_HelpListener() { |
| // tested in test_addHelpListenerLorg_eclipse_swt_events_HelpListener |
| } |
| |
| public void test_removeKeyListenerLorg_eclipse_swt_events_KeyListener() { |
| // tested in test_addKeyListenerLorg_eclipse_swt_events_KeyListener |
| } |
| |
| public void test_removeMouseListenerLorg_eclipse_swt_events_MouseListener() { |
| // tested in test_addMouseListenerLorg_eclipse_swt_events_MouseListener |
| } |
| |
| public void test_removeMouseMoveListenerLorg_eclipse_swt_events_MouseMoveListener() { |
| // tested in test_addMouseMoveListenerLorg_eclipse_swt_events_MouseMoveListener |
| } |
| |
| public void test_removeMouseTrackListenerLorg_eclipse_swt_events_MouseTrackListener() { |
| // tested in test_addMouseTrackListenerLorg_eclipse_swt_events_MouseTrackListener |
| } |
| |
| public void test_removePaintListenerLorg_eclipse_swt_events_PaintListener() { |
| // tested in test_addPaintListenerLorg_eclipse_swt_events_PaintListener |
| } |
| |
| public void test_removeTraverseListenerLorg_eclipse_swt_events_TraverseListener() { |
| // tested in test_addTraverseListenerLorg_eclipse_swt_events_TraverseListener |
| } |
| |
| public void test_setBackgroundLorg_eclipse_swt_graphics_Color() { |
| Color color = new Color(control.getDisplay(), 255, 0, 0); |
| control.setBackground(color); |
| assertEquals(color, control.getBackground()); |
| control.setBackground(null); |
| assertTrue(!control.getBackground().equals(color)); |
| color.dispose(); |
| } |
| |
| public void test_setBoundsIIII() { |
| control.setBounds(10, 20, 30, 40); |
| assertEquals(new Rectangle(10, 20, 30, 40), control.getBounds()); |
| |
| control.setBounds(20, 30, 40, 50); |
| assertEquals(false, control.getBounds().equals(new Rectangle(10, 20, 30, 40))); |
| |
| control.setBounds(10, 20, 30, 40); |
| } |
| |
| public void test_setBoundsLorg_eclipse_swt_graphics_Rectangle() { |
| control.setBounds(new Rectangle(10, 20, 30, 40)); |
| assertEquals(new Rectangle(10, 20, 30, 40), control.getBounds()); |
| |
| control.setBounds(new Rectangle(20, 30, 40, 50)); |
| assertEquals(false, control.getBounds().equals(new Rectangle(10, 20, 30, 40))); |
| |
| try { |
| control.setBounds(null); |
| fail("No exception thrown for rectangle == null"); |
| } |
| catch (IllegalArgumentException e) { |
| } |
| |
| control.setBounds(new Rectangle(10, 20, 30, 40)); |
| } |
| |
| public void test_setCaptureZ() { |
| control.setCapture(true); |
| |
| control.setCapture(false); |
| } |
| |
| public void test_setCursorLorg_eclipse_swt_graphics_Cursor() { |
| control.setCursor(null); |
| |
| Cursor c = new Cursor(control.getDisplay(), 0); |
| control.setCursor(c); |
| c.dispose(); |
| } |
| |
| public void test_setEnabledZ() { |
| control.setEnabled(true); |
| assertTrue(control.getEnabled()); |
| |
| control.setEnabled(false); |
| assertTrue(!control.getEnabled()); |
| } |
| |
| public void test_setFocus() { |
| control.setFocus(); |
| } |
| |
| public void test_setFontLorg_eclipse_swt_graphics_Font() { |
| Font font = control.getFont(); |
| control.setFont(font); |
| assertEquals(font, control.getFont()); |
| |
| font = new Font(control.getDisplay(), SwtJunit.testFontName, 10, SWT.NORMAL); |
| control.setFont(font); |
| assertEquals(font, control.getFont()); |
| |
| control.setFont(null); |
| font.dispose(); |
| try { |
| control.setFont(font); |
| control.setFont(null); |
| fail("No exception thrown for disposed font"); |
| } catch (IllegalArgumentException e) { |
| } |
| } |
| |
| public void test_setForegroundLorg_eclipse_swt_graphics_Color() { |
| Color color = new Color(control.getDisplay(), 255, 0, 0); |
| control.setForeground(color); |
| assertEquals(color, control.getForeground()); |
| control.setForeground(null); |
| assertTrue(!control.getForeground().equals(color)); |
| color.dispose(); |
| } |
| |
| public void test_setLayoutDataLjava_lang_Object() { |
| control.setLayoutData(this); |
| assertEquals(this, control.getLayoutData()); |
| |
| control.setLayoutData("asldsahdahcaslcshdac"); |
| assertEquals("asldsahdahcaslcshdac", control.getLayoutData()); |
| |
| control.setLayoutData(this.getClass()); |
| assertEquals(this.getClass(), control.getLayoutData()); |
| |
| control.setLayoutData(null); |
| assertNull(control.getLayoutData()); |
| } |
| |
| public void test_setLocationII() { |
| control.setBounds(32, 43, 30, 40); |
| control.setLocation(11, 22); |
| control.setSize(32, 43); |
| assertEquals(control.getLocation(), new Point(11, 22)); |
| |
| control.setLocation(10, 10); |
| assertEquals(control.getLocation(), new Point(10, 10)); |
| } |
| |
| public void test_setLocationLorg_eclipse_swt_graphics_Point() { |
| try { |
| control.setLocation(null); |
| fail("No exception thrown for location == null"); |
| } |
| catch (IllegalArgumentException e) { |
| } |
| |
| Point loc = new Point(30, 40); |
| control.setLocation(loc); |
| assertEquals(control.getLocation(), loc); |
| |
| loc = new Point(10, 10); |
| control.setLocation(loc); |
| assertEquals(control.getLocation(), loc); |
| |
| loc = new Point(10000, 10000); |
| control.setLocation(loc); |
| assertEquals(control.getLocation(), loc); |
| |
| loc = new Point(-10, -10); |
| control.setLocation(loc); |
| assertEquals(control.getLocation(), loc); |
| } |
| |
| public void test_setMenuLorg_eclipse_swt_widgets_Menu () { |
| /* this is a valid thing to do, you can reset a menu to nothing */ |
| control.setMenu(null); |
| |
| Menu m = new Menu(control); |
| control.setMenu(m); |
| assertEquals(m, control.getMenu()); |
| } |
| |
| public void test_setParentLorg_eclipse_swt_widgets_Composite() { |
| if (control.isReparentable()) { |
| Shell originalParent = new Shell(); |
| Shell newParent = new Shell(); |
| Button b = new Button(originalParent, SWT.PUSH); |
| b.setParent(newParent); |
| originalParent.dispose(); |
| assertTrue(!b.isDisposed()); |
| newParent.dispose(); |
| } |
| } |
| |
| public void test_setRedrawZ() { |
| control.setRedraw(false); |
| |
| control.setRedraw(true); |
| } |
| |
| public void test_setSizeII() { |
| control.setBounds(32, 43, 30, 40); |
| assertEquals(new Point(30, 40), control.getSize()); |
| |
| control.setBounds(32, 43, 30, 40); |
| control.setLocation(11, 22); |
| control.setSize(32, 43); |
| assertEquals(new Point(32, 43), control.getSize()); |
| |
| control.setSize(0, 0); |
| |
| control.setSize(10, 10); |
| |
| control.setSize(10000, 10000); |
| |
| control.setSize(-10, -10); |
| } |
| |
| public void test_setSizeLorg_eclipse_swt_graphics_Point() { |
| control.setSize(new Point(30, 40)); |
| assertEquals(new Point(30, 40), control.getSize()); |
| |
| try { |
| control.setSize(null); |
| fail("No exception thrown for size == null"); |
| } |
| catch (IllegalArgumentException e) { |
| } |
| |
| control.setSize(new Point(0, 0)); |
| |
| control.setSize(new Point(10, 10)); |
| |
| control.setSize(new Point(10000, 10000)); |
| |
| control.setSize(new Point(-10, -10)); |
| } |
| |
| public void test_setToolTipTextLjava_lang_String() { |
| control.setToolTipText("This is a tip"); |
| assertEquals("This is a tip", control.getToolTipText()); |
| |
| control.setToolTipText(null); |
| assertNull(control.getToolTipText()); |
| } |
| |
| public void test_setVisibleZ() { |
| control.setVisible(true); |
| assertTrue(control.getVisible()); |
| |
| control.setVisible(false); |
| assertTrue(!control.getVisible()); |
| } |
| |
| public void test_toControlII() { |
| Point controlCoords = control.toControl(0, 0); |
| assertEquals(new Point(0, 0), control.toDisplay(controlCoords.x, controlCoords.y)); |
| } |
| |
| public void test_toControlLorg_eclipse_swt_graphics_Point() { |
| Point controlCoords = control.toControl(new Point(0, 0)); |
| assertEquals(new Point(0, 0), control.toDisplay(controlCoords)); |
| try { |
| control.toControl(null); |
| fail("No exception thrown for size == null"); |
| } |
| catch (IllegalArgumentException e) { |
| } |
| } |
| |
| public void test_toDisplayII() { |
| Point displayCoords = control.toDisplay(0, 0); |
| assertEquals(new Point(0, 0), control.toControl(displayCoords.x, displayCoords.y)); |
| } |
| |
| public void test_toDisplayLorg_eclipse_swt_graphics_Point() { |
| Point displayCoords = control.toDisplay(new Point(0, 0)); |
| assertEquals(new Point(0, 0), control.toControl(displayCoords)); |
| try { |
| control.toDisplay(null); |
| fail("No exception thrown for size == null"); |
| } |
| catch (IllegalArgumentException e) { |
| } |
| } |
| |
| public void test_traverseI() { |
| control.traverse(SWT.TRAVERSE_ESCAPE); |
| control.traverse(SWT.TRAVERSE_RETURN); |
| control.traverse(SWT.TRAVERSE_TAB_NEXT); |
| control.traverse(SWT.TRAVERSE_TAB_PREVIOUS); |
| control.traverse(SWT.TRAVERSE_ARROW_NEXT); |
| control.traverse(SWT.TRAVERSE_ARROW_PREVIOUS); |
| } |
| |
| public void test_update() { |
| control.update(); |
| } |
| |
| 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_Control((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_addControlListenerLorg_eclipse_swt_events_ControlListener"); |
| methodNames.addElement("test_addFocusListenerLorg_eclipse_swt_events_FocusListener"); |
| methodNames.addElement("test_addHelpListenerLorg_eclipse_swt_events_HelpListener"); |
| methodNames.addElement("test_addKeyListenerLorg_eclipse_swt_events_KeyListener"); |
| methodNames.addElement("test_addMouseListenerLorg_eclipse_swt_events_MouseListener"); |
| methodNames.addElement("test_addMouseMoveListenerLorg_eclipse_swt_events_MouseMoveListener"); |
| methodNames.addElement("test_addMouseTrackListenerLorg_eclipse_swt_events_MouseTrackListener"); |
| methodNames.addElement("test_addPaintListenerLorg_eclipse_swt_events_PaintListener"); |
| methodNames.addElement("test_addTraverseListenerLorg_eclipse_swt_events_TraverseListener"); |
| methodNames.addElement("test_computeSizeII"); |
| methodNames.addElement("test_computeSizeIIZ"); |
| methodNames.addElement("test_forceFocus"); |
| methodNames.addElement("test_getAccessible"); |
| methodNames.addElement("test_getBackground"); |
| methodNames.addElement("test_getBorderWidth"); |
| methodNames.addElement("test_getBounds"); |
| methodNames.addElement("test_getEnabled"); |
| methodNames.addElement("test_getFont"); |
| methodNames.addElement("test_getForeground"); |
| methodNames.addElement("test_getLayoutData"); |
| methodNames.addElement("test_getLocation"); |
| methodNames.addElement("test_getMenu"); |
| methodNames.addElement("test_getMonitor"); |
| methodNames.addElement("test_getParent"); |
| methodNames.addElement("test_getShell"); |
| methodNames.addElement("test_getSize"); |
| methodNames.addElement("test_getToolTipText"); |
| methodNames.addElement("test_getVisible"); |
| methodNames.addElement("test_internal_dispose_GCILorg_eclipse_swt_graphics_GCData"); |
| methodNames.addElement("test_internal_new_GCLorg_eclipse_swt_graphics_GCData"); |
| methodNames.addElement("test_isEnabled"); |
| methodNames.addElement("test_isFocusControl"); |
| methodNames.addElement("test_isReparentable"); |
| methodNames.addElement("test_isVisible"); |
| methodNames.addElement("test_moveAboveLorg_eclipse_swt_widgets_Control"); |
| methodNames.addElement("test_moveBelowLorg_eclipse_swt_widgets_Control"); |
| methodNames.addElement("test_pack"); |
| methodNames.addElement("test_packZ"); |
| methodNames.addElement("test_redraw"); |
| methodNames.addElement("test_redrawIIIIZ"); |
| methodNames.addElement("test_removeControlListenerLorg_eclipse_swt_events_ControlListener"); |
| methodNames.addElement("test_removeFocusListenerLorg_eclipse_swt_events_FocusListener"); |
| methodNames.addElement("test_removeHelpListenerLorg_eclipse_swt_events_HelpListener"); |
| methodNames.addElement("test_removeKeyListenerLorg_eclipse_swt_events_KeyListener"); |
| methodNames.addElement("test_removeMouseListenerLorg_eclipse_swt_events_MouseListener"); |
| methodNames.addElement("test_removeMouseMoveListenerLorg_eclipse_swt_events_MouseMoveListener"); |
| methodNames.addElement("test_removeMouseTrackListenerLorg_eclipse_swt_events_MouseTrackListener"); |
| methodNames.addElement("test_removePaintListenerLorg_eclipse_swt_events_PaintListener"); |
| methodNames.addElement("test_removeTraverseListenerLorg_eclipse_swt_events_TraverseListener"); |
| methodNames.addElement("test_setBackgroundLorg_eclipse_swt_graphics_Color"); |
| methodNames.addElement("test_setBoundsIIII"); |
| methodNames.addElement("test_setBoundsLorg_eclipse_swt_graphics_Rectangle"); |
| methodNames.addElement("test_setCaptureZ"); |
| methodNames.addElement("test_setCursorLorg_eclipse_swt_graphics_Cursor"); |
| methodNames.addElement("test_setEnabledZ"); |
| methodNames.addElement("test_setFocus"); |
| methodNames.addElement("test_setFontLorg_eclipse_swt_graphics_Font"); |
| methodNames.addElement("test_setForegroundLorg_eclipse_swt_graphics_Color"); |
| methodNames.addElement("test_setLayoutDataLjava_lang_Object"); |
| methodNames.addElement("test_setLocationII"); |
| methodNames.addElement("test_setLocationLorg_eclipse_swt_graphics_Point"); |
| methodNames.addElement("test_setMenuLorg_eclipse_swt_widgets_Menu"); |
| methodNames.addElement("test_setParentLorg_eclipse_swt_widgets_Composite"); |
| methodNames.addElement("test_setRedrawZ"); |
| methodNames.addElement("test_setSizeII"); |
| methodNames.addElement("test_setSizeLorg_eclipse_swt_graphics_Point"); |
| methodNames.addElement("test_setToolTipTextLjava_lang_String"); |
| methodNames.addElement("test_setVisibleZ"); |
| methodNames.addElement("test_toControlII"); |
| methodNames.addElement("test_toControlLorg_eclipse_swt_graphics_Point"); |
| methodNames.addElement("test_toDisplayII"); |
| methodNames.addElement("test_toDisplayLorg_eclipse_swt_graphics_Point"); |
| methodNames.addElement("test_traverseI"); |
| methodNames.addElement("test_update"); |
| methodNames.addAll(Test_org_eclipse_swt_widgets_Widget.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_addControlListenerLorg_eclipse_swt_events_ControlListener")) test_addControlListenerLorg_eclipse_swt_events_ControlListener(); |
| else if (getName().equals("test_addFocusListenerLorg_eclipse_swt_events_FocusListener")) test_addFocusListenerLorg_eclipse_swt_events_FocusListener(); |
| else if (getName().equals("test_addHelpListenerLorg_eclipse_swt_events_HelpListener")) test_addHelpListenerLorg_eclipse_swt_events_HelpListener(); |
| else if (getName().equals("test_addKeyListenerLorg_eclipse_swt_events_KeyListener")) test_addKeyListenerLorg_eclipse_swt_events_KeyListener(); |
| else if (getName().equals("test_addMouseListenerLorg_eclipse_swt_events_MouseListener")) test_addMouseListenerLorg_eclipse_swt_events_MouseListener(); |
| else if (getName().equals("test_addMouseMoveListenerLorg_eclipse_swt_events_MouseMoveListener")) test_addMouseMoveListenerLorg_eclipse_swt_events_MouseMoveListener(); |
| else if (getName().equals("test_addMouseTrackListenerLorg_eclipse_swt_events_MouseTrackListener")) test_addMouseTrackListenerLorg_eclipse_swt_events_MouseTrackListener(); |
| else if (getName().equals("test_addPaintListenerLorg_eclipse_swt_events_PaintListener")) test_addPaintListenerLorg_eclipse_swt_events_PaintListener(); |
| else if (getName().equals("test_addTraverseListenerLorg_eclipse_swt_events_TraverseListener")) test_addTraverseListenerLorg_eclipse_swt_events_TraverseListener(); |
| else if (getName().equals("test_computeSizeII")) test_computeSizeII(); |
| else if (getName().equals("test_computeSizeIIZ")) test_computeSizeIIZ(); |
| else if (getName().equals("test_forceFocus")) test_forceFocus(); |
| else if (getName().equals("test_getAccessible")) test_getAccessible(); |
| else if (getName().equals("test_getBackground")) test_getBackground(); |
| else if (getName().equals("test_getBorderWidth")) test_getBorderWidth(); |
| else if (getName().equals("test_getBounds")) test_getBounds(); |
| else if (getName().equals("test_getEnabled")) test_getEnabled(); |
| else if (getName().equals("test_getFont")) test_getFont(); |
| else if (getName().equals("test_getForeground")) test_getForeground(); |
| else if (getName().equals("test_getLayoutData")) test_getLayoutData(); |
| else if (getName().equals("test_getLocation")) test_getLocation(); |
| else if (getName().equals("test_getMenu")) test_getMenu(); |
| else if (getName().equals("test_getMonitor")) test_getMonitor(); |
| else if (getName().equals("test_getParent")) test_getParent(); |
| else if (getName().equals("test_getShell")) test_getShell(); |
| else if (getName().equals("test_getSize")) test_getSize(); |
| else if (getName().equals("test_getToolTipText")) test_getToolTipText(); |
| else if (getName().equals("test_getVisible")) test_getVisible(); |
| else if (getName().equals("test_internal_dispose_GCILorg_eclipse_swt_graphics_GCData")) test_internal_dispose_GCILorg_eclipse_swt_graphics_GCData(); |
| else if (getName().equals("test_internal_new_GCLorg_eclipse_swt_graphics_GCData")) test_internal_new_GCLorg_eclipse_swt_graphics_GCData(); |
| else if (getName().equals("test_isEnabled")) test_isEnabled(); |
| else if (getName().equals("test_isFocusControl")) test_isFocusControl(); |
| else if (getName().equals("test_isReparentable")) test_isReparentable(); |
| else if (getName().equals("test_isVisible")) test_isVisible(); |
| else if (getName().equals("test_moveAboveLorg_eclipse_swt_widgets_Control")) test_moveAboveLorg_eclipse_swt_widgets_Control(); |
| else if (getName().equals("test_moveBelowLorg_eclipse_swt_widgets_Control")) test_moveBelowLorg_eclipse_swt_widgets_Control(); |
| else if (getName().equals("test_pack")) test_pack(); |
| else if (getName().equals("test_packZ")) test_packZ(); |
| else if (getName().equals("test_redraw")) test_redraw(); |
| else if (getName().equals("test_redrawIIIIZ")) test_redrawIIIIZ(); |
| else if (getName().equals("test_removeControlListenerLorg_eclipse_swt_events_ControlListener")) test_removeControlListenerLorg_eclipse_swt_events_ControlListener(); |
| else if (getName().equals("test_removeFocusListenerLorg_eclipse_swt_events_FocusListener")) test_removeFocusListenerLorg_eclipse_swt_events_FocusListener(); |
| else if (getName().equals("test_removeHelpListenerLorg_eclipse_swt_events_HelpListener")) test_removeHelpListenerLorg_eclipse_swt_events_HelpListener(); |
| else if (getName().equals("test_removeKeyListenerLorg_eclipse_swt_events_KeyListener")) test_removeKeyListenerLorg_eclipse_swt_events_KeyListener(); |
| else if (getName().equals("test_removeMouseListenerLorg_eclipse_swt_events_MouseListener")) test_removeMouseListenerLorg_eclipse_swt_events_MouseListener(); |
| else if (getName().equals("test_removeMouseMoveListenerLorg_eclipse_swt_events_MouseMoveListener")) test_removeMouseMoveListenerLorg_eclipse_swt_events_MouseMoveListener(); |
| else if (getName().equals("test_removeMouseTrackListenerLorg_eclipse_swt_events_MouseTrackListener")) test_removeMouseTrackListenerLorg_eclipse_swt_events_MouseTrackListener(); |
| else if (getName().equals("test_removePaintListenerLorg_eclipse_swt_events_PaintListener")) test_removePaintListenerLorg_eclipse_swt_events_PaintListener(); |
| else if (getName().equals("test_removeTraverseListenerLorg_eclipse_swt_events_TraverseListener")) test_removeTraverseListenerLorg_eclipse_swt_events_TraverseListener(); |
| else if (getName().equals("test_setBackgroundLorg_eclipse_swt_graphics_Color")) test_setBackgroundLorg_eclipse_swt_graphics_Color(); |
| else if (getName().equals("test_setBoundsIIII")) test_setBoundsIIII(); |
| else if (getName().equals("test_setBoundsLorg_eclipse_swt_graphics_Rectangle")) test_setBoundsLorg_eclipse_swt_graphics_Rectangle(); |
| else if (getName().equals("test_setCaptureZ")) test_setCaptureZ(); |
| else if (getName().equals("test_setCursorLorg_eclipse_swt_graphics_Cursor")) test_setCursorLorg_eclipse_swt_graphics_Cursor(); |
| else if (getName().equals("test_setEnabledZ")) test_setEnabledZ(); |
| else if (getName().equals("test_setFocus")) test_setFocus(); |
| else if (getName().equals("test_setFontLorg_eclipse_swt_graphics_Font")) test_setFontLorg_eclipse_swt_graphics_Font(); |
| else if (getName().equals("test_setForegroundLorg_eclipse_swt_graphics_Color")) test_setForegroundLorg_eclipse_swt_graphics_Color(); |
| else if (getName().equals("test_setLayoutDataLjava_lang_Object")) test_setLayoutDataLjava_lang_Object(); |
| else if (getName().equals("test_setLocationII")) test_setLocationII(); |
| else if (getName().equals("test_setLocationLorg_eclipse_swt_graphics_Point")) test_setLocationLorg_eclipse_swt_graphics_Point(); |
| else if (getName().equals("test_setMenuLorg_eclipse_swt_widgets_Menu")) test_setMenuLorg_eclipse_swt_widgets_Menu(); |
| else if (getName().equals("test_setParentLorg_eclipse_swt_widgets_Composite")) test_setParentLorg_eclipse_swt_widgets_Composite(); |
| else if (getName().equals("test_setRedrawZ")) test_setRedrawZ(); |
| else if (getName().equals("test_setSizeII")) test_setSizeII(); |
| else if (getName().equals("test_setSizeLorg_eclipse_swt_graphics_Point")) test_setSizeLorg_eclipse_swt_graphics_Point(); |
| else if (getName().equals("test_setToolTipTextLjava_lang_String")) test_setToolTipTextLjava_lang_String(); |
| else if (getName().equals("test_setVisibleZ")) test_setVisibleZ(); |
| else if (getName().equals("test_toControlII")) test_toControlII(); |
| else if (getName().equals("test_toControlLorg_eclipse_swt_graphics_Point")) test_toControlLorg_eclipse_swt_graphics_Point(); |
| else if (getName().equals("test_toDisplayII")) test_toDisplayII(); |
| else if (getName().equals("test_toDisplayLorg_eclipse_swt_graphics_Point")) test_toDisplayLorg_eclipse_swt_graphics_Point(); |
| else if (getName().equals("test_traverseI")) test_traverseI(); |
| else if (getName().equals("test_update")) test_update(); |
| else super.runTest(); |
| } |
| |
| /* custom */ |
| Control control; |
| boolean eventOccurred; |
| |
| protected void setWidget(Widget w) { |
| control = (Control)w; |
| super.setWidget(w); |
| } |
| |
| /* a different method in ConsistencyUtility is invoked depending on what method |
| * equals |
| * ConsistencyUtility.MOUSE_CLICK: |
| * paramA is the x coordinate offset from control |
| * paramB is the y coordinate offset from control |
| * paramC is the mouse button to click. |
| * paramD if it equals ConsistencyUtility.ESCAPE_MENU, then another click |
| * will be made on the border of the shell, to escape the menu that came up |
| * (ie right clicking in a text widget) |
| * invokes ConsistencyUtility.postClick(Display, Point, int) |
| * ConsistencyUtility.MOUSE_DOUBLECLICK |
| * paramA is the x coordinate offset from control |
| * paramB is the y coordinate offset from control |
| * paramC is the mouse button to click. |
| * invokes ConsistencyUtility.postDoubleClick(Display, Point, int) |
| * ConsistencyUtility.MOUSE_DRAG: |
| * paramA is the x coordinate offset from control of the origin of drag |
| * paramB is the y coordinate offset from control of the origin of drag |
| * paramC is the x coordinate offset from control of the destination of drag |
| * paramD is the y coordinate offset from control of the destination of drag |
| * invokes ConsistencyUtility.postDrag(Display, Point, Point) |
| * ConsistencyUtility.KEY_PRESS: |
| * paramA is the character to press |
| * paramB is the keyCode |
| * invokes ConsistencyUtility.postKeyPress(Display, int, int) |
| * ConsistencyUtility.DOUBLE_KEY_PRESS: |
| * paramA is the character to press and hold |
| * paramB is the keyCode |
| * paramC is the second key to press while the first one is held (ie ctrl-a) |
| * paramD is the second keycode |
| * invokes ConsistencyUtility.postDoubleKeyPress(Display, int, int, int, int) |
| * ConsistencyUtility.SELECTION: |
| * paramA is the x coordinate offset from control of the first click |
| * paramB is the y coordinate offset from control of the first click |
| * paramC is the x coordinate offset from control of the second click |
| * paramD is the y coordinate offset from control of the second click |
| * invokes ConsistencyUtility.postSelection(Display, Point, Point) |
| * ConsistencyUtility.SHELL_ICONIFY: |
| * paramA is the button to click with |
| * invokes ConsistencyUtility.postShellIconify(Display, Point, int) |
| */ |
| protected void consistencyEvent(final int paramA, final int paramB, |
| final int paramC, final int paramD, |
| final int method, Vector events, boolean focus) { |
| if(fTestConsistency) { |
| final Display display = shell.getDisplay(); |
| if(events == null) |
| events = new Vector(); |
| final String test = getTestName(); |
| |
| shell.setLayout(new org.eclipse.swt.layout.FillLayout()); |
| shell.setText("Parent"); |
| |
| shell.pack(); |
| shell.open(); |
| if(control instanceof Shell) { |
| ((Shell)control).pack(); |
| ((Shell)control).open(); |
| } |
| final Point[] pt = determineLocations(paramA, paramB, paramC, paramD, method); |
| if(focus && !control.setFocus()) |
| control.forceFocus(); |
| String[] expectedEvents = hookExpectedEvents(test, events); |
| new Thread() { |
| public void run() { |
| display.wake(); |
| switch(method) { |
| case ConsistencyUtility.MOUSE_CLICK: |
| Assert.assertTrue(test, |
| ConsistencyUtility.postClick(display, pt[0], paramC)); |
| if(paramD == ConsistencyUtility.ESCAPE_MENU) { |
| Assert.assertTrue(test, |
| ConsistencyUtility.postClick(display, pt[1], 1)); |
| } |
| break; |
| case ConsistencyUtility.MOUSE_DOUBLECLICK: |
| Assert.assertTrue(test, |
| ConsistencyUtility.postDoubleClick(display, pt[0], paramC)); |
| break; |
| case ConsistencyUtility.KEY_PRESS: |
| Assert.assertTrue(test, |
| ConsistencyUtility.postKeyPress(display, paramA, paramB)); |
| break; |
| case ConsistencyUtility.DOUBLE_KEY_PRESS: |
| Assert.assertTrue(test, |
| ConsistencyUtility.postDoubleKeyPress(display, paramA, paramB, paramC, paramD)); |
| break; |
| case ConsistencyUtility.MOUSE_DRAG: |
| Assert.assertTrue(test, |
| ConsistencyUtility.postDrag(display, |
| pt[0], pt[1])); |
| break; |
| case ConsistencyUtility.SELECTION: |
| |
| Assert.assertTrue(test, |
| ConsistencyUtility.postSelection(display, |
| pt[0], pt[1])); |
| break; |
| case ConsistencyUtility.SHELL_ICONIFY: |
| if(SwtJunit.isCarbon) |
| Assert.assertTrue(test, |
| ConsistencyUtility.postShellIconify(display, pt[0], paramA)); |
| else |
| Assert.assertTrue(test, |
| ConsistencyUtility.postShellIconify(display, pt[1], paramA)); |
| if(control instanceof Shell) { |
| display.syncExec(new Thread() { |
| public void run() { |
| ((Shell)control).setMinimized(false); |
| }}); |
| } else |
| fail("Iconifying a non shell control"); |
| break; |
| } |
| display.asyncExec(new Thread() { |
| public void run() { |
| shell.dispose(); |
| } |
| }); |
| } |
| }.start(); |
| |
| while(!shell.isDisposed()) { |
| if(!display.readAndDispatch()) display.sleep(); |
| } |
| setUp(); |
| String[] results = new String[events.size()]; |
| events.copyInto(results); |
| assertEquals(test + " event ordering", expectedEvents, results); |
| } |
| } |
| |
| protected void consistencyEvent(int paramA, int paramB, |
| int paramC, int paramD, |
| int method, Vector events) { |
| consistencyEvent(paramA, paramB, paramC, paramD, method, events, true); |
| } |
| |
| protected void consistencyEvent(int paramA, int paramB, |
| int paramC, int paramD, |
| int method) { |
| consistencyEvent(paramA, paramB, paramC, paramD, method, null, true); |
| } |
| |
| protected void consistencyPrePackShell() { |
| shell.setLayout(new org.eclipse.swt.layout.FillLayout()); |
| shell.pack(); |
| } |
| |
| protected void consistencyPrePackShell(Shell shell) { |
| consistencyPrePackShell(); |
| shell.pack(); |
| } |
| |
| |
| protected Point[] determineLocations(int paramA, int paramB, |
| int paramC, int paramD, int method) { |
| Point[] array = new Point[2]; |
| if(method >= ConsistencyUtility.MOUSE_CLICK) |
| array[0] = control.toDisplay(paramA, paramB); |
| if(method >= ConsistencyUtility.MOUSE_DRAG) |
| array[1] = control.toDisplay(paramC, paramD); |
| if(method == ConsistencyUtility.MOUSE_CLICK && paramD == ConsistencyUtility.ESCAPE_MENU) |
| array[1] = shell.toDisplay(25, -10); |
| else if(method == ConsistencyUtility.SHELL_ICONIFY) { |
| array[0] = control.toDisplay(0,0); |
| array[1] = control.toDisplay(control.getSize().x -20, 0); |
| } |
| return array; |
| } |
| |
| } |