@Test public void const_token() throws Exception { UseStatementTree tree = parse("use const \\ns1\\ns2\\name;", PHPLexicalGrammar.USE_STATEMENT); assertThat(tree.is(Kind.USE_STATEMENT)).isTrue(); assertThat(tree.useTypeToken().text()).isEqualTo("const"); }
@Test public void function_token() throws Exception { UseStatementTree tree = parse("use function \\ns1\\ns2\\name;", PHPLexicalGrammar.USE_STATEMENT); assertThat(tree.is(Kind.USE_STATEMENT)).isTrue(); assertThat(tree.useTypeToken().text()).isEqualTo("function"); }
@Test public void with_trailing_comma() throws Exception { UseStatementTree tree = parse("use ns1\\{A, B, C,};", Kind.GROUP_USE_STATEMENT); assertThat(tree.is(Kind.GROUP_USE_STATEMENT)).isTrue(); assertThat(tree.prefix()).isNotNull(); assertThat(tree.clauses()).hasSize(3); } }
@Test public void group_use_statement() throws Exception { UseStatementTree tree = parse("use ns1\\ns2\\{name1 as a1, function name2};", Kind.GROUP_USE_STATEMENT); assertThat(tree.is(Kind.GROUP_USE_STATEMENT)).isTrue(); assertThat(tree.prefix()).isNotNull(); assertThat(expressionToString(tree.prefix())).isEqualTo("ns1\\ns2"); assertThat(tree.nsSeparatorToken()).isNotNull(); assertThat(tree.openCurlyBraceToken()).isNotNull(); assertThat(tree.closeCurlyBraceToken()).isNotNull(); assertThat(tree.clauses()).hasSize(2); }
@Test public void multiple_declarations() throws Exception { UseStatementTree tree = parse("use \\ns1\\ns2\\name, \\ns1\\ns2\\name2;", PHPLexicalGrammar.USE_STATEMENT); assertThat(tree.is(Kind.USE_STATEMENT)).isTrue(); assertThat(tree.useTypeToken()).isNull(); assertThat(tree.clauses()).hasSize(2); }
@Test public void single_declaration() throws Exception { UseStatementTree tree = parse("use \\ns1\\ns2\\name;", PHPLexicalGrammar.USE_STATEMENT); assertThat(tree.is(Kind.USE_STATEMENT)).isTrue(); assertThat(tree.useTypeToken()).isNull(); assertThat(tree.prefix()).isNull(); assertThat(tree.nsSeparatorToken()).isNull(); assertThat(tree.openCurlyBraceToken()).isNull(); assertThat(tree.closeCurlyBraceToken()).isNull(); assertThat(tree.clauses()).hasSize(1); }