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

📄 beantest.java

📁 html to xml convertor
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// HTMLParser Library $Name: v1_6 $ - A java-based parser for HTML// http://sourceforge.org/projects/htmlparser// Copyright (C) 2004 Derrick Oswald//// Revision Control Information//// $Source: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/utilTests/BeanTest.java,v $// $Author: derrickoswald $// $Date: 2006/05/30 01:07:15 $// $Revision: 1.51 $//// 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.utilTests;import java.beans.PropertyChangeEvent;import java.beans.PropertyChangeListener;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.PrintWriter;import java.net.URL;import java.util.Vector;import org.htmlparser.Node;import org.htmlparser.Parser;import org.htmlparser.beans.LinkBean;import org.htmlparser.beans.StringBean;import org.htmlparser.lexer.Lexer;import org.htmlparser.lexer.Page;import org.htmlparser.tests.*;import org.htmlparser.util.NodeIterator;import org.htmlparser.util.ParserException;public class BeanTest extends ParserTestCase{    static    {        System.setProperty ("org.htmlparser.tests.utilTests.BeanTest", "BeanTest");    }    public BeanTest (String name)    {        super (name);    }    protected byte[] pickle (Object object)        throws            IOException    {        ByteArrayOutputStream bos;        ObjectOutputStream oos;        byte[] ret;        bos = new ByteArrayOutputStream ();        oos = new ObjectOutputStream (bos);        oos.writeObject (object);        oos.close ();        ret = bos.toByteArray ();        return (ret);    }    protected Object unpickle (byte[] data)        throws            IOException,            ClassNotFoundException    {        ByteArrayInputStream bis;        ObjectInputStream ois;        Object ret;        bis = new ByteArrayInputStream (data);        ois = new ObjectInputStream (bis);        ret = ois.readObject ();        ois.close ();        return (ret);    }    /**     * Makes sure that the bean returns text when passed the html.     */    protected void check (StringBean bean, String html, String text)    {        String path;        File file;        PrintWriter out;        String string;        path = System.getProperty ("user.dir");        if (!path.endsWith (File.separator))            path += File.separator;        file = new File (path + "delete_me.html");        try        {            out = new PrintWriter (new FileWriter (file));            out.print (html);            out.close ();            bean.setURL (file.getAbsolutePath ());            string = bean.getStrings ();        }        catch (Exception e)        {            fail (e.toString ());            string = null; // never reached        }        finally        {            file.delete ();        }        assertStringEquals ("stringbean text differs", text, string);    }    public void testZeroArgPageConstructor ()        throws            IOException,            ClassNotFoundException,            ParserException    {        Page page;        byte[] data;        page = new Page ();        data = pickle (page);        page = (Page)unpickle (data);    }    public void testZeroArgLexerConstructor ()        throws            IOException,            ClassNotFoundException,            ParserException    {        Lexer lexer;        byte[] data;        lexer = new Lexer ();        data = pickle (lexer);        lexer = (Lexer)unpickle (data);    }    public void testZeroArgParserConstructor ()        throws            IOException,            ClassNotFoundException,            ParserException    {        Parser parser;        byte[] data;        parser = new Parser ();        data = pickle (parser);        parser = (Parser)unpickle (data);    }    public void testSerializable ()        throws            IOException,            ClassNotFoundException,            ParserException    {        Parser parser;        Vector vector;        NodeIterator enumeration;        byte[] data;        parser = new Parser ("http://htmlparser.sourceforge.net/test/example.html");        enumeration = parser.elements ();        vector = new Vector (50);        while (enumeration.hasMoreNodes ())            vector.addElement (enumeration.nextNode ());        data = pickle (parser);        parser = (Parser)unpickle (data);        enumeration = parser.elements ();        while (enumeration.hasMoreNodes ())            assertEquals (                "Nodes before and after serialization differ",                ((Node)vector.remove (0)).toHtml (),                enumeration.nextNode ().toHtml ());    }    public void testSerializableScanners ()        throws            IOException,            ClassNotFoundException,            ParserException    {        Parser parser;        Vector vector;        NodeIterator enumeration;        byte[] data;        parser = new Parser ("http://htmlparser.sourceforge.net/test/example.html");        enumeration = parser.elements ();        vector = new Vector (50);        while (enumeration.hasMoreNodes ())            vector.addElement (enumeration.nextNode ());        data = pickle (parser);        parser = (Parser)unpickle (data);        enumeration = parser.elements ();        while (enumeration.hasMoreNodes ())            assertEquals (                "Nodes before and after serialization differ",                ((Node)vector.remove (0)).toHtml (),                enumeration.nextNode ().toHtml ());    }    public void testSerializableStringBean ()        throws            IOException,            ClassNotFoundException,            ParserException    {        StringBean sb;        String text;        byte[] data;        sb = new StringBean ();        sb.setURL ("http://htmlparser.sourceforge.net/test/example.html");        text = sb.getStrings ();        data = pickle (sb);        sb = (StringBean)unpickle (data);        assertEquals (            "Strings before and after serialization differ",            text,            sb.getStrings ());    }    public void testSerializableLinkBean ()        throws            IOException,            ClassNotFoundException,            ParserException    {        LinkBean lb;        URL[] links;        byte[] data;        URL[] links2;        lb = new LinkBean ();        lb.setURL ("http://htmlparser.sourceforge.net/test/example.html");        links = lb.getLinks ();        data = pickle (lb);

⌨️ 快捷键说明

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