+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);
+ }
+ };
+ }
+
+}