/******************************************************************************* * Copyright (C) 2009, Robin Rosenberg <robin.rosenberg@dewire.com> * Copyright (C) 2010, Ketan Padegaonkar <KetanPadegaonkar@gmail.com> * * 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 *******************************************************************************/ package org.eclipse.egit.ui.common; import static org.eclipse.swtbot.swt.finder.SWTBotAssert.assertEnabled; import static org.eclipse.swtbot.swt.finder.SWTBotAssert.assertNotEnabled; import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.allOf; import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.widgetOfType; import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.withText; import static org.eclipse.swtbot.swt.finder.waits.Conditions.widgetIsEnabled; import static org.eclipse.swtbot.swt.finder.waits.Conditions.waitForWidget; import org.eclipse.swt.widgets.Text; import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot; import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree; import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem; public class RepoRemoteBranchesPage { private static final SWTWorkbenchBot bot = new SWTWorkbenchBot(); public void assertRemoteBranches(String... branches) { SWTBotTree tree = bot.tree(); bot.waitUntil(widgetIsEnabled(tree), 20000); for (String branch : branches) { tree.getTreeItem(branch); } } public void selectBranches(String... branches) { SWTBotTree tree = bot.tree(); bot.waitUntil(widgetIsEnabled(tree)); for (String branch : branches) { tree.getTreeItem(branch).check(); } } public WorkingCopyPage nextToWorkingCopy() { bot.button("Next >").click(); return new WorkingCopyPage(); } public void deselectAllBranches() { SWTBotTree tree = bot.tree(); bot.waitUntil(widgetIsEnabled(tree), 60000); SWTBotTreeItem[] items = tree.getAllItems(); for (int i = 0; i < items.length; i++) { items[i].uncheck(); } } @SuppressWarnings({ "unchecked", "rawtypes" }) public void assertErrorMessage(String errorMessage) { bot.waitUntil( waitForWidget(allOf(widgetOfType(Text.class), withText(" " + errorMessage))), 20000); } public void assertNextIsDisabled() { assertNotEnabled(bot.button("Next >")); } public void assertNextIsEnabled() { assertEnabled(bot.button("Next >")); } public void assertCannotProceed() { assertEnabled(bot.button("Cancel")); assertEnabled(bot.button("< Back")); assertNotEnabled(bot.button("Next >")); assertNotEnabled(bot.button("Finish")); } public void cancel() { bot.button("Cancel").click(); } }