package com.crawljax.condition;
import net.jcip.annotations.Immutable;
import com.crawljax.browser.EmbeddedBrowser;
import com.google.common.base.Objects;
/**
* Conditions that returns true iff the browser's current url contains url. Note: Case insensitive
*
* @author dannyroest@gmail.com (Danny Roest)
*/
@Immutable
public class UrlCondition implements Condition {
private final String url;
/**
* @param url
* the URL.
*/
public UrlCondition(String url) {
this.url = url;
}
@Override
public boolean check(EmbeddedBrowser browser) {
return browser.getCurrentUrl().toLowerCase().contains(url);
}
@Override
public int hashCode() {
return Objects.hashCode(getClass(), url);
}
@Override
public boolean equals(Object object) {
if (object instanceof UrlCondition) {
UrlCondition that = (UrlCondition) object;
return Objects.equal(this.url, that.url);
}
return false;
}
@Override
public String toString() {
return Objects.toStringHelper(this)
.add("url", url)
.toString();
}
}