Exemple #1
0
        public void TestString()
        {
            string templates =
                "t() ::= <<foo>>" + Environment.NewLine;

            writeFile(tmpdir, "t.stg", templates);
            TemplateGroup group = new TemplateGroupFile(Path.Combine(tmpdir, "t.stg"));

            group.Debug = true;
            DebugTemplate      st       = (DebugTemplate)group.GetInstanceOf("t");
            List <InterpEvent> events   = st.GetEvents();
            string             expected =
                "[EvalExprEvent{self=t(), output=[0..3), expr=foo}," +
                " EvalTemplateEvent{self=t(), output=[0..3)}]";
            string result = events.ToListString();

            Assert.AreEqual(expected, result);
        }
Exemple #2
0
        public void TestTemplateCall()
        {
            string templates =
                "t(x) ::= <<[<u()>]>>\n" +
                "u() ::= << <x> >>\n";

            writeFile(tmpdir, "t.stg", templates);
            TemplateGroup group = new TemplateGroupFile(Path.Combine(tmpdir, "t.stg"));

            group.Debug = true;
            DebugTemplate      st       = (DebugTemplate)group.GetInstanceOf("t");
            List <InterpEvent> events   = st.GetEvents();
            string             expected =
                "[EvalExprEvent{self=t(x), output=[0..1), expr=[}," +
                " EvalExprEvent{self=u(), output=[1..1), expr=<x>}," +
                " EvalExprEvent{self=u(), output=[1..2), expr= }," +
                " EvalTemplateEvent{self=u(), output=[1..2)}," +
                " EvalExprEvent{self=t(x), output=[1..2), expr=<u()>}," +
                " EvalExprEvent{self=t(x), output=[2..3), expr=]}," +
                " EvalTemplateEvent{self=t(x), output=[0..3)}]";
            string result = events.ToListString();

            Assert.AreEqual(expected, result);
        }