@Override public String toString() { String contents = getContents(); try { return jinjava.render(contents, bindings); } catch (FatalTemplateErrorsException e) { throw new HalException(Problem.Severity.FATAL, "Unable to render template:\n" + contents + "\n" + e.getMessage(), e); } } }
/** * Test the truncated division operator "//" with strings */ @Test public void testTruncDivStringFails() { Map<String, Object> context = Maps.newHashMap(); context.put("dividend", "5"); context.put("divisor", "2"); String template = "{% set x = dividend // divisor %}"; try { jinja.render(template, context); } catch (FatalTemplateErrorsException e) { assertThat(e.getMessage()).contains("Unsupported operand type(s) for //: '5' (String) and '2' (String)"); } } }
/** * Test the truncated division operator "//" with strings */ @Test public void testTruncDivStringFails() { Map<String, Object> context = Maps.newHashMap(); context.put("dividend", "5"); context.put("divisor", "2"); String template = "{% set x = dividend // divisor %}"; try { jinja.render(template, context); } catch (FatalTemplateErrorsException e) { assertThat(e.getMessage()).contains("Unsupported operand type(s) for //: '5' (String) and '2' (String)"); } } }
@Test public void testPowerOfStringFails() { Map<String, Object> context = Maps.newHashMap(); context.put("base", "2"); context.put("exponent", "8"); String template = "{% set x = base ** exponent %}{{x}}"; try { jinja.render(template, context); } catch (FatalTemplateErrorsException e) { String msg = e.getMessage(); assertTrue(msg.contains("Unsupported operand type(s)")); } }
@Test public void testPowerOfStringFails() { Map<String, Object> context = Maps.newHashMap(); context.put("base", "2"); context.put("exponent", "8"); String template = "{% set x = base ** exponent %}{{x}}"; try { jinja.render(template, context); } catch (FatalTemplateErrorsException e) { String msg = e.getMessage(); assertTrue(msg.contains("Unsupported operand type(s)")); } }