StringTemplateCSSHelperTest.java 文件源码

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

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

    String cssInput =
        ".packageDeclaration \";\"::before {\n"
        + "   content: \" \";\n"
        + "}\n";

    StringTemplateCSSHelper helper = new StringTemplateCSSHelper(cssInput);

    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");

    Assert.assertTrue(helper.match(selectors, semiColon, ast));
    Assert.assertFalse(helper.match(selectors, packageNode, ast));
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号