package core.framework.impl.web.route; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; /** * @author neo */ public class PathPatternValidatorTest { @Rule public ExpectedException exception = ExpectedException.none(); private PathPatternValidator validator; @Before public void createPathPatternValidator() { validator = new PathPatternValidator(); } @Test public void duplicateVariable() { exception.expect(Error.class); exception.expectMessage("duplicate"); validator.validate("/:name/path/:name"); } @Test public void validate() { validator.validate("/robot.txt"); validator.validate("/images"); validator.validate("/path-with-trailing-slash/"); validator.validate("/user/:id/name"); validator.validate("/v2/user/:id"); } @Test public void invalidVariable() { exception.expect(Error.class); exception.expectMessage(":name("); validator.validate("/path/:name("); } }