package br.com.caelum.seleniumdsl.hamcrest; import org.hamcrest.Description; import org.hamcrest.Factory; import org.hamcrest.Matcher; import org.hamcrest.TypeSafeMatcher; import br.com.caelum.seleniumdsl.Page; /** * See description on SeleniumDslMatchers * @author Lucas Cavalcanti */ public class HasLinkMatcher<T extends Page> extends TypeSafeMatcher<T> { private final String linkName; public HasLinkMatcher(String linkName) { this.linkName = linkName; } @Override public boolean matchesSafely(T item) { return item.hasLink(linkName); } public void describeTo(Description description) { description.appendText("a page containing link"); } @Factory public static <T extends Page> Matcher<T> hasLink(String linkName) { return new HasLinkMatcher<T>(linkName); } }