use of org.develnext.jphp.core.tokenizer.token.stmt.IfStmtToken in project jphp by jphp-compiler.
the class TokenizerTest method testStmt.
@Test
public void testStmt() throws IOException {
Tokenizer tokenizer = new Tokenizer(new Context("class function private public protected static final try catch for if foreach switch while " + "default return declare case do else elseif endif endfor endforeach endwhile endswitch " + "abstract use namespace finally extends implements global"));
assertTrue(tokenizer.nextToken() instanceof ClassStmtToken);
assertTrue(tokenizer.nextToken() instanceof FunctionStmtToken);
assertTrue(tokenizer.nextToken() instanceof PrivateStmtToken);
assertTrue(tokenizer.nextToken() instanceof PublicStmtToken);
assertTrue(tokenizer.nextToken() instanceof ProtectedStmtToken);
assertTrue(tokenizer.nextToken() instanceof StaticExprToken);
assertTrue(tokenizer.nextToken() instanceof FinalStmtToken);
assertTrue(tokenizer.nextToken() instanceof TryStmtToken);
assertTrue(tokenizer.nextToken() instanceof CatchStmtToken);
assertTrue(tokenizer.nextToken() instanceof ForStmtToken);
assertTrue(tokenizer.nextToken() instanceof IfStmtToken);
assertTrue(tokenizer.nextToken() instanceof ForeachStmtToken);
assertTrue(tokenizer.nextToken() instanceof SwitchStmtToken);
assertTrue(tokenizer.nextToken() instanceof WhileStmtToken);
assertTrue(tokenizer.nextToken() instanceof DefaultStmtToken);
assertTrue(tokenizer.nextToken() instanceof ReturnStmtToken);
assertTrue(tokenizer.nextToken() instanceof DeclareStmtToken);
assertTrue(tokenizer.nextToken() instanceof CaseStmtToken);
assertTrue(tokenizer.nextToken() instanceof DoStmtToken);
assertTrue(tokenizer.nextToken() instanceof ElseStmtToken);
assertTrue(tokenizer.nextToken() instanceof ElseIfStmtToken);
assertTrue(tokenizer.nextToken() instanceof EndifStmtToken);
assertTrue(tokenizer.nextToken() instanceof EndforStmtToken);
assertTrue(tokenizer.nextToken() instanceof EndforeachStmtToken);
assertTrue(tokenizer.nextToken() instanceof EndwhileStmtToken);
assertTrue(tokenizer.nextToken() instanceof EndswitchStmtToken);
assertTrue(tokenizer.nextToken() instanceof AbstractStmtToken);
assertTrue(tokenizer.nextToken() instanceof NamespaceUseStmtToken);
assertTrue(tokenizer.nextToken() instanceof NamespaceStmtToken);
assertTrue(tokenizer.nextToken() instanceof FinallyStmtToken);
assertTrue(tokenizer.nextToken() instanceof ExtendsStmtToken);
assertTrue(tokenizer.nextToken() instanceof ImplementsStmtToken);
assertTrue(tokenizer.nextToken() instanceof GlobalStmtToken);
}
use of org.develnext.jphp.core.tokenizer.token.stmt.IfStmtToken in project jphp by jphp-compiler.
the class IfSyntaxTest method testShortly.
@Test
public void testShortly() {
List<Token> tree = getSyntaxTree("if (true) 'string'; 123;");
Assert.assertTrue(tree.size() == 2);
Assert.assertTrue(tree.get(0) instanceof ExprStmtToken);
Assert.assertTrue(((ExprStmtToken) tree.get(0)).getTokens().size() == 1);
Assert.assertTrue(((ExprStmtToken) tree.get(0)).getTokens().get(0) instanceof IfStmtToken);
IfStmtToken token = (IfStmtToken) ((ExprStmtToken) tree.get(0)).getTokens().get(0);
Assert.assertNotNull(token.getBody());
Assert.assertNotNull(token.getCondition());
}
use of org.develnext.jphp.core.tokenizer.token.stmt.IfStmtToken in project jphp by jphp-compiler.
the class IfSyntaxTest method testAlternative.
@Test
public void testAlternative() {
List<Token> tree = getSyntaxTree("if (true): 123; endif");
Assert.assertTrue(tree.size() == 1);
Assert.assertTrue(tree.get(0) instanceof ExprStmtToken);
Assert.assertTrue(((ExprStmtToken) tree.get(0)).getTokens().size() == 1);
Assert.assertTrue(((ExprStmtToken) tree.get(0)).getTokens().get(0) instanceof IfStmtToken);
IfStmtToken token = (IfStmtToken) ((ExprStmtToken) tree.get(0)).getTokens().get(0);
Assert.assertNotNull(token.getBody());
Assert.assertNotNull(token.getCondition());
}
use of org.develnext.jphp.core.tokenizer.token.stmt.IfStmtToken in project jphp by jphp-compiler.
the class IfSyntaxTest method testNested.
@Test
public void testNested() {
List<Token> tree = getSyntaxTree("if (true){ " + "'string'; " + "if(false){ " + "1234; " + "} " + "}");
Assert.assertTrue(tree.size() == 1);
Assert.assertTrue(tree.get(0) instanceof ExprStmtToken);
Assert.assertTrue(((ExprStmtToken) tree.get(0)).getTokens().size() == 1);
Assert.assertTrue(((ExprStmtToken) tree.get(0)).getTokens().get(0) instanceof IfStmtToken);
IfStmtToken token = (IfStmtToken) ((ExprStmtToken) tree.get(0)).getTokens().get(0);
Assert.assertNotNull(token.getBody());
Assert.assertTrue(token.getBody().getInstructions().size() == 2);
Assert.assertTrue(token.getBody().getInstructions().get(1).getTokens().size() == 1);
Assert.assertTrue(token.getBody().getInstructions().get(1).getTokens().get(0) instanceof IfStmtToken);
}
use of org.develnext.jphp.core.tokenizer.token.stmt.IfStmtToken in project jphp by jphp-compiler.
the class IfSyntaxTest method testSimple.
@Test
public void testSimple() {
List<Token> tree = getSyntaxTree("if (true) { } ");
Assert.assertTrue(tree.size() == 1);
Assert.assertTrue(tree.get(0) instanceof ExprStmtToken);
Assert.assertTrue(((ExprStmtToken) tree.get(0)).getTokens().size() == 1);
Assert.assertTrue(((ExprStmtToken) tree.get(0)).getTokens().get(0) instanceof IfStmtToken);
IfStmtToken token = (IfStmtToken) ((ExprStmtToken) tree.get(0)).getTokens().get(0);
Assert.assertNotNull(token.getBody());
Assert.assertNotNull(token.getCondition());
}
Aggregations