package org.jooby.thymeleaf;
import static org.easymock.EasyMock.expect;
import static org.junit.Assert.assertEquals;
import java.util.function.Function;
import org.jooby.Env;
import org.jooby.test.MockUnit;
import org.jooby.test.MockUnit.Block;
import org.junit.Test;
public class ThlxssTest {
@Test
public void xss1() throws Exception {
new MockUnit(Env.class)
.expect(xss("foo", "xs1"))
.run(unit -> {
String value = new Thlxss(unit.get(Env.class))
.escape("foo", "xs1");
assertEquals("bar", value);
});
}
@Test
public void xss2() throws Exception {
new MockUnit(Env.class)
.expect(xss("foo", "xs1", "xs2"))
.run(unit -> {
String value = new Thlxss(unit.get(Env.class))
.escape("foo", "xs1", "xs2");
assertEquals("bar", value);
});
}
@Test
public void xss3() throws Exception {
new MockUnit(Env.class)
.expect(xss("foo", "xs1", "xs2", "x3"))
.run(unit -> {
String value = new Thlxss(unit.get(Env.class))
.escape("foo", "xs1", "xs2", "x3");
assertEquals("bar", value);
});
}
@Test
public void xss4() throws Exception {
new MockUnit(Env.class)
.expect(xss("foo", "xs1", "xs2", "x3", "x4"))
.run(unit -> {
String value = new Thlxss(unit.get(Env.class))
.escape("foo", "xs1", "xs2", "x3", "x4");
assertEquals("bar", value);
});
}
@Test
public void xss5() throws Exception {
new MockUnit(Env.class)
.expect(xss("foo", "xs1", "xs2", "x3", "x4", "x5"))
.run(unit -> {
String value = new Thlxss(unit.get(Env.class))
.escape("foo", "xs1", "xs2", "x3", "x4", "x5");
assertEquals("bar", value);
});
}
@SuppressWarnings("unchecked")
private Block xss(final String value, final String... xssv) {
return unit -> {
Function<String, String> xss = unit.mock(Function.class);
expect(xss.apply(value)).andReturn("bar");
Env env = unit.get(Env.class);
expect(env.xss(xssv)).andReturn(xss);
};
}
}