/*******************************************************************************
* Copyright (c) 2013 Red Hat 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:
* Red Hat Inc. - initial API and implementation
*******************************************************************************/
package org.eclipse.linuxtools.internal.perf.swtbot.tests;
import static org.eclipse.swtbot.eclipse.finder.matchers.WidgetMatcherFactory.withPartName;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotStyledText;
import org.eclipse.ui.IViewReference;
import org.hamcrest.Matcher;
/**
* Specialized abstract SWTBot test for views containing
* <code>StyledText<code>, subclasses must provide the view id and expected text.
*/
public abstract class AbstractStyledTextViewTest extends AbstractSWTBotTest {
@Override
protected void testPerfView() {
SWTWorkbenchBot bot = new SWTWorkbenchBot();
Matcher<IViewReference> withPartName = withPartName(getViewId());
SWTBotView view = bot.view(withPartName);
assertNotNull(view);
view.setFocus();
SWTBotStyledText text = bot.styledText();
assertNotNull(text);
assertEquals(getExpectedText(), text.getText());
}
/**
* Get unique test view identifier.
* @return String unique identifier of view part to test.
*/
protected abstract String getViewId();
/**
* Get exptected text of <code>StyledText</code> widget contained in this view.
* @return String expected text of view.
*/
protected abstract String getExpectedText();
}