package com.windowtester.test.locator.swt; import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.custom.CTabItem; import abbot.tester.swt.ItemTester; import com.windowtester.runtime.IUIContext; import com.windowtester.runtime.WidgetSearchException; import com.windowtester.runtime.locator.ILocator; import com.windowtester.runtime.locator.WidgetReference; import com.windowtester.runtime.swt.locator.CTabItemLocator; import com.windowtester.test.locator.swt.shells.CTabItemTestShell; import com.windowtester.test.util.Serializer; /******************************************************************************* * Copyright (c) 2012 Google, Inc. * 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: * Google, Inc. - initial API and implementation *******************************************************************************/ public class CTabItemLocatorTest extends AbstractLocatorTest { CTabItemTestShell _window; @Override public void uiSetup() { _window = new CTabItemTestShell(); _window.open(); } @Override public void uiTearDown() { _window.getShell().dispose(); } public void testSelectionWithRefs() throws WidgetSearchException { IUIContext ui = getUI(); CTabFolder folder = _window.getCTabFolder(); CTabItem[] items = folder.getItems(); //assert initial state assertNull(folder.getSelection()); ui.click(new WidgetReference(items[0])); assertEquals(items[0], folder.getSelection()); ui.click(new WidgetReference(items[1])); assertEquals(items[1], folder.getSelection()); ui.click(new WidgetReference(items[2])); assertEquals(items[2], folder.getSelection()); } public void testSelection() throws WidgetSearchException { IUIContext ui = getUI(); CTabFolder folder = _window.getCTabFolder(); CTabItem[] items = folder.getItems(); //assert initial state assertNull(folder.getSelection()); ui.click(locator(items[0])); assertEquals(items[0], folder.getSelection()); ui.click(locator(items[1])); assertEquals(items[1], folder.getSelection()); ui.click(locator(items[2])); assertEquals(items[2], folder.getSelection()); } public void testStreamOutAndIn() throws Exception { Serializer.serializeOutAndIn(new CTabItemLocator("Tab")); } private ILocator locator(CTabItem tabItem) { return new CTabItemLocator(new ItemTester().getText(tabItem)); } public void testClose() throws Exception { IUIContext ui = getUI(); ui.ensureThat(new CTabItemLocator("eins").isClosed()); ui.assertThat(new CTabItemLocator("eins").isVisible(false)); } // /** // * Adapted from: // * com.windowtester.test.gef.tests.common.AbstractGEFDrivingTest.closeWelcomePageIfNecessary() // */ // public void XtestCloseRef() throws Exception { // IUIContext ui = getUI(); // IWidgetLocator[] tab = ui.findAll( // new CTabItemLocator("eins")); // ui.close(tab[0]); // ui.assertThat(new CTabItemLocator("eins").isVisible(false)); // } }