/******************************************************************************* * 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.SWTBotAssert.assertText; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot; import org.eclipse.swtbot.swt.finder.widgets.SWTBotCheckBox; import org.eclipse.swtbot.swt.finder.widgets.SWTBotCombo; import org.eclipse.swtbot.swt.finder.widgets.SWTBotText; public class RepoPropertiesPage { private static final SWTWorkbenchBot bot = new SWTWorkbenchBot(); public void setURI(String uri) { uri().setText(uri); } public void setUser(String user) { user().setText(user); } public void setPassword(String password) { password().setText(password); } public void setStoreInSecureStore(boolean store) { if (store) storeCheckBox().select(); else storeCheckBox().deselect(); } public void appendToURI(String toAppend) { SWTBotText uri = uri(); uri.setText(uri.getText() + toAppend); } public void setPushDestination(String destination) { SWTBotCombo destinationCombo = bot.comboBox(); String[] items = destinationCombo.items(); for (int i = 0; i < items.length; i++) if (items[i].startsWith(destination)) { destinationCombo.setSelection(i); return; } fail("Could not find destination " + destination); } @SuppressWarnings("boxing") public void assertSourceParams(String message, String expectHost, String expectPath, String expectProtocol, String expectPort, boolean enablePort, String expectUser, String expectPassword, boolean enabledUser, boolean enabledPass) { if (message != null) { // TODO: magic number, looks dangerous! assertText(message, bot.text(6)); assertNotEnabled(bot.button("Next >")); } else { assertEquals("Enter the location of the source repository.", bot .text(6).getText()); assertEnabled(bot.button("Next >")); } assertText(expectHost, bot.textWithLabel("Host:")); assertText(expectPath, bot.textWithLabel("Repository path:")); assertText(expectProtocol, bot.comboBoxWithLabel("Protocol:")); assertText(expectPort, bot.textWithLabel("Port:")); assertText(expectUser, bot.textWithLabel("User:")); assertText(expectPassword, bot.textWithLabel("Password:")); assertEquals(enablePort, bot.textWithLabel("Port:").isEnabled()); assertEquals(enabledUser, bot.textWithLabel("User:").isEnabled()); assertEquals(enabledPass, bot.label("Password:").isEnabled()); assertEquals(enabledPass, bot.textWithLabel("Password:").isEnabled()); } public void assertURI(String expected) { assertText(expected, uri()); } private SWTBotText uri() { return bot.textWithLabel("URI:"); } private SWTBotText user() { return bot.textWithLabel("User:"); } private SWTBotText password() { return bot.textWithLabel("Password:"); } private SWTBotCheckBox storeCheckBox() { return bot.checkBox("Store in Secure Store"); } public RepoRemoteBranchesPage nextToRemoteBranches(String string) { setURI(string); return nextToRemoteBranches(); } public RepoRemoteBranchesPage nextToRemoteBranches() { bot.button("Next >").click(); return new RepoRemoteBranchesPage(); } }