Package org.stringtemplate.v4

Examples of org.stringtemplate.v4.STGroup


                "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


        assertEquals(expecting, p.render());
    }

  @Test public void testEvalSTIteratingSubtemplateInSTFromAnotherGroup() throws Exception {
    ErrorBuffer errors = new ErrorBuffer();
    STGroup innerGroup = new STGroup();
    innerGroup.setListener(errors);
    innerGroup.defineTemplate("test", "m", "<m:samegroup()>");
    innerGroup.defineTemplate("samegroup", "x", "hi ");
    ST st = innerGroup.getInstanceOf("test");
    st.add("m", new int[] {1,2,3});

    STGroup outerGroup = new STGroup();
    outerGroup.defineTemplate("errorMessage", "x", "<x>");
    ST outerST = outerGroup.getInstanceOf("errorMessage");
    outerST.add("x", st);

    String expected = "hi hi hi ";
    String result = outerST.render();
View Full Code Here

    assertEquals(expected, result);
  }

  @Test public void testEvalSTIteratingSubtemplateInSTFromAnotherGroupSingleValue() throws Exception {
    ErrorBuffer errors = new ErrorBuffer();
    STGroup innerGroup = new STGroup();
    innerGroup.setListener(errors);
    innerGroup.defineTemplate("test", "m", "<m:samegroup()>");
    innerGroup.defineTemplate("samegroup", "x", "hi ");
    ST st = innerGroup.getInstanceOf("test");
    st.add("m", 10);

    STGroup outerGroup = new STGroup();
    outerGroup.defineTemplate("errorMessage", "x", "<x>");
    ST outerST = outerGroup.getInstanceOf("errorMessage");
    outerST.add("x", st);

    String expected = "hi ";
    String result = outerST.render();
View Full Code Here

    assertEquals(expected, result);
  }

  @Test public void testEvalSTFromAnotherGroup() throws Exception {
    ErrorBuffer errors = new ErrorBuffer();
    STGroup innerGroup = new STGroup();
    innerGroup.setListener(errors);
    innerGroup.defineTemplate("bob", "inner");
    ST st = innerGroup.getInstanceOf("bob");

    STGroup outerGroup = new STGroup();
    outerGroup.setListener(errors);
    outerGroup.defineTemplate("errorMessage", "x", "<x>");
    outerGroup.defineTemplate("bob", "outer"); // should not be visible to test() in innerGroup
    ST outerST = outerGroup.getInstanceOf("errorMessage");
    outerST.add("x", st);

    String expected = "inner";
    String result = outerST.render();
View Full Code Here

      "<variables:{ v | <v.decl:(v.format)()>}; separator=\"\\n\">"+newline +
      ">>"+newline+
      "intdecl(decl) ::= \"int <decl.name> = 0;\""+newline +
      "intarray(decl) ::= \"int[] <decl.name> = null;\""+newline
      ;
    STGroup group = new STGroupString(templates);
    ST f = group.getInstanceOf("file");
    f.addAggr("variables.{ decl,format }", new Decl("i", "int"), "intdecl");
    f.addAggr("variables.{decl ,  format}", new Decl("a", "int-array"), "intarray");
    //System.out.println("f='"+f+"'");
    String expecting = "int i = 0;" +newline+
               "int[] a = null;";
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

import static org.junit.Assert.assertEquals;

public class TestSyntaxErrors extends BaseTest {
    @Test public void testEmptyExpr() throws Exception {
        String template = " <> ";
        STGroup group = new STGroup();
    ErrorBuffer errors = new ErrorBuffer();
    group.setListener(errors);
    try {
          group.defineTemplate("test", template);
    }
    catch (STException se) {
      assert false;
    }
    String result = errors.toString();
View Full Code Here

        assertEquals(expected, result);
    }

    @Test public void testEmptyExpr2() throws Exception {
        String template = "hi <> ";
        STGroup group = new STGroup();
    ErrorBuffer errors = new ErrorBuffer();
    group.setListener(errors);
    try {
          group.defineTemplate("test", template);
    }
    catch (STException se) {
      assert false;
    }
    String result = errors.toString();
View Full Code Here

        assertEquals(expected, result);
    }

  @Test public void testUnterminatedExpr() throws Exception {
    String template = "hi <t()$";
    STGroup group = new STGroup();
    ErrorBuffer errors = new ErrorBuffer();
    group.setListener(errors);
    try {
      group.defineTemplate("test", template);
    }
    catch (STException se) {
      assert false;
    }
    String result = errors.toString();
View Full Code Here

    assertEquals(expected, result);
  }

  @Test public void testWeirdChar() throws Exception {
    String template = "   <*>";
    STGroup group = new STGroup();
    ErrorBuffer errors = new ErrorBuffer();
    group.setListener(errors);
    try {
      group.defineTemplate("test", template);
    }
    catch (STException se) {
      assert false;
    }
    String result = errors.toString();
View Full Code Here

TOP

Related Classes of org.stringtemplate.v4.STGroup

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.