@Test public void itDoesNotExecuteFiltersInValidatedBlocks() { assertThat(validationFilter.getExecutionCount()).isEqualTo(0); String template = "{{ 10|validation_filter() }}" + "{% if false %}" + " {{ 10|validation_filter() }}" + " {{ hey( }}" + "{% endif %}"; String result = interpreter.render(template).trim(); assertThat(interpreter.getErrors()).isEmpty(); assertThat(result).isEqualTo("10"); assertThat(validationFilter.getExecutionCount()).isEqualTo(1); JinjavaInterpreter.pushCurrent(validatingInterpreter); result = validatingInterpreter.render(template).trim(); assertThat(validatingInterpreter.getErrors().size()).isEqualTo(1); assertThat(validatingInterpreter.getErrors().get(0).getMessage()).contains("hey("); assertThat(result).isEqualTo("10"); assertThat(validationFilter.getExecutionCount()).isEqualTo(2); }
@Test public void itDoesNotExecuteFiltersInValidatedBlocks() { assertThat(validationFilter.getExecutionCount()).isEqualTo(0); String template = "{{ 10|validation_filter() }}" + "{% if false %}" + " {{ 10|validation_filter() }}" + " {{ hey( }}" + "{% endif %}"; String result = interpreter.render(template).trim(); assertThat(interpreter.getErrors()).isEmpty(); assertThat(result).isEqualTo("10"); assertThat(validationFilter.getExecutionCount()).isEqualTo(1); JinjavaInterpreter.pushCurrent(validatingInterpreter); result = validatingInterpreter.render(template).trim(); assertThat(validatingInterpreter.getErrors().size()).isEqualTo(1); assertThat(validatingInterpreter.getErrors().get(0).getMessage()).contains("hey("); assertThat(result).isEqualTo("10"); assertThat(validationFilter.getExecutionCount()).isEqualTo(2); }
@Before public void setup() { interpreter = new Jinjava().newInterpreter(); JinjavaInterpreter.pushCurrent(interpreter); }
@Before public void setup() { interpreter = new Jinjava().newInterpreter(); JinjavaInterpreter.pushCurrent(interpreter); }
@Before public void setup() { interpreter = new Jinjava().newInterpreter(); JinjavaInterpreter.pushCurrent(interpreter); context = interpreter.getContext(); }
@Before public void setup() { interpreter = new Jinjava().newInterpreter(); JinjavaInterpreter.pushCurrent(interpreter); context = interpreter.getContext(); }
@Before public void setup() { interpreter = new Jinjava().newInterpreter(); JinjavaInterpreter.pushCurrent(interpreter); context = interpreter.getContext(); }
@Before public void setup() { interpreter = new Jinjava().newInterpreter(); JinjavaInterpreter.pushCurrent(interpreter); context = interpreter.getContext(); }
@Before public void setup() { jinjava = new Jinjava(); interpreter = jinjava.newInterpreter(); context = interpreter.getContext(); JinjavaInterpreter.pushCurrent(interpreter); }
@Before public void setup() { jinjava = new Jinjava(); interpreter = jinjava.newInterpreter(); context = interpreter.getContext(); JinjavaInterpreter.pushCurrent(interpreter); }
@Test public void itAllowsMacroRecursionWhenEnabledInConfiguration() throws IOException { // I need a different configuration here therefore interpreter = new Jinjava(JinjavaConfig.newBuilder().withEnableRecursiveMacroCalls(true).build()).newInterpreter(); JinjavaInterpreter.pushCurrent(interpreter); try { String template = fixtureText("ending-recursion"); String out = interpreter.render(template); assertThat(interpreter.getErrorsCopy()).isEmpty(); assertThat(out).contains("Hello Hello Hello Hello Hello"); } finally { // and I need to cleanup my mess... JinjavaInterpreter.popCurrent(); } }
@Test public void itAllowsMacroRecursionWhenEnabledInConfiguration() throws IOException { // I need a different configuration here therefore interpreter = new Jinjava(JinjavaConfig.newBuilder().withEnableRecursiveMacroCalls(true).build()).newInterpreter(); JinjavaInterpreter.pushCurrent(interpreter); try { String template = fixtureText("ending-recursion"); String out = interpreter.render(template); assertThat(interpreter.getErrorsCopy()).isEmpty(); assertThat(out).contains("Hello Hello Hello Hello Hello"); } finally { // and I need to cleanup my mess... JinjavaInterpreter.popCurrent(); } }
@Before public void setup() { Jinjava jinjava = new Jinjava(); jinjava.setResourceLocator(new ResourceLocator() { @Override public String getString(String fullName, Charset encoding, JinjavaInterpreter interpreter) throws IOException { return Resources.toString( Resources.getResource(String.format("tags/macrotag/%s", fullName)), StandardCharsets.UTF_8); } }); interpreter = jinjava.newInterpreter(); JinjavaInterpreter.pushCurrent(interpreter); context = interpreter.getContext(); context.put("padding", 42); }
@Before public void setup() { Jinjava jinjava = new Jinjava(); jinjava.setResourceLocator(new ResourceLocator() { @Override public String getString(String fullName, Charset encoding, JinjavaInterpreter interpreter) throws IOException { return Resources.toString( Resources.getResource(String.format("tags/macrotag/%s", fullName)), StandardCharsets.UTF_8); } }); interpreter = jinjava.newInterpreter(); JinjavaInterpreter.pushCurrent(interpreter); context = interpreter.getContext(); context.put("padding", 42); }
@Before public void setup() { Jinjava jinjava = new Jinjava(); jinjava.setResourceLocator(new ResourceLocator() { @Override public String getString(String fullName, Charset encoding, JinjavaInterpreter interpreter) throws IOException { return Resources.toString( Resources.getResource(String.format("tags/macrotag/%s", fullName)), StandardCharsets.UTF_8); } }); context = new Context(); interpreter = new JinjavaInterpreter(jinjava, context, jinjava.getGlobalConfig()); JinjavaInterpreter.pushCurrent(interpreter); context.put("padding", 42); }
@Before public void setup() { Jinjava jinjava = new Jinjava(); jinjava.setResourceLocator(new ResourceLocator() { @Override public String getString(String fullName, Charset encoding, JinjavaInterpreter interpreter) throws IOException { return Resources.toString( Resources.getResource(String.format("tags/macrotag/%s", fullName)), StandardCharsets.UTF_8); } }); context = new Context(); interpreter = new JinjavaInterpreter(jinjava, context, jinjava.getGlobalConfig()); JinjavaInterpreter.pushCurrent(interpreter); context.put("padding", 42); }
@Before public void setup() { validationFilter = new ValidationFilter(); ELFunctionDefinition validationFunction = new ELFunctionDefinition("", "validation_test", ValidationModeTest.class, "validationTestFunction"); jinjava = new Jinjava(); jinjava.getGlobalContext().registerFilter(validationFilter); jinjava.getGlobalContext().registerFunction(validationFunction); interpreter = jinjava.newInterpreter(); context = interpreter.getContext(); validatingInterpreter = new JinjavaInterpreter(jinjava, context, JinjavaConfig.newBuilder().withValidationMode(true).build()); JinjavaInterpreter.pushCurrent(interpreter); }
@Before public void setup() { validationFilter = new ValidationFilter(); ELFunctionDefinition validationFunction = new ELFunctionDefinition("", "validation_test", ValidationModeTest.class, "validationTestFunction"); jinjava = new Jinjava(); jinjava.getGlobalContext().registerFilter(validationFilter); jinjava.getGlobalContext().registerFunction(validationFunction); interpreter = jinjava.newInterpreter(); context = interpreter.getContext(); validatingInterpreter = new JinjavaInterpreter(jinjava, context, JinjavaConfig.newBuilder().withValidationMode(true).build()); JinjavaInterpreter.pushCurrent(interpreter); }
JinjavaInterpreter.pushCurrent(interpreter);