@Test
  public void testFlashScope() {
    final WisdomTemplateEngine engine = createWisdomEngine();
    final Template template = mock(Template.class);
    when(template.fullName()).thenReturn("templates/var.thl.html");

    final FakeRouter router = new FakeRouter();
    final Controller controller = new FakeController();
    router.addController(controller);

    Action.ActionResult result =
        action(
                new Invocation() {
                  @Override
                  public Result invoke() throws Throwable {
                    context().flash().put("key2", "ongoing");
                    return ok(
                        engine.process(
                            template, controller, router, ImmutableMap.<String, Object>of()));
                  }
                })
            .with(new FakeContext().addToFlash("key", "incoming"))
            .invoke();

    String content = (String) result.getResult().getRenderable().content();
    assertThat(content)
        .contains("<span>KEY</span> = <span>incoming</span>")
        .contains("<span>KEY2</span> = <span>ongoing</span>");
  }
  @Test
  public void testJavaScript() {
    TemplateEngine engine = createWisdomEngine();
    Context context = new Context();
    context.setVariable("test", "test");

    FakeRouter router = new FakeRouter();
    Controller controller = new FakeController();
    router.addController(controller);

    context.setVariable(Routes.ROUTES_VAR, new Routes(router, controller));

    String processed = engine.process("templates/javascript.thl.html", context);
    assertThat(processed).containsIgnoringCase("var t = 'test';");
    assertThat(processed).containsIgnoringCase("var url = '/';");
    assertThat(processed).containsIgnoringCase("$(document).ready(function () {");
  }