SelectorMatchVisitorTest.java 文件源码

java
阅读 17 收藏 0 点赞 0 评论 0

项目:JavaCSS 作者:
@Test
public void compares_selectors_correctly() {
    String javaInput = "package com.foo.bar;";

    Java8Lexer lexer = new Java8Lexer(new ANTLRInputStream(javaInput));
    CommonTokenStream tokens = new CommonTokenStream(lexer);
    Java8Parser parser = new Java8Parser(tokens);
    ParseTree ast = parser.compilationUnit();

    Collection<ParseTree> matches = XPath.findAll(ast, "//';'", parser);

    Assert.assertNotNull(matches);
    Assert.assertEquals(1, matches.size());

    ParseTree semiColon = matches.toArray(new ParseTree[1])[0];
    Assert.assertNotNull(semiColon);

    matches = XPath.findAll(ast, "//'package'", parser);

    Assert.assertNotNull(matches);
    Assert.assertEquals(1, matches.size());

    ParseTree packageNode = matches.toArray(new ParseTree[1])[0];
    Assert.assertNotNull(packageNode);

    List<String> selectors = Arrays.asList(".packageDeclaration", "\";\"::before");

    SelectorMatchVisitor visitor = new SelectorMatchVisitor(selectors, ast);

    Assert.assertTrue(visitor.matches(ast.getChild(0), ".packageDeclaration"));
    Assert.assertTrue(visitor.matches(semiColon, "\";\"::before"));
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号