package br.com.caelum.seleniumdsl.hamcrest;
import org.hamcrest.Matcher;
import br.com.caelum.seleniumdsl.ContentTag;
import br.com.caelum.seleniumdsl.Form;
import br.com.caelum.seleniumdsl.Page;
import br.com.caelum.seleniumdsl.SelectField;
import br.com.caelum.seleniumdsl.table.Column;
import br.com.caelum.seleniumdsl.table.Table;
/**
* A collection of hamcrest matchers for some SeleniumDSL classes
* @author Lucas Cavalcanti
*
*/
public class SeleniumDslMatchers {
private SeleniumDslMatchers() {}
/**
* Given div (or other ContentTag) exists?
*/
public static <T extends ContentTag> Matcher<T> divExists() {
return DivExistsMatcher.<T>divExists();
}
/**
* Given div (or other ContentTag) contains this text?
*/
public static <T extends ContentTag> Matcher<T> divContains(String text) {
return DivContainsMatcher.<T>divContains(text);
}
/**
* Given form has this checkbox checked?
*/
public static <T extends Form> Matcher<T> isChecked(String checkbox) {
return IsCheckedMatcher.isChecked(checkbox);
}
/**
* Given page has this link?
*/
public static <T extends Page> Matcher<T> hasLink(String linkName) {
return HasLinkMatcher.hasLink(linkName);
}
/**
* Given select field contains one option with this label?
*/
public static <T extends SelectField> Matcher<T> containsOption(String label) {
return ContainsOptionMatcher.containsOption(label);
}
/**
* Given table contains a column with this name?
*/
public static <T extends Table> Matcher<T> containsColumn(String name) {
return ContainsColumnMatcher.containsColumn(name);
}
/**
* Given column contains exactly this text in one of its cells?
*/
public static <T extends Column> Matcher<T> columnContains(String text) {
return ColumnContainsMatcher.columnContains(text);
}
/**
* Given column contains a part of this text in one of its cells?
*/
public static <T extends Column> Matcher<T> columnContainsPartial(String text) {
return ColumnContainsPartialMatcher.columnContainsPartial(text);
}
}