package com.hubspot.jinjava.tree.parse; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.failBecauseExceptionWasNotThrown; import org.junit.Test; import com.hubspot.jinjava.interpret.TemplateSyntaxException; public class TagTokenTest { @Test public void testParseTag() { TagToken t = new TagToken("{% foo %}", 1); assertThat(t.getTagName()).isEqualTo("foo"); } @Test public void testParseTagWithHelpers() { TagToken t = new TagToken("{% foo bar %}", 1); assertThat(t.getTagName()).isEqualTo("foo"); assertThat(t.getHelpers().trim()).isEqualTo("bar"); } @Test public void tagNameIsAllJavaIdentifiers() { TagToken t = new TagToken("{%rich_text\"top_left\"%}", 1); assertThat(t.getTagName()).isEqualTo("rich_text"); assertThat(t.getHelpers()).isEqualTo("\"top_left\""); } @Test public void itThrowsParseErrorWhenMalformed() { try { new TagToken("{% ", 1); failBecauseExceptionWasNotThrown(TemplateSyntaxException.class); } catch (TemplateSyntaxException e) { assertThat(e).hasMessageContaining("Malformed"); } } }