📄 htmlparserutilstest.java
字号:
); assertStringEquals( "modified text", " +12.5 ", ParserUtils.trimAllTags("<DIV><DIV> +12.5 </DIV></DIV>", false) ); assertStringEquals( "modified text", "", ParserUtils.trimAllTags("<DIV><DIV> +12.5 </DIV></DIV>", true) ); assertStringEquals( "modified text", " YYY ", ParserUtils.trimAllTags("<XXX> YYY <ZZZ>", false) ); assertStringEquals( "modified text", "YYY", ParserUtils.trimAllTags("YYY", false) ); assertStringEquals( "modified text", "> OK <", ParserUtils.trimAllTags("> OK <", true) ); } catch (Exception e) { String msg = e.getMessage (); if (null == msg) msg = e.getClass ().getName (); fail (msg); } } public void testTagsFilterMethods() { try { NodeFilter filter = new TagNameFilter ("DIV"); String[] tmpSplitTags = ParserUtils.splitTags("Begin <DIV><DIV> +12.5 </DIV></DIV> ALL OK", filter); assertStringEquals( "modified text", "Begin * ALL OK", new String(tmpSplitTags[0] + '*' + tmpSplitTags[1]) ); tmpSplitTags = ParserUtils.splitTags("Begin <DIV><DIV> +12.5 </DIV></DIV> ALL OK", filter, false, false); assertStringEquals( "modified text", "Begin *<DIV> +12.5 </DIV>* ALL OK", new String(tmpSplitTags[0] + '*' + tmpSplitTags[1] + '*' + tmpSplitTags[2]) ); tmpSplitTags = ParserUtils.splitTags("Begin <DIV><DIV> +12.5 </DIV></DIV> ALL OK", filter, true, false); assertStringEquals( "modified text", "Begin * +12.5 * ALL OK", new String(tmpSplitTags[0] + '*' + tmpSplitTags[1] + '*' + tmpSplitTags[2]) ); tmpSplitTags = ParserUtils.splitTags("Begin <DIV><DIV> +12.5 </DIV></DIV> ALL OK", filter, false, true); assertStringEquals( "modified text", "Begin * ALL OK", new String(tmpSplitTags[0] + '*' + tmpSplitTags[1]) ); assertStringEquals( "modified text", " ALL OK", ParserUtils.trimTags("<DIV><DIV> +12.5 </DIV></DIV> ALL OK", filter) ); assertStringEquals( "modified text", "<DIV> +12.5 </DIV> ALL OK", ParserUtils.trimTags("<DIV><DIV> +12.5 </DIV></DIV> ALL OK", filter, false, false) ); assertStringEquals( "modified text", " +12.5 ALL OK", ParserUtils.trimTags("<DIV><DIV> +12.5 </DIV></DIV> ALL OK", filter, true, false) ); assertStringEquals( "modified text", " ALL OK", ParserUtils.trimTags("<DIV><DIV> +12.5 </DIV></DIV> ALL OK", filter, false, true) ); NodeFilter filterTableRow = new TagNameFilter("TR"); NodeFilter filterTableColumn = new TagNameFilter("TD"); OrFilter filterOr = new OrFilter(filterTableRow, filterTableColumn); assertStringEquals( "modified text", " ALL OK", ParserUtils.trimTags("<TR><TD> +12.5 </TD></TR> ALL OK", filterOr) ); assertStringEquals( "modified text", "<TD> +12.5 </TD> ALL OK", ParserUtils.trimTags("<TR><TD> +12.5 </TD></TR> ALL OK", filterOr, false, false) ); assertStringEquals( "modified text", " +12.5 ALL OK", ParserUtils.trimTags("<TR><TD> +12.5 </TD></TR> ALL OK", filterOr, true, false) ); assertStringEquals( "modified text", " ALL OK", ParserUtils.trimTags("<TR><TD> +12.5 </TD></TR> ALL OK", filterOr, false, true) ); } catch (Exception e) { String msg = e.getMessage (); if (null == msg) msg = e.getClass ().getName (); fail (msg); } } public void testTagsClassMethods() { try { NodeFilter filter = new NodeClassFilter (Div.class); String[] tmpSplitTags = ParserUtils.splitTags("Begin <DIV><DIV> +12.5 </DIV></DIV> ALL OK", filter); assertStringEquals( "modified text", "Begin * ALL OK", new String(tmpSplitTags[0] + '*' + tmpSplitTags[1]) ); tmpSplitTags = ParserUtils.splitTags("Begin <DIV><DIV> +12.5 </DIV></DIV> ALL OK", filter, false, false); assertStringEquals( "modified text", "Begin *<DIV> +12.5 </DIV>* ALL OK", new String(tmpSplitTags[0] + '*' + tmpSplitTags[1] + '*' + tmpSplitTags[2]) ); tmpSplitTags = ParserUtils.splitTags("Begin <DIV><DIV> +12.5 </DIV></DIV> ALL OK", filter, true, false); assertStringEquals( "modified text", "Begin * +12.5 * ALL OK", new String(tmpSplitTags[0] + '*' + tmpSplitTags[1] + '*' + tmpSplitTags[2]) ); tmpSplitTags = ParserUtils.splitTags("Begin <DIV><DIV> +12.5 </DIV></DIV> ALL OK", filter, false, true); assertStringEquals( "modified text", "Begin * ALL OK", new String(tmpSplitTags[0] + '*' + tmpSplitTags[1]) ); assertStringEquals( "modified text", " ALL OK", ParserUtils.trimTags("<DIV><DIV> +12.5 </DIV></DIV> ALL OK", filter) ); assertStringEquals( "modified text", "<DIV> +12.5 </DIV> ALL OK", ParserUtils.trimTags("<DIV><DIV> +12.5 </DIV></DIV> ALL OK", filter, false, false) ); assertStringEquals( "modified text", " +12.5 ALL OK", ParserUtils.trimTags("<DIV><DIV> +12.5 </DIV></DIV> ALL OK", filter, true, false) ); assertStringEquals( "modified text", " ALL OK", ParserUtils.trimTags("<DIV><DIV> +12.5 </DIV></DIV> ALL OK", filter, false, true) ); NodeFilter filterTableRow = new NodeClassFilter(TableRow.class); NodeFilter filterTableColumn = new NodeClassFilter(TableColumn.class); OrFilter filterOr = new OrFilter(filterTableRow, filterTableColumn); assertStringEquals( "modified text", " ALL OK", ParserUtils.trimTags("<TR><TD> +12.5 </TD></TR> ALL OK", filterOr) ); assertStringEquals( "modified text", "<TD> +12.5 </TD> ALL OK", ParserUtils.trimTags("<TR><TD> +12.5 </TD></TR> ALL OK", filterOr, false, false) ); assertStringEquals( "modified text", " +12.5 ALL OK", ParserUtils.trimTags("<TR><TD> +12.5 </TD></TR> ALL OK", filterOr, true, false) ); assertStringEquals( "modified text", " ALL OK", ParserUtils.trimTags("<TR><TD> +12.5 </TD></TR> ALL OK", filterOr, false, true) ); } catch (Exception e) { String msg = e.getMessage (); if (null == msg) msg = e.getClass ().getName (); fail (msg); } } public void testTagsComplexMethods() { try { NodeFilter filterLink = new NodeClassFilter (LinkTag.class); NodeFilter filterDiv = new NodeClassFilter (Div.class); OrFilter filterLinkDiv = new OrFilter (filterLink, filterDiv); NodeFilter filterTable = new NodeClassFilter (TableColumn.class); OrFilter filter = new OrFilter (filterLinkDiv, filterTable); String[] tmpSplitTags = ParserUtils.splitTags("OutsideLeft<A>AInside</A><DIV><DIV>DivInside</DIV></DIV><TD>TableColoumnInside</TD>OutsideRight", filter); assertStringEquals( "modified text", "OutsideLeft*OutsideRight", new String(tmpSplitTags[0] + '*' + tmpSplitTags[1]) ); tmpSplitTags = ParserUtils.splitTags("OutsideLeft<A>AInside</A><DIV><DIV>DivInside</DIV></DIV><TD>TableColoumnInside</TD>OutsideRight", filter, false, false); assertStringEquals( "modified text", "OutsideLeft*AInside*<DIV>DivInside</DIV>*TableColoumnInside*OutsideRight", new String(tmpSplitTags[0] + '*' + tmpSplitTags[1] + '*' + tmpSplitTags[2] + '*' + tmpSplitTags[3] + '*' + tmpSplitTags[4]) ); tmpSplitTags = ParserUtils.splitTags("OutsideLeft<A>AInside</A><DIV><DIV>DivInside</DIV></DIV><TD>TableColoumnInside</TD>OutsideRight", filter, true, false); assertStringEquals( "modified text", "OutsideLeft*AInside*DivInside*TableColoumnInside*OutsideRight", new String(tmpSplitTags[0] + '*' + tmpSplitTags[1] + '*' + tmpSplitTags[2] + '*' + tmpSplitTags[3] + '*' + tmpSplitTags[4]) ); tmpSplitTags = ParserUtils.splitTags("OutsideLeft<A>AInside</A><DIV><DIV>DivInside</DIV></DIV><TD>TableColoumnInside</TD>OutsideRight", filter, false, true); assertStringEquals( "modified text", "OutsideLeft*OutsideRight", new String(tmpSplitTags[0] + '*' + tmpSplitTags[1]) ); tmpSplitTags = ParserUtils.splitTags("OutsideLeft<A>AInside<DIV><DIV>DivInside</DIV></DIV></A><TD>TableColoumnInside</TD>OutsideRight", new String[] {"DIV", "TD", "A"}); assertStringEquals( "modified text", "OutsideLeft*OutsideRight", new String(tmpSplitTags[0] + '*' + tmpSplitTags[1]) ); assertStringEquals( "modified text", "OutsideLeftOutsideRight", ParserUtils.trimTags("OutsideLeft<A>AInside<DIV><DIV>DivInside</DIV></DIV></A><TD>TableColoumnInside</TD>OutsideRight", new String[] {"DIV", "TD", "A"}) ); } catch (Exception e) { String msg = e.getMessage (); if (null == msg) msg = e.getClass ().getName (); fail (msg); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -