package org.develnext.jphp.core.syntax; import org.junit.Assert; import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; import org.junit.runners.MethodSorters; import php.runtime.exceptions.support.ErrorException; import org.develnext.jphp.core.tokenizer.token.Token; import org.develnext.jphp.core.tokenizer.token.expr.value.IntegerExprToken; import org.develnext.jphp.core.tokenizer.token.stmt.ConstStmtToken; import java.util.List; @RunWith(JUnit4.class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class ConstTest extends AbstractSyntaxTestCase { @Test public void testSimple(){ List<Token> tree = getSyntaxTree("const my_CONST = 1;"); Assert.assertTrue(tree.size() == 1); Assert.assertTrue(tree.get(0) instanceof ConstStmtToken); ConstStmtToken constant = (ConstStmtToken)tree.get(0); Assert.assertEquals("my_CONST", constant.items.get(0).getFulledName()); Assert.assertNull(constant.getClazz()); Assert.assertNotNull(constant.items.get(0).value); Assert.assertTrue(constant.items.get(0).value.getTokens().size() == 1); Assert.assertTrue(constant.items.get(0).value.getTokens().get(0) instanceof IntegerExprToken); } @Test(expected = ErrorException.class) public void testInvalid(){ getSyntaxTree("const my_CONST = 22}"); } @Test(expected = ErrorException.class) public void testInvalid2(){ getSyntaxTree("const my_CONST = ;"); } }