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 org.develnext.jphp.core.tokenizer.token.Token; import org.develnext.jphp.core.tokenizer.token.stmt.NamespaceUseStmtToken; import java.util.List; @RunWith(JUnit4.class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class NamespaceUseSyntaxTest extends AbstractSyntaxTestCase { @Test public void testSimple(){ List<Token> tree = getSyntaxTree("use foo\\bar;"); Assert.assertTrue(tree.size() == 1); Assert.assertTrue(tree.get(0) instanceof NamespaceUseStmtToken); NamespaceUseStmtToken token = (NamespaceUseStmtToken)tree.get(0); Assert.assertNull(token.getAs()); Assert.assertNotNull(token.getName()); Assert.assertEquals("foo\\bar", token.getName().toName()); } @Test public void testAs(){ List<Token> tree = getSyntaxTree("use foo\\bar as bar;"); Assert.assertTrue(tree.size() == 1); Assert.assertTrue(tree.get(0) instanceof NamespaceUseStmtToken); NamespaceUseStmtToken token = (NamespaceUseStmtToken)tree.get(0); Assert.assertNotNull(token.getAs()); Assert.assertEquals("bar", token.getAs().getName()); Assert.assertNotNull(token.getName()); Assert.assertEquals("foo\\bar", token.getName().toName()); } }