package com.windowtester.test.gef.tests.ui; import org.eclipse.swt.graphics.Image; import com.windowtester.recorder.event.IUISemanticEvent; import com.windowtester.recorder.event.user.SemanticDropEvent; import com.windowtester.recorder.event.user.SemanticWidgetSelectionEvent; import com.windowtester.runtime.gef.internal.locator.FigureLabelProvider; import com.windowtester.runtime.gef.locator.FigureCanvasLocator; import com.windowtester.runtime.gef.locator.FigureCanvasXYLocator; import com.windowtester.runtime.gef.locator.FigureClassLocator; import com.windowtester.runtime.gef.locator.PaletteItemLocator; import com.windowtester.runtime.locator.ILocator; import com.windowtester.test.PDETestCase; import com.windowtester.ui.internal.corel.model.Event; import com.windowtester.ui.internal.corel.model.EventSequenceLabelProvider; import static com.windowtester.runtime.gef.internal.locator.FigureLabelProvider.*; /** * Label provider tests for GEF components. * <p> * Copyright (c) 2008, Instantiations, Inc.<br> * All Rights Reserved * * @author Phil Quitslund * */ public class EventSequenceLabelProviderGEFTest extends PDETestCase { private static final EventSequenceLabelProvider provider = new EventSequenceLabelProvider(); public void testPaletteItemText() { assertEquals("Palette Item: \"foo/bar\" clicked", getText(new PaletteItemLocator("foo/bar"))); } public void testFigureClassText() { assertEquals("Figure (MyFigure.class) clicked", getText(new FigureClassLocator("MyFigure.class"))); } //TODO: context clicks // // public void testFigureClassContextText() { // assertEquals("Figure (MyFigure.class) clicked", getText(new FigureClassLocator("MyFigure.class"))); // } public void testFigureCanvasText() { assertEquals("Figure Canvas clicked", getText(new FigureCanvasLocator())); } public void testFigureCanvasXYText() { assertEquals("Figure Canvas clicked", getText(new FigureCanvasXYLocator(3,3))); } public void testFigureCanvasDragToText() { assertEquals("Dragged to Figure Canvas", getText(new SemanticDropEvent(SemanticWidgetSelectionEvent.forLocator(new FigureCanvasXYLocator(3,3))))); } public void testPaletteItemImage() { assertEquals(getExpectedImage(PALETTE_ITEM), getImage(new PaletteItemLocator("foo/bar"))); } public void testFigureClassImage() { assertEquals(getExpectedImage(FIGURE), getImage(new FigureClassLocator("MyFigure.class"))); } public void testFigureCanvasImage() { assertEquals(getExpectedImage(CANVAS), getImage(new FigureCanvasLocator())); } public void testFigureCanvasXYImage() { assertEquals(getExpectedImage(CANVAS), getImage(new FigureCanvasXYLocator(3,3))); } private String getText(IUISemanticEvent semanticEvent) { return provider.getText(new Event(semanticEvent)); } private String getText(Event event) { return provider.getText(event); } private String getText(ILocator locator) { return getText(event(locator)); } private Event event(ILocator locator) { return new Event(SemanticWidgetSelectionEvent.forLocator(locator)); } private Image getImage(ILocator locator) { return provider.getImage(event(locator)); } private Image getExpectedImage(String imagePath) { return FigureLabelProvider.getImage(imagePath); } }