package de.ppi.fuwesta.spring.mvc.util;
import java.util.Arrays;
import java.util.List;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
/**
* Test for {@link URLCleaner}.
*
*/
@RunWith(Parameterized.class)
public class URLCleanerTest {
@Parameterized.Parameters(name = "{0} - {1}")
public static List<Object[]> testdata() {
return Arrays
.asList(new Object[][] {
{ "/a", "/a" },
{ "/a{c:[a-z]{1,5}}", "/a{c}" },
{ "/a{a}{b:.*}{c:[a-z]{1,5}}", "/a{a}{b}{c}" },
{ "/a{a}{b:.*}{c:[a-z]{1,}}", "/a{a}{b}{c}" },
{ "/a{a}{b:.*}{c:[a-z]{1,20}[A-Z]{1,13}}",
"/a{a}{b}{c}" },
{ "/user/edit/{user:[A-Z]{1,2}}", "/user/edit/{user}" },
{ "/user/edit/{user_idn:[A-Z]{1,2}}",
"/user/edit/{user_idn}" } });
}
private final String inputUrlPattern;
private final String expectedOutput;
/**
* Initiates an object of type URLCleanerTest.
*
* @param inputUrlPattern the URL with regexps.
* @param expectedOutput the expected result.
*/
public URLCleanerTest(String inputUrlPattern, String expectedOutput) {
this.inputUrlPattern = inputUrlPattern;
this.expectedOutput = expectedOutput;
}
@Test
public void testRemoveRegexpFromUrl() throws Exception {
Assert.assertEquals(expectedOutput,
URLCleaner.removeRegexpFromUrl(inputUrlPattern));
}
}