/*******************************************************************************
* Copyright Technophobia Ltd 2012
*
* This file is part of the Substeps Eclipse Plugin.
*
* The Substeps Eclipse Plugin is free software: you can redistribute it and/or modify
* it under the terms of the Eclipse Public License v1.0.
*
* The Substeps Eclipse Plugin is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* Eclipse Public License for more details.
*
* You should have received a copy of the Eclipse Public License
* along with the Substeps Eclipse Plugin. If not, see <http://www.eclipse.org/legal/epl-v10.html>.
******************************************************************************/
package com.technophobia.substeps.test.steps;
import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.technophobia.substeps.model.SubSteps.Step;
import com.technophobia.substeps.test.controller.ProjectSWTController;
public class BasicWorkspaceSteps extends AbstractSteps {
private static final Logger LOG = LoggerFactory.getLogger(BasicWorkspaceSteps.class);
@Step("Given the \"([^\"]*)\" view is not visible")
public void ensureViewIsHidden(final String view) {
LOG.debug("Given the " + view + " view is not visible");
final SWTWorkbenchBot workbenchBot = new SWTWorkbenchBot();
try {
final SWTBotView activeView = workbenchBot.activeView();
if (view.equals(activeView.getTitle())) {
workbenchBot.viewByTitle(view).close();
}
} catch (final WidgetNotFoundException ex) {
// no view is active, no need to do anything
}
}
@Step("Given I am working on the \"([^\"]*)\" Perspective")
public void navigateToPerspective(final String perspectiveName) {
LOG.debug("Given I am working on the " + perspectiveName + " Perspective");
final ProjectSWTController controller = createController(ProjectSWTController.class);
controller.navigateToPerspective(perspectiveName);
}
@Step("Given there is a general project named \"([^\"]*)\"")
public void ensureProjectExistsNamed(final String projectName) {
LOG.debug("Given there is a general project named " + projectName);
final ProjectSWTController controller = createController(ProjectSWTController.class);
if (!controller.isProjectExist(projectName)) {
controller.createGeneralProject(projectName);
}
}
}