Package org.stringtemplate.v4

Examples of org.stringtemplate.v4.STGroupFile


  @Test
  public void testEarlyEvalInIfExpr() throws Exception {
    String templates = "main(x) ::= << <if((x))>foo<else>bar<endif> >>";
    writeFile(tmpdir, "t.stg", templates);

    STGroup group = new STGroupFile(tmpdir + "/t.stg");

    ST st = group.getInstanceOf("main");

    String s = st.render();
    Assert.assertEquals(" bar ", s);

    st.add("x", "true");
View Full Code Here


  @Test
  public void testEarlyEvalOfSubtemplateInIfExpr() throws Exception {
    String templates = "main(x) ::= << <if(({a<x>b}))>foo<else>bar<endif> >>";
    writeFile(tmpdir, "t.stg", templates);

    STGroup group = new STGroupFile(tmpdir + "/t.stg");

    ST st = group.getInstanceOf("main");

    String s = st.render();
    Assert.assertEquals(" foo ", s);
  }
View Full Code Here

      "  default: \"other\"\n"+
      "]\n" +
      "main(x) ::= << p<x>t: <m.({p<x>t})>, <if(m.({p<x>t}))>if<else>else<endif> >>\n";
    writeFile(tmpdir, "t.stg", templates);

    STGroup group = new STGroupFile(tmpdir + "/t.stg");

    ST st = group.getInstanceOf("main");

    st.add("x", null);
    String s = st.render();
    Assert.assertEquals(" pt: other, if ", s);
View Full Code Here

  public void testEarlyEvalOfMapInIfExprPassInHashMap() throws Exception {
    String templates =
      "main(m,x) ::= << p<x>t: <m.({p<x>t})>, <if(m.({p<x>t}))>if<else>else<endif> >>\n";
    writeFile(tmpdir, "t.stg", templates);

    STGroup group = new STGroupFile(tmpdir + "/t.stg");

    ST st = group.getInstanceOf("main");
    st.add("m", new HashMap<String, String>() {{put("parrt","value");}});

    st.add("x", null);
    String s = st.render();
    Assert.assertEquals(" pt: , else ", s); // m[null] has no default value so else clause
View Full Code Here

    String g2 = "@a.r() ::= <%\n" +
    "  foo\n\n\n" +
    "%>\n";
    writeFile(dir, "g2.stg", g2);

    STGroup group1 = new STGroupFile(dir+"/g1.stg");
    STGroup group2 = new STGroupFile(dir+"/g2.stg");
    group2.importTemplates(group1); // define r in g2
    ST st = group2.getInstanceOf("a");
    String expected = "[foo]";
    String result = st.render();
    assertEquals(expected, result);
  }
View Full Code Here

      "x: <x>\n" +
      "y: <y>\n" +
      ">>"+newline
      ;
    writeFile(tmpdir, "group.stg", templates);
    STGroup group = new STGroupFile(tmpdir+"/group.stg");
    ST b = group.getInstanceOf("t");
    b.add("x", "a");
    String expecting =
      "x: a" +newline+
      "y: aa";
    String result = b.render();
View Full Code Here

                "page(names,phones,salaries) ::= "+newline+
                "  << <names,phones,salaries:{n,p,s | <value(n)>@<value(p)>: <value(s)>}; separator=\", \"> >>"+newline +
                "value(x) ::= \"<if(!x)>n/a<else><x><endif>\"" +newline;
        writeFile(tmpdir, "g.stg", templates);

        STGroup group = new STGroupFile(tmpdir+"/g.stg");
        ST p = group.getInstanceOf("page");
        p.add("names", "Ter");
        p.add("names", "Tom");
        p.add("names", "Sriram");
        p.add("phones", "1");
        p.add("phones", "2");
View Full Code Here

  public void testHandleBuggyDefaultArgument() throws Exception {
    String templates = "main(a={(<\"\")>}) ::= \"\"";
    writeFile(tmpdir, "t.stg", templates);

    final ErrorBuffer errors = new ErrorBuffer();
    STGroup group = new STGroupFile(tmpdir + "/t.stg");
    group.setListener(errors);

    ST st = group.getInstanceOf("main");
    String s = st.render();

    // Check the errors. This contained an "NullPointerException" before
    Assert.assertEquals(
        "t.stg 1:12: mismatched input ')' expecting RDELIM"+newline,
View Full Code Here

        String templates =
            "foo() ::= <<hi <.> mom>>\n";
        writeFile(tmpdir, "t.stg", templates);

    STErrorListener errors = new ErrorBuffer();
    STGroupFile group = new STGroupFile(tmpdir+"/"+"t.stg");
    group.setListener(errors);
    group.load(); // force load
        String expected = "t.stg 1:15: doesn't look like an expression"+newline;
        String result = errors.toString();
        assertEquals(expected, result);
    }
View Full Code Here

        "foo() ::= \"hi <\n" +
        ".> mom\"\n";
    writeFile(tmpdir, "t.stg", templates);

    ErrorBuffer errors = new ErrorBuffer();
    STGroupFile group = new STGroupFile(tmpdir+"/"+"t.stg");
    group.setListener(errors);
    group.load(); // force load
    String expected = "[t.stg 1:15: \\n in string, t.stg 1:14: doesn't look like an expression]";
    String result = errors.errors.toString();
    assertEquals(expected, result);
  }
View Full Code Here

TOP

Related Classes of org.stringtemplate.v4.STGroupFile

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.