package org.jtwig.integration.function;
import org.jtwig.JtwigModel;
import org.jtwig.JtwigTemplate;
import org.jtwig.integration.AbstractIntegrationTest;
import org.junit.Test;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
public class EmptyFunctionTest extends AbstractIntegrationTest {
@Test
public void isEmptyArrayEmpty() throws Exception {
String result = JtwigTemplate.inlineTemplate("{% if (empty(test)) %}ok{% else %}ko{% endif %}")
.render(JtwigModel.newModel().with("test", new Object[]{}));
assertThat(result, is("ok"));
}
@Test
public void isEmptyArrayNonEmpty() throws Exception {
String result = JtwigTemplate.inlineTemplate("{% if (empty(test)) %}ko{% else %}ok{% endif %}")
.render(JtwigModel.newModel().with("test", new Object[]{new Object()}));
assertThat(result, is("ok"));
}
@Test
public void emptyWhenNull() throws Exception {
String result = JtwigTemplate.inlineTemplate("{% if (empty(null)) %}ok{% else %}ko{% endif %}")
.render(JtwigModel.newModel());
assertThat(result, is("ok"));
}
@Test
public void emptyWhenNonNull() throws Exception {
String result = JtwigTemplate.inlineTemplate("{% if (empty(1)) %}ko{% else %}ok{% endif %}")
.render(JtwigModel.newModel());
assertThat(result, is("ok"));
}
@Test
public void emptyWhenEmptyList() throws Exception {
String result = JtwigTemplate.inlineTemplate("{% if (empty([])) %}ok{% else %}ko{% endif %}")
.render(JtwigModel.newModel());
assertThat(result, is("ok"));
}
@Test
public void emptyWhenNonEmptyList() throws Exception {
String result = JtwigTemplate.inlineTemplate("{% if (empty([1])) %}ko{% else %}ok{% endif %}")
.render(JtwigModel.newModel());
assertThat(result, is("ok"));
}
@Test
public void emptyWhenEmptyMap() throws Exception {
String result = JtwigTemplate.inlineTemplate("{% if (empty({})) %}ok{% else %}ko{% endif %}")
.render(JtwigModel.newModel());
assertThat(result, is("ok"));
}
@Test
public void emptyWhenNonEmptyMap() throws Exception {
String result = JtwigTemplate.inlineTemplate("{% if (empty({a:1})) %}ko{% else %}ok{% endif %}")
.render(JtwigModel.newModel());
assertThat(result, is("ok"));
}
@Test
public void emptyWhenZero() throws Exception {
String result = JtwigTemplate.inlineTemplate("{% if (empty(0)) %}ok{% else %}ko{% endif %}")
.render(JtwigModel.newModel());
assertThat(result, is("ok"));
}
@Test
public void emptyWhenUndefined() throws Exception {
String result = JtwigTemplate.inlineTemplate("{% if (empty(blah)) %}ok{% else %}ko{% endif %}")
.render(JtwigModel.newModel());
assertThat(result, is("ok"));
}
}