package net.pterodactylus.sone.web; import javax.annotation.Nonnull; import net.pterodactylus.sone.web.page.FreenetTemplatePage.RedirectException; import org.hamcrest.Description; import org.hamcrest.Matcher; import org.hamcrest.TypeSafeDiagnosingMatcher; /** * Utilities for testing the <code>web</code> package. * * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a> */ public class WebTestUtils { @Nonnull public static Matcher<RedirectException> redirectsTo(@Nonnull final String page) { return new TypeSafeDiagnosingMatcher<RedirectException>() { @Override protected boolean matchesSafely(RedirectException exception, Description mismatchDescription) { if (!exception.getTarget().equals(page)) { mismatchDescription.appendText("target is ").appendValue(exception.getTarget()); return false; } return true; } @Override public void describeTo(Description description) { description.appendText("target is ").appendValue(page); } }; } }