package org.watertemplate.interpreter.parser;
import org.junit.Test;
import static org.junit.Assert.assertNotNull;
import static org.watertemplate.interpreter.parser.TokenFixture.*;
public class NonTerminalForTest {
@Test
public void noElse() {
TokenStream tokenStream = new TokenStream(
Wave(), For(), Blank(), PropertyKey("x"), Blank(), In(), Blank(), PropertyKey("foo"), Colon(),
EndOfBlock()
);
assertNotNull(NonTerminal.FOR_COMMAND.buildAbstractSyntaxTree(tokenStream));
}
@Test
public void emptyBodies() {
TokenStream tokenStream = new TokenStream(
Wave(), For(), Blank(), PropertyKey("x"), Blank(), In(), Blank(), PropertyKey("foo"), Colon(),
Else(),
EndOfBlock()
);
assertNotNull(NonTerminal.FOR_COMMAND.buildAbstractSyntaxTree(tokenStream));
}
@Test
public void regular() {
TokenStream tokenStream = new TokenStream(
Wave(), For(), Blank(), PropertyKey("x"), Blank(), In(), Blank(), PropertyKey("foo"), Colon(),
Text("foo text bar text"),
Else(),
Text("bar text foo text"),
EndOfBlock()
);
assertNotNull(NonTerminal.FOR_COMMAND.buildAbstractSyntaxTree(tokenStream));
}
}