package com.windowtester.test.eclipse;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.TreeItem;
import org.eclipse.swt.widgets.Widget;
import com.windowtester.runtime.IUIContext;
import com.windowtester.runtime.locator.IWidgetLocator;
import com.windowtester.runtime.locator.IWidgetReference;
import com.windowtester.runtime.swt.UITestCaseSWT;
import com.windowtester.runtime.swt.condition.shell.ShellDisposedCondition;
import com.windowtester.runtime.swt.condition.shell.ShellShowingCondition;
import com.windowtester.runtime.swt.locator.ButtonLocator;
import com.windowtester.runtime.swt.locator.FilteredTreeItemLocator;
import com.windowtester.runtime.swt.locator.MenuItemLocator;
import com.windowtester.runtime.swt.locator.TreeItemLocator;
import com.windowtester.runtime.swt.locator.eclipse.ViewLocator;
import com.windowtester.runtime.swt.locator.eclipse.WorkbenchLocator;
/*******************************************************************************
* 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 TestTreeItemViewScope extends UITestCaseSWT {
/* @see junit.framework.TestCase#setUp()
*/
protected void setUp() throws Exception {
super.setUp();
IUIContext ui = getUI();
ui.ensureThat(new WorkbenchLocator().hasFocus());
ui.ensureThat(ViewLocator.forName("Welcome").isClosed());
}
/**
* Main test method.
*/
public void testTestTree() throws Exception {
IUIContext ui = getUI();
ui.click(new MenuItemLocator("File/New/Project..."));
ui.wait(new ShellShowingCondition("New Project"));
ui.click(new FilteredTreeItemLocator(
"Plug-in Development/Plug-in Project"));
ui.click(new ButtonLocator("&Next >"));
ui.enterText("test");
ui.click(new ButtonLocator("&Next >"));
ui.click(new ButtonLocator("&Finish"));
ui.wait(new ShellShowingCondition("Open Associated Perspective?"));
ui.click(new ButtonLocator("&Yes"));
ui.wait(new ShellDisposedCondition("New Plug-in Project"));
ui.click(2, new TreeItemLocator("test/src/test/Activator.java",
new ViewLocator("org.eclipse.jdt.ui.PackageExplorer")));
ui.click(new TreeItemLocator("Activator/Activator()", new ViewLocator(
"org.eclipse.ui.views.ContentOutline")));
// IWidgetLocator[] locs = ui.findAll(new TreeItemLocator("Activator.*", new
// ViewLocator("org.eclipse.ui.views.ContentOutline")));
IWidgetLocator[] locs = ui.findAll(new TreeItemLocator(".+", new
ViewLocator("org.eclipse.ui.views.ContentOutline")));
// IWidgetLocator[] locs = ui.findAll(new TreeItemLocator(".*", new
// ViewLocator("org.eclipse.ui.views.ContentOutline")));
System.out.println(locs.length);
for (IWidgetLocator loc: locs){
final Widget widget = (Widget) ((IWidgetReference)loc).getWidget();
Display.getDefault().syncExec(new Runnable() {
public void run() {
if (widget instanceof TreeItem)
System.out.println(((TreeItem)widget).getText());
}
});
}
// ui.click(new MenuItemLocator("File/Exit"));
// ui.wait(new ShellDisposedCondition("Eclipse SDK"));
}
}