⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 functionaltests.java

📁 html 解析处理代码
💻 JAVA
字号:
// HTMLParser Library $Name: v1_6 $ - A java-based parser for HTML// http://sourceforge.org/projects/htmlparser// Copyright (C) 2004 Somik Raha//// Revision Control Information//// $Source: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/FunctionalTests.java,v $// $Author: derrickoswald $// $Date: 2006/05/27 14:02:28 $// $Revision: 1.57 $//// This library is free software; you can redistribute it and/or// modify it under the terms of the GNU Lesser General Public// License as published by the Free Software Foundation; either// version 2.1 of the License, or (at your option) any later version.//// This library is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU// Lesser General Public License for more details.//// You should have received a copy of the GNU Lesser General Public// License along with this library; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA//package org.htmlparser.tests;import java.io.BufferedReader;import java.io.IOException;import java.util.Locale;import junit.framework.TestSuite;import org.htmlparser.Node;import org.htmlparser.Parser;import org.htmlparser.PrototypicalNodeFactory;import org.htmlparser.lexer.Lexer;import org.htmlparser.tags.ImageTag;import org.htmlparser.util.DefaultParserFeedback;import org.htmlparser.util.NodeIterator;import org.htmlparser.util.ParserException;public class FunctionalTests extends ParserTestCase {    static    {        System.setProperty ("org.htmlparser.tests.FunctionalTests", "FunctionalTests");    }    public FunctionalTests(String arg0) {        super(arg0);    }    /**     * Based on a suspected bug report by Annette Doyle,     * to check if the no of image tags are correctly     * identified by the parser     */    public void testNumImageTagsInYahooWithoutRegisteringScanners() throws ParserException    {        boolean old_remark_handling = Lexer.STRICT_REMARKS;        try        {            // this page is full of bad comments like <!---resources--->            Lexer.STRICT_REMARKS = false;            // First count the image tags as is            int imgTagCount;            int parserImgTagCount = countImageTagsWithHTMLParser();            imgTagCount = findImageTagCount(getParser ());            assertEquals("Image Tag Count",imgTagCount,parserImgTagCount);        }        finally        {            Lexer.STRICT_REMARKS = old_remark_handling;        }    }    public int findImageTagCount(Parser parser) {        int imgTagCount = 0;        parser.reset ();        try        {            imgTagCount = countImageTagsWithoutHTMLParser(parser);        }        catch (IOException e)        {            System.err.println ("IO Exception occurred while counting tags");        }        return imgTagCount;    }    public int countImageTagsWithHTMLParser() throws ParserException {        Parser parser = new Parser("http://education.yahoo.com/",new DefaultParserFeedback());        parser.setNodeFactory (new PrototypicalNodeFactory (new ImageTag ()));        setParser (parser);        int parserImgTagCount = 0;        Node node;        for (NodeIterator e= parser.elements();e.hasMoreNodes();) {            node = e.nextNode();            if (node instanceof ImageTag) {                parserImgTagCount++;            }        }        return parserImgTagCount;    }    public int countImageTagsWithoutHTMLParser (Parser parser) throws IOException    {        BufferedReader lines;        String line;        int imgTagCount;                imgTagCount = 0;        lines = new BufferedReader (parser.getLexer ().getPage ().getSource ());        do {            line = lines.readLine();            if (line!=null) {                // Check the line for image tags                String newline = line.toUpperCase (Locale.ENGLISH);                int fromIndex = -1;                do {                    fromIndex = newline.indexOf("<IMG",fromIndex+1);                    if (fromIndex!=-1) {                        imgTagCount++;                    }                }                while (fromIndex!=-1);            }        }        while (line!=null);        return imgTagCount;    }    public static TestSuite suite() {        return new TestSuite(FunctionalTests.class);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -