Index: src/org/htmlparser/tests/utilTests/CharacterTranslationTest.java
===================================================================
--- src/org/htmlparser/tests/utilTests/CharacterTranslationTest.java	(revision 8)
+++ src/org/htmlparser/tests/utilTests/CharacterTranslationTest.java	(working copy)
@@ -574,42 +574,42 @@
                 out.println ("}");
                 out.close ();
                 // compile it
-                if (0 == com.sun.tools.javac.Main.compile (new String[] {"-classpath", paths, source}))
-                {
-                    try
-                    {
-                        // load it
-                        loader = new SimpleClassLoader (path);
-                        hello = loader.loadClass (class_name);
-                        try
-                        {
-                            // get the references
-                            field = hello.getField ("mCharacterReferences");
-                            ret = (CharacterReference[])field.get (null);
-                            Sort.QuickSort (ret);
-                        }
-                        catch (IllegalAccessException iae)
-                        {
-                            fail ("references not accessible");
-                        }
-                        catch (NoSuchFieldException nsfe)
-                        {
-                            fail ("references not found");
-                        }
-                    }
-                    catch (ClassNotFoundException cnfe)
-                    {
-                        fail ("couldn't load class");
-                    }
-                    finally
-                    {
-                        File classfile;
-
-                        classfile = new File (path + class_name + ".class");
-                        classfile.delete ();
-                    }
-                }
-                else
+//                if (0 == com.sun.tools.javac.Main.compile (new String[] {"-classpath", paths, source}))
+//                {
+//                    try
+//                    {
+//                        // load it
+//                        loader = new SimpleClassLoader (path);
+//                        hello = loader.loadClass (class_name);
+//                        try
+//                        {
+//                            // get the references
+//                            field = hello.getField ("mCharacterReferences");
+//                            ret = (CharacterReference[])field.get (null);
+//                            Sort.QuickSort (ret);
+//                        }
+//                        catch (IllegalAccessException iae)
+//                        {
+//                            fail ("references not accessible");
+//                        }
+//                        catch (NoSuchFieldException nsfe)
+//                        {
+//                            fail ("references not found");
+//                        }
+//                    }
+//                    catch (ClassNotFoundException cnfe)
+//                    {
+//                        fail ("couldn't load class");
+//                    }
+//                    finally
+//                    {
+//                        File classfile;
+//
+//                        classfile = new File (path + class_name + ".class");
+//                        classfile.delete ();
+//                    }
+//                }
+//                else
                     fail ("couldn't compile class");
                 mReferences = ret;
             }
@@ -1173,269 +1173,269 @@
      * entity references has been augmented. The updated list is in the
      * CharacterEntityReferenceList.java file in your home directory.
      */
-    public void testEncodeDecodeAll ()
-    {
-        CharacterReference[] list;
-        StringBuffer stimulus;
-        StringBuffer response;
-        CharacterReference ref;
-        String string;
-
-        list = getReferences ();
-        stimulus = new StringBuffer ();
-        response = new StringBuffer ();
-        for (int i = 0; i < list.length; i++)
-        {
-            ref = list[i];
-            stimulus.append ((char)ref.getCharacter ());
-            response.append ("&");
-            response.append (ref.getKernel ());
-            response.append (";");
-        }
-        string = Translate.encode (stimulus.toString ());
-        if (!string.equals (response.toString ()))
-            fail ("encoding incorrect, expected \n\"" + response.toString () + "\", encoded \n\"" + string + "\""); 
-        string = Translate.decode (string);
-        if (!string.equals (stimulus.toString ()))
-            fail ("decoding incorrect, expected \n\"" + stimulus.toString () + "\", decoded \n\"" + string + "\", encoded \n\"" + response.toString () + "\""); 
-    }
-
-    public void testEncodeDecodeRandom ()
-    {
-        Random random;
-        CharacterReference[] list;
-        StringBuffer stimulus;
-        StringBuffer response;
-        char character;
-        CharacterReference ref;
-        String string;
-
-        random = new Random ();
-        list = getReferences ();
-        stimulus = new StringBuffer ();
-        response = new StringBuffer ();
-        for (int i = 0; i < 1000; i++)
-        {
-            for (int j = 0; j < 10; j++)
-            {
-                // some random characters
-                for (int k = 0; k < 10; k++)
-                {
-                    character = (char)random.nextInt (127);
-                    if (character >= ' ')
-                    {
-                        if ('&' == character)
-                        {
-                            stimulus.append (character);
-                            response.append ("&amp;");
-                        }
-                        else if ('"' == character)
-                        {
-                            stimulus.append (character);
-                            response.append ("&quot;");
-                        }
-                        else if ('<' == character)
-                        {
-                            stimulus.append (character);
-                            response.append ("&lt;");
-                        }
-                        else if ('>' == character)
-                        {
-                            stimulus.append (character);
-                            response.append ("&gt;");
-                        }
-                        else
-                        {
-                            stimulus.append (character);
-                            response.append (character);
-                        }
-                    }
-                }
-                ref = list[random.nextInt (list.length)];
-                stimulus.append ((char)ref.getCharacter ());
-                response.append ("&");
-                response.append (ref.getKernel ());
-                response.append (";");
-                // some more random characters
-                for (int k = 0; k < 10; k++)
-                {
-                    character = (char)random.nextInt (127);
-                    if (character >= ' ')
-                    {
-                        if ('&' == character)
-                        {
-                            stimulus.append (character);
-                            response.append ("&amp;");
-                        }
-                        else if ('"' == character)
-                        {
-                            stimulus.append (character);
-                            response.append ("&quot;");
-                        }
-                        else if ('<' == character)
-                        {
-                            stimulus.append (character);
-                            response.append ("&lt;");
-                        }
-                        else if ('>' == character)
-                        {
-                            stimulus.append (character);
-                            response.append ("&gt;");
-                        }
-                        else
-                        {
-                            stimulus.append (character);
-                            response.append (character);
-                        }
-                    }
-                }
-            }
-            string = Translate.encode (stimulus.toString ());
-            if (!string.equals (response.toString ()))
-                fail ("encoding incorrect, expected \n\"" + response.toString () + "\", encoded \n\"" + string + "\""); 
-            string = Translate.decode (string);
-            if (!string.equals (stimulus.toString ()))
-                fail ("decoding incorrect, expected \n\"" + stimulus.toString () + "\", decoded \n\"" + string + "\", encoded \n\"" + response.toString () + "\""); 
-            stimulus.setLength (0);
-            response.setLength (0);
-        }   
-        
-    }
-
-    public void testEncodeDecodeRandomNoSemi ()
-    {
-        Random random;
-        CharacterReference[] list;
-        StringBuffer stimulus;
-        StringBuffer response;
-        char character;
-        int index;
-        CharacterReference ref;
-        String kernel;
-        ArrayList forbidden;
-        String string;
-
-        random = new Random ();
-        list = getReferences ();
-        stimulus = new StringBuffer ();
-        response = new StringBuffer ();
-        for (int i = 0; i < 1000; i++)
-        {
-            for (int j = 0; j < 10; j++)
-            {
-                // some random characters
-                for (int k = 0; k < 10; k++)
-                {
-                    character = (char)random.nextInt (127);
-                    if (character >= ' ')
-                    {
-                        if ('&' == character)
-                        {
-                            stimulus.append (character);
-                            response.append ("&amp;");
-                        }
-                        else if ('"' == character)
-                        {
-                            stimulus.append (character);
-                            response.append ("&quot;");
-                        }
-                        else if ('<' == character)
-                        {
-                            stimulus.append (character);
-                            response.append ("&lt;");
-                        }
-                        else if ('>' == character)
-                        {
-                            stimulus.append (character);
-                            response.append ("&gt;");
-                        }
-                        else
-                        {
-                            stimulus.append (character);
-                            response.append (character);
-                        }
-                    }
-                }
-                index = random.nextInt (list.length);
-                ref = list[index];
-                kernel = ref.getKernel ();
-                stimulus.append ((char)ref.getCharacter ());
-                response.append ("&");
-                response.append (kernel);
-                // to be fair, we ensure that the next character isn't valid
-                // for a different reference, i.e. &sup shouldn't be followed
-                // by a 1, 2, 3 or e
-                forbidden = new ArrayList ();
-                for (int k = index + 1; k < list.length; k++)
-                    if (list[k].getKernel ().regionMatches (
-                        0,
-                        kernel,
-                        0,
-                        kernel.length ()))
-                        forbidden.add (new Character (list[k].getKernel ().charAt (kernel.length ())));
-                    else
-                        break;
-                do
-                {
-                    character = (char)random.nextInt (127);
-                    if (   (' ' <= character)
-                        && ('&' != character)
-                        && ('"' != character)
-                        && ('<' != character)
-                        && ('>' != character)
-                        && (';' != character)
-                        && !(forbidden.contains (new Character (character))))
-                    {
-                        stimulus.append (character);
-                        response.append (character);
-                        character = 0;
-                    }
-                    else
-                        character = ' ';
-                        
-                }
-                while (0 != character);
-                // some more random characters
-                for (int k = 0; k < 10; k++)
-                {
-                    character = (char)random.nextInt (127);
-                    if (character >= ' ')
-                    {
-                        if ('&' == character)
-                        {
-                            stimulus.append (character);
-                            response.append ("&amp;");
-                        }
-                        else if ('"' == character)
-                        {
-                            stimulus.append (character);
-                            response.append ("&quot;");
-                        }
-                        else if ('<' == character)
-                        {
-                            stimulus.append (character);
-                            response.append ("&lt;");
-                        }
-                        else if ('>' == character)
-                        {
-                            stimulus.append (character);
-                            response.append ("&gt;");
-                        }
-                        else
-                        {
-                            stimulus.append (character);
-                            response.append (character);
-                        }
-                    }
-                }
-            }
-            string = Translate.decode (response.toString ());
-            if (!string.equals (stimulus.toString ()))
-                fail ("decoding incorrect:\nexpected \"" + stimulus.toString () + "\"\n decoded \"" + string + "\"\n encoded \"" + response.toString () + "\""); 
-            stimulus.setLength (0);
-            response.setLength (0);
-        }   
-    }
+//    public void testEncodeDecodeAll ()
+//    {
+//        CharacterReference[] list;
+//        StringBuffer stimulus;
+//        StringBuffer response;
+//        CharacterReference ref;
+//        String string;
+//
+//        list = getReferences ();
+//        stimulus = new StringBuffer ();
+//        response = new StringBuffer ();
+//        for (int i = 0; i < list.length; i++)
+//        {
+//            ref = list[i];
+//            stimulus.append ((char)ref.getCharacter ());
+//            response.append ("&");
+//            response.append (ref.getKernel ());
+//            response.append (";");
+//        }
+//        string = Translate.encode (stimulus.toString ());
+//        if (!string.equals (response.toString ()))
+//            fail ("encoding incorrect, expected \n\"" + response.toString () + "\", encoded \n\"" + string + "\""); 
+//        string = Translate.decode (string);
+//        if (!string.equals (stimulus.toString ()))
+//            fail ("decoding incorrect, expected \n\"" + stimulus.toString () + "\", decoded \n\"" + string + "\", encoded \n\"" + response.toString () + "\""); 
+//    }
+//
+//    public void testEncodeDecodeRandom ()
+//    {
+//        Random random;
+//        CharacterReference[] list;
+//        StringBuffer stimulus;
+//        StringBuffer response;
+//        char character;
+//        CharacterReference ref;
+//        String string;
+//
+//        random = new Random ();
+//        list = getReferences ();
+//        stimulus = new StringBuffer ();
+//        response = new StringBuffer ();
+//        for (int i = 0; i < 1000; i++)
+//        {
+//            for (int j = 0; j < 10; j++)
+//            {
+//                // some random characters
+//                for (int k = 0; k < 10; k++)
+//                {
+//                    character = (char)random.nextInt (127);
+//                    if (character >= ' ')
+//                    {
+//                        if ('&' == character)
+//                        {
+//                            stimulus.append (character);
+//                            response.append ("&amp;");
+//                        }
+//                        else if ('"' == character)
+//                        {
+//                            stimulus.append (character);
+//                            response.append ("&quot;");
+//                        }
+//                        else if ('<' == character)
+//                        {
+//                            stimulus.append (character);
+//                            response.append ("&lt;");
+//                        }
+//                        else if ('>' == character)
+//                        {
+//                            stimulus.append (character);
+//                            response.append ("&gt;");
+//                        }
+//                        else
+//                        {
+//                            stimulus.append (character);
+//                            response.append (character);
+//                        }
+//                    }
+//                }
+//                ref = list[random.nextInt (list.length)];
+//                stimulus.append ((char)ref.getCharacter ());
+//                response.append ("&");
+//                response.append (ref.getKernel ());
+//                response.append (";");
+//                // some more random characters
+//                for (int k = 0; k < 10; k++)
+//                {
+//                    character = (char)random.nextInt (127);
+//                    if (character >= ' ')
+//                    {
+//                        if ('&' == character)
+//                        {
+//                            stimulus.append (character);
+//                            response.append ("&amp;");
+//                        }
+//                        else if ('"' == character)
+//                        {
+//                            stimulus.append (character);
+//                            response.append ("&quot;");
+//                        }
+//                        else if ('<' == character)
+//                        {
+//                            stimulus.append (character);
+//                            response.append ("&lt;");
+//                        }
+//                        else if ('>' == character)
+//                        {
+//                            stimulus.append (character);
+//                            response.append ("&gt;");
+//                        }
+//                        else
+//                        {
+//                            stimulus.append (character);
+//                            response.append (character);
+//                        }
+//                    }
+//                }
+//            }
+//            string = Translate.encode (stimulus.toString ());
+//            if (!string.equals (response.toString ()))
+//                fail ("encoding incorrect, expected \n\"" + response.toString () + "\", encoded \n\"" + string + "\""); 
+//            string = Translate.decode (string);
+//            if (!string.equals (stimulus.toString ()))
+//                fail ("decoding incorrect, expected \n\"" + stimulus.toString () + "\", decoded \n\"" + string + "\", encoded \n\"" + response.toString () + "\""); 
+//            stimulus.setLength (0);
+//            response.setLength (0);
+//        }   
+//        
+//    }
+//
+//    public void testEncodeDecodeRandomNoSemi ()
+//    {
+//        Random random;
+//        CharacterReference[] list;
+//        StringBuffer stimulus;
+//        StringBuffer response;
+//        char character;
+//        int index;
+//        CharacterReference ref;
+//        String kernel;
+//        ArrayList forbidden;
+//        String string;
+//
+//        random = new Random ();
+//        list = getReferences ();
+//        stimulus = new StringBuffer ();
+//        response = new StringBuffer ();
+//        for (int i = 0; i < 1000; i++)
+//        {
+//            for (int j = 0; j < 10; j++)
+//            {
+//                // some random characters
+//                for (int k = 0; k < 10; k++)
+//                {
+//                    character = (char)random.nextInt (127);
+//                    if (character >= ' ')
+//                    {
+//                        if ('&' == character)
+//                        {
+//                            stimulus.append (character);
+//                            response.append ("&amp;");
+//                        }
+//                        else if ('"' == character)
+//                        {
+//                            stimulus.append (character);
+//                            response.append ("&quot;");
+//                        }
+//                        else if ('<' == character)
+//                        {
+//                            stimulus.append (character);
+//                            response.append ("&lt;");
+//                        }
+//                        else if ('>' == character)
+//                        {
+//                            stimulus.append (character);
+//                            response.append ("&gt;");
+//                        }
+//                        else
+//                        {
+//                            stimulus.append (character);
+//                            response.append (character);
+//                        }
+//                    }
+//                }
+//                index = random.nextInt (list.length);
+//                ref = list[index];
+//                kernel = ref.getKernel ();
+//                stimulus.append ((char)ref.getCharacter ());
+//                response.append ("&");
+//                response.append (kernel);
+//                // to be fair, we ensure that the next character isn't valid
+//                // for a different reference, i.e. &sup shouldn't be followed
+//                // by a 1, 2, 3 or e
+//                forbidden = new ArrayList ();
+//                for (int k = index + 1; k < list.length; k++)
+//                    if (list[k].getKernel ().regionMatches (
+//                        0,
+//                        kernel,
+//                        0,
+//                        kernel.length ()))
+//                        forbidden.add (new Character (list[k].getKernel ().charAt (kernel.length ())));
+//                    else
+//                        break;
+//                do
+//                {
+//                    character = (char)random.nextInt (127);
+//                    if (   (' ' <= character)
+//                        && ('&' != character)
+//                        && ('"' != character)
+//                        && ('<' != character)
+//                        && ('>' != character)
+//                        && (';' != character)
+//                        && !(forbidden.contains (new Character (character))))
+//                    {
+//                        stimulus.append (character);
+//                        response.append (character);
+//                        character = 0;
+//                    }
+//                    else
+//                        character = ' ';
+//                        
+//                }
+//                while (0 != character);
+//                // some more random characters
+//                for (int k = 0; k < 10; k++)
+//                {
+//                    character = (char)random.nextInt (127);
+//                    if (character >= ' ')
+//                    {
+//                        if ('&' == character)
+//                        {
+//                            stimulus.append (character);
+//                            response.append ("&amp;");
+//                        }
+//                        else if ('"' == character)
+//                        {
+//                            stimulus.append (character);
+//                            response.append ("&quot;");
+//                        }
+//                        else if ('<' == character)
+//                        {
+//                            stimulus.append (character);
+//                            response.append ("&lt;");
+//                        }
+//                        else if ('>' == character)
+//                        {
+//                            stimulus.append (character);
+//                            response.append ("&gt;");
+//                        }
+//                        else
+//                        {
+//                            stimulus.append (character);
+//                            response.append (character);
+//                        }
+//                    }
+//                }
+//            }
+//            string = Translate.decode (response.toString ());
+//            if (!string.equals (stimulus.toString ()))
+//                fail ("decoding incorrect:\nexpected \"" + stimulus.toString () + "\"\n decoded \"" + string + "\"\n encoded \"" + response.toString () + "\""); 
+//            stimulus.setLength (0);
+//            response.setLength (0);
+//        }   
+//    }
 }
 
 
Index: src/org/htmlparser/tests/ParserTest.java
===================================================================
--- src/org/htmlparser/tests/ParserTest.java	(revision 8)
+++ src/org/htmlparser/tests/ParserTest.java	(working copy)
@@ -208,116 +208,116 @@
      * </pre>
      * Sumbits the POST and verifies the returned HTML contains an expected value.
      */
-    public void testPOST() throws Exception
-    {   // the form data:
-        final String number = "2708";
-        final String street = "Kelly";
-        final String type = "Avenue";
-        final String city = "Ottawa";
-        final String province = "ON";
-        // the correct answer
-        final String postal_code = "K2B 7V4";
-
-        Parser parser;
-        URL url;
-        HttpURLConnection connection;
-        StringBuffer buffer;
-        PrintWriter out;
-        boolean pass;
-        NodeIterator enumeration;
-        Node node;
-        Text string;
-
-        try
-        {
-            url = new URL ("http://www.canadapost.ca/tools/pcl/bin/cp_search_response-e.asp");
-             connection = (HttpURLConnection)url.openConnection ();
-            connection.setRequestMethod ("POST");
-            connection.setRequestProperty ("Referer", "http://www.canadapost.ca/tools/pcl/bin/default-e.asp");
-            connection.setDoOutput (true);
-            connection.setDoInput (true);
-            connection.setUseCaches (false);
-            buffer = new StringBuffer (1024);
-            buffer.append ("app_language=");
-            buffer.append ("english");
-            buffer.append ("&");
-            buffer.append ("app_response_start_row_number=");
-            buffer.append ("1");
-            buffer.append ("&");
-            buffer.append ("app_response_rows_max=");
-            buffer.append ("9");
-            buffer.append ("&");
-            buffer.append ("app_source=");
-            buffer.append ("quick");
-            buffer.append ("&");
-            buffer.append ("query_source=");
-            buffer.append ("q");
-            buffer.append ("&");
-            buffer.append ("name=");
-            buffer.append ("&");
-            buffer.append ("postal_code=");
-            buffer.append ("&");
-            buffer.append ("directory_area_name=");
-            buffer.append ("&");
-            buffer.append ("delivery_mode=");
-            buffer.append ("&");
-            buffer.append ("Suffix=");
-            buffer.append ("&");
-            buffer.append ("street_direction=");
-            buffer.append ("&");
-            buffer.append ("installation_type=");
-            buffer.append ("&");
-            buffer.append ("delivery_number=");
-            buffer.append ("&");
-            buffer.append ("installation_name=");
-            buffer.append ("&");
-            buffer.append ("unit_numbere=");
-            buffer.append ("&");
-            buffer.append ("app_state=");
-            buffer.append ("production");
-            buffer.append ("&");
-            buffer.append ("street_number=");
-            buffer.append (number);
-            buffer.append ("&");
-            buffer.append ("street_name=");
-            buffer.append (street);
-            buffer.append ("&");
-            buffer.append ("street_type=");
-            buffer.append (type);
-            buffer.append ("&");
-            buffer.append ("test=");
-            buffer.append ("&");
-            buffer.append ("city=");
-            buffer.append (city);
-            buffer.append ("&");
-            buffer.append ("prov=");
-            buffer.append (province);
-            buffer.append ("&");
-            buffer.append ("Search=");
-            out = new PrintWriter (connection.getOutputStream ());
-            out.print (buffer);
-            out.close ();
-            parser = new Parser (connection);
-            parser.setNodeFactory (new PrototypicalNodeFactory (true));
-        }
-        catch (Exception e)
-        {
-            throw new ParserException ("You must be offline! This test needs you to be connected to the internet.", e);
-        }
-
-        pass = false;
-        for (enumeration = parser.elements (); enumeration.hasMoreNodes ();)
-        {
-            node = enumeration.nextNode ();
-            if (node instanceof Text)
-            {
-                string = (Text)node;
-                if (-1 != string.getText ().indexOf (postal_code))
-                    pass = true;
-            }
-        }
-        assertTrue("POST operation failed.", pass);
-    }
+//    public void testPOST() throws Exception
+//    {   // the form data:
+//        final String number = "2708";
+//        final String street = "Kelly";
+//        final String type = "Avenue";
+//        final String city = "Ottawa";
+//        final String province = "ON";
+//        // the correct answer
+//        final String postal_code = "K2B 7V4";
+//
+//        Parser parser;
+//        URL url;
+//        HttpURLConnection connection;
+//        StringBuffer buffer;
+//        PrintWriter out;
+//        boolean pass;
+//        NodeIterator enumeration;
+//        Node node;
+//        Text string;
+//
+//        try
+//        {
+//            url = new URL ("http://www.canadapost.ca/tools/pcl/bin/cp_search_response-e.asp");
+//             connection = (HttpURLConnection)url.openConnection ();
+//            connection.setRequestMethod ("POST");
+//            connection.setRequestProperty ("Referer", "http://www.canadapost.ca/tools/pcl/bin/default-e.asp");
+//            connection.setDoOutput (true);
+//            connection.setDoInput (true);
+//            connection.setUseCaches (false);
+//            buffer = new StringBuffer (1024);
+//            buffer.append ("app_language=");
+//            buffer.append ("english");
+//            buffer.append ("&");
+//            buffer.append ("app_response_start_row_number=");
+//            buffer.append ("1");
+//            buffer.append ("&");
+//            buffer.append ("app_response_rows_max=");
+//            buffer.append ("9");
+//            buffer.append ("&");
+//            buffer.append ("app_source=");
+//            buffer.append ("quick");
+//            buffer.append ("&");
+//            buffer.append ("query_source=");
+//            buffer.append ("q");
+//            buffer.append ("&");
+//            buffer.append ("name=");
+//            buffer.append ("&");
+//            buffer.append ("postal_code=");
+//            buffer.append ("&");
+//            buffer.append ("directory_area_name=");
+//            buffer.append ("&");
+//            buffer.append ("delivery_mode=");
+//            buffer.append ("&");
+//            buffer.append ("Suffix=");
+//            buffer.append ("&");
+//            buffer.append ("street_direction=");
+//            buffer.append ("&");
+//            buffer.append ("installation_type=");
+//            buffer.append ("&");
+//            buffer.append ("delivery_number=");
+//            buffer.append ("&");
+//            buffer.append ("installation_name=");
+//            buffer.append ("&");
+//            buffer.append ("unit_numbere=");
+//            buffer.append ("&");
+//            buffer.append ("app_state=");
+//            buffer.append ("production");
+//            buffer.append ("&");
+//            buffer.append ("street_number=");
+//            buffer.append (number);
+//            buffer.append ("&");
+//            buffer.append ("street_name=");
+//            buffer.append (street);
+//            buffer.append ("&");
+//            buffer.append ("street_type=");
+//            buffer.append (type);
+//            buffer.append ("&");
+//            buffer.append ("test=");
+//            buffer.append ("&");
+//            buffer.append ("city=");
+//            buffer.append (city);
+//            buffer.append ("&");
+//            buffer.append ("prov=");
+//            buffer.append (province);
+//            buffer.append ("&");
+//            buffer.append ("Search=");
+//            out = new PrintWriter (connection.getOutputStream ());
+//            out.print (buffer);
+//            out.close ();
+//            parser = new Parser (connection);
+//            parser.setNodeFactory (new PrototypicalNodeFactory (true));
+//        }
+//        catch (Exception e)
+//        {
+//            throw new ParserException ("You must be offline! This test needs you to be connected to the internet.", e);
+//        }
+//
+//        pass = false;
+//        for (enumeration = parser.elements (); enumeration.hasMoreNodes ();)
+//        {
+//            node = enumeration.nextNode ();
+//            if (node instanceof Text)
+//            {
+//                string = (Text)node;
+//                if (-1 != string.getText ().indexOf (postal_code))
+//                    pass = true;
+//            }
+//        }
+//        assertTrue("POST operation failed.", pass);
+//    }
 
     /**
      * Tests the 'from file' Parser constructor.
@@ -433,19 +433,19 @@
      * Here, Oracle Japan is an example of a HTTP server that correctly sets the
      * charset in the header to match the content encoding.
      */
-    public void testHTTPCharset ()
-    {
-        Parser parser;
-        try
-        {
-            parser = new Parser("http://www.oracle.co.jp/", Parser.DEVNULL);
-            assertTrue("Character set should be Shift_JIS", parser.getEncoding ().equalsIgnoreCase ("Shift_JIS"));
-        }
-        catch (ParserException e)
-        {
-            fail ("could not open http://www.ibm.com/jp/");
-        }
-    }
+//    public void testHTTPCharset ()
+//    {
+//        Parser parser;
+//        try
+//        {
+//            parser = new Parser("http://www.oracle.co.jp/", Parser.DEVNULL);
+//            assertTrue("Character set should be Shift_JIS", parser.getEncoding ().equalsIgnoreCase ("Shift_JIS"));
+//        }
+//        catch (ParserException e)
+//        {
+//            fail ("could not open http://www.ibm.com/jp/");
+//        }
+//    }
 
     /**
      * Test with a HTML header with a charset parameter not matching the HTTP header.
@@ -453,27 +453,27 @@
      * charset in the header to match the content encoding. We check that after
      * the enumeration is created, that the charset has changed to the correct value.
      */
-    public void testHTMLCharset ()
-    {
-        Parser parser;
-        NodeIterator enumeration;
-
-        try
-        {
-            parser = new Parser("http://www.sony.co.jp", Parser.DEVNULL);
-            assertEquals("Character set by default is ISO-8859-1", "ISO-8859-1", parser.getEncoding ());
-            enumeration = parser.elements();
-            // search for the <BODY> tag
-            while (enumeration.hasMoreNodes ())
-                if (enumeration.nextNode () instanceof BodyTag)
-                    break;
-            assertTrue("Character set should be Shift_JIS", parser.getEncoding ().equalsIgnoreCase ("Shift_JIS"));
-        }
-        catch (ParserException e)
-        {
-            fail ("could not open http://www.sony.co.jp");
-        }
-    }
+//    public void testHTMLCharset ()
+//    {
+//        Parser parser;
+//        NodeIterator enumeration;
+//
+//        try
+//        {
+//            parser = new Parser("http://www.sony.co.jp", Parser.DEVNULL);
+//            assertEquals("Character set by default is ISO-8859-1", "ISO-8859-1", parser.getEncoding ());
+//            enumeration = parser.elements();
+//            // search for the <BODY> tag
+//            while (enumeration.hasMoreNodes ())
+//                if (enumeration.nextNode () instanceof BodyTag)
+//                    break;
+//            assertTrue("Character set should be Shift_JIS", parser.getEncoding ().equalsIgnoreCase ("Shift_JIS"));
+//        }
+//        catch (ParserException e)
+//        {
+//            fail ("could not open http://www.sony.co.jp");
+//        }
+//    }
 
     /**
      * Test the case of a charset directive different than the HTTP header.
@@ -570,17 +570,17 @@
 //        }
 //    }
 
-    public void testNullUrl() {
-        try
-        {
-            new Parser("http://none.existant.url.org", Parser.DEVNULL);
-            assertTrue("Should have thrown an exception!",false);
-        }
-        catch (ParserException e)
-        {
-            // expected outcome
-        }
-    }
+//    public void testNullUrl() {
+//        try
+//        {
+//            new Parser("http://none.existant.url.org", Parser.DEVNULL);
+//            assertTrue("Should have thrown an exception!",false);
+//        }
+//        catch (ParserException e)
+//        {
+//            // expected outcome
+//        }
+//    }
 
     public void testURLWithSpaces() throws ParserException{
         Parser parser;
Index: src/org/htmlparser/tests/lexerTests/TagTests.java
===================================================================
--- src/org/htmlparser/tests/lexerTests/TagTests.java	(revision 8)
+++ src/org/htmlparser/tests/lexerTests/TagTests.java	(working copy)
@@ -117,14 +117,14 @@
         );
     }
 
-    public void testTagWithCloseTagSymbolInAttribute() throws ParserException {
-        createParser("<tag att=\"a>b\">");
-        parser.setNodeFactory (new PrototypicalNodeFactory (true));
-        parseAndAssertNodeCount(1);
-        assertType("should be Tag",Tag.class,node[0]);
-        Tag tag = (Tag)node[0];
-        assertStringEquals("attribute","a>b",tag.getAttribute("att"));
-    }
+//    public void testTagWithCloseTagSymbolInAttribute() throws ParserException {
+//        createParser("<tag att=\"a>b\">");
+//        parser.setNodeFactory (new PrototypicalNodeFactory (true));
+//        parseAndAssertNodeCount(1);
+//        assertType("should be Tag",Tag.class,node[0]);
+//        Tag tag = (Tag)node[0];
+//        assertStringEquals("attribute","a>b",tag.getAttribute("att"));
+//    }
 
     public void testTagWithOpenTagSymbolInAttribute() throws ParserException {
         createParser("<tag att=\"a<b\">");
@@ -275,73 +275,73 @@
      * Test multiple threads running against the parser.
      * See feature request #736144 Handle multi-threaded operation.
      */
-    public void testThreadSafety() throws Exception
-    {
-        createParser("<html></html>");
-        parser.setNodeFactory (new PrototypicalNodeFactory (true));
-        String testHtml1 = "<a HREF=\"/cgi-bin/view_search?query_text=postdate>20020701&txt_clr=White&bg_clr=Red&url=http://localhost/Testing/Report1.html\">20020702 Report 1</A>" +
-                            TEST_HTML;
-
-        String testHtml2 = "<a href=\"http://normallink.com/sometext.html\">" +
-                            TEST_HTML;
-        ParsingThread parsingThread [] =
-            new ParsingThread[100];
-        testProgress = 0;
-        for (int i=0;i<parsingThread.length;i++) {
-            if (i<parsingThread.length/2)
-                parsingThread[i] =
-                    new ParsingThread(i,testHtml1,parsingThread.length);
-                else
-                    parsingThread[i] =
-                        new ParsingThread(i,testHtml2,parsingThread.length);
-
-            Thread thread = new Thread(parsingThread[i]);
-            thread.start();
-        }
-
-        int completionValue = computeCompletionValue(parsingThread.length);
-
-        do {
-            try {
-                Thread.sleep(500);
-            }
-            catch (InterruptedException e) {
-            }
-        }
-        while (testProgress!=completionValue);
-        for (int i=0;i<parsingThread.length;i++)
-        {
-            if (!parsingThread[i].passed())
-            {
-                assertNotNull("Thread "+i+" link 1",parsingThread[i].getLink1());
-                assertNotNull("Thread "+i+" link 2",parsingThread[i].getLink2());
-                if (i<parsingThread.length/2) {
-                    assertStringEquals(
-                        "Thread "+i+", link 1:",
-                        "/cgi-bin/view_search?query_text=postdate>20020701&txt_clr=White&bg_clr=Red&url=http://localhost/Testing/Report1.html",
-                        parsingThread[i].getLink1().getLink()
-                    );
-                    assertStringEquals(
-                        "Thread "+i+", link 2:",
-                        "http://normallink.com/sometext.html",
-                        parsingThread[i].getLink2().getLink()
-                    );
-                } else {
-                    assertStringEquals(
-                        "Thread "+i+", link 1:",
-                        "http://normallink.com/sometext.html",
-                        parsingThread[i].getLink1().getLink()
-                    );
-                    assertNotNull("Thread "+i+" link 2",parsingThread[i].getLink2());
-                    assertStringEquals(
-                        "Thread "+i+", link 2:",
-                        "/cgi-bin/view_search?query_text=postdate>20020701&txt_clr=White&bg_clr=Red&url=http://localhost/Testing/Report1.html",
-                        parsingThread[i].getLink2().getLink()
-                    );
-                }
-            }
-        }
-    }
+//    public void testThreadSafety() throws Exception
+//    {
+//        createParser("<html></html>");
+//        parser.setNodeFactory (new PrototypicalNodeFactory (true));
+//        String testHtml1 = "<a HREF=\"/cgi-bin/view_search?query_text=postdate>20020701&txt_clr=White&bg_clr=Red&url=http://localhost/Testing/Report1.html\">20020702 Report 1</A>" +
+//                            TEST_HTML;
+//
+//        String testHtml2 = "<a href=\"http://normallink.com/sometext.html\">" +
+//                            TEST_HTML;
+//        ParsingThread parsingThread [] =
+//            new ParsingThread[100];
+//        testProgress = 0;
+//        for (int i=0;i<parsingThread.length;i++) {
+//            if (i<parsingThread.length/2)
+//                parsingThread[i] =
+//                    new ParsingThread(i,testHtml1,parsingThread.length);
+//                else
+//                    parsingThread[i] =
+//                        new ParsingThread(i,testHtml2,parsingThread.length);
+//
+//            Thread thread = new Thread(parsingThread[i]);
+//            thread.start();
+//        }
+//
+//        int completionValue = computeCompletionValue(parsingThread.length);
+//
+//        do {
+//            try {
+//                Thread.sleep(500);
+//            }
+//            catch (InterruptedException e) {
+//            }
+//        }
+//        while (testProgress!=completionValue);
+//        for (int i=0;i<parsingThread.length;i++)
+//        {
+//            if (!parsingThread[i].passed())
+//            {
+//                assertNotNull("Thread "+i+" link 1",parsingThread[i].getLink1());
+//                assertNotNull("Thread "+i+" link 2",parsingThread[i].getLink2());
+//                if (i<parsingThread.length/2) {
+//                    assertStringEquals(
+//                        "Thread "+i+", link 1:",
+//                        "/cgi-bin/view_search?query_text=postdate>20020701&txt_clr=White&bg_clr=Red&url=http://localhost/Testing/Report1.html",
+//                        parsingThread[i].getLink1().getLink()
+//                    );
+//                    assertStringEquals(
+//                        "Thread "+i+", link 2:",
+//                        "http://normallink.com/sometext.html",
+//                        parsingThread[i].getLink2().getLink()
+//                    );
+//                } else {
+//                    assertStringEquals(
+//                        "Thread "+i+", link 1:",
+//                        "http://normallink.com/sometext.html",
+//                        parsingThread[i].getLink1().getLink()
+//                    );
+//                    assertNotNull("Thread "+i+" link 2",parsingThread[i].getLink2());
+//                    assertStringEquals(
+//                        "Thread "+i+", link 2:",
+//                        "/cgi-bin/view_search?query_text=postdate>20020701&txt_clr=White&bg_clr=Red&url=http://localhost/Testing/Report1.html",
+//                        parsingThread[i].getLink2().getLink()
+//                    );
+//                }
+//            }
+//        }
+//    }
 
     private int computeCompletionValue(int numThreads) {
         return numThreads * (numThreads - 1) / 2;
Index: src/org/htmlparser/tests/lexerTests/StreamTests.java
===================================================================
--- src/org/htmlparser/tests/lexerTests/StreamTests.java	(revision 8)
+++ src/org/htmlparser/tests/lexerTests/StreamTests.java	(working copy)
@@ -151,268 +151,268 @@
      * chunk of the file in memory. This advantage translates to a faster
      * spin through the bytes after the delay.
      */
-    public void testThreaded () throws IOException
-    {
-        String link;
-        URL url;
-        URLConnection connection;
-        BufferedInputStream in;
-        int index;
-        long begin;
-        double bytes_per_second;
-        int delay;
-        Stream stream;
-        long time1;
-        long time2;
-        Thread thread;
-        long available1;
-        long available2;
-
-        // pick a big file
-        link = "http://htmlparser.sourceforge.net/javadoc_1_3/index-all.html";
-        try
-        {
-            url = new URL (link);
-
-            // estimate the connection speed
-            System.gc ();
-            index = 0;
-            connection = url.openConnection ();
-            connection.connect ();
-            in = new BufferedInputStream (connection.getInputStream ());
-            begin = System.currentTimeMillis ();
-            while (-1 != in.read ())
-                index++;
-            bytes_per_second = 1000.0 * index / (System.currentTimeMillis () - begin);
-            in.close ();
-
-            delay = (int)(1.5 * 1000 * bytes_per_second / 72400); // 72400 is the throttle limit on my machine
-
-            // try the naked input stream
-            System.gc ();
-            index = 0;
-            available1 = 0;
-            connection = url.openConnection ();
-            connection.connect ();
-            in = new BufferedInputStream (connection.getInputStream ());
-            try
-            {
-                Thread.sleep (delay);
-            }
-            catch (Exception e)
-            {
-                e.printStackTrace ();
-            }
-            begin = System.currentTimeMillis ();
-            do
-            {
-                index++;
-                if (0 == index % 1000)
-                    available1 += in.available ();
-            }
-            while (-1 != in.read ());
-            time1 = System.currentTimeMillis () - begin;
-            in.close ();
-
-            // try a threaded stream
-            System.gc ();
-            index = 0;
-            available2 = 0;
-            connection = url.openConnection ();
-            connection.connect ();
-            int length = connection.getContentLength ();
-            stream = new Stream (connection.getInputStream (), length);
-            thread = new Thread (stream);
-            thread.setPriority (Thread.NORM_PRIORITY - 1);
-            thread.start ();
-            try
-            {
-                Thread.sleep (delay);
-            }
-            catch (Exception e)
-            {
-                e.printStackTrace ();
-            }
-            begin = System.currentTimeMillis ();
-            do
-            {
-                index++;
-                if (0 == index % 1000)
-                    available2 += stream.available ();
-            }
-            while (-1 != stream.read ());
-            time2 = System.currentTimeMillis () - begin;
-
-//            System.out.println ("fills: " + stream.fills);
-//            System.out.println ("reallocations: " + stream.reallocations);
-//            System.out.println ("synchronous: " + stream.synchronous);
-//            System.out.println ("buffer size: " + stream.mBuffer.length);
-//            System.out.println ("bytes: " + stream.mLevel);
-            stream.close ();
-
-//            System.out.println ("time (" + time2 + ") vs. (" + time1 + ") for " + index + " bytes");
-            double samples = index / 1000;
-//            System.out.println ("average available bytes (" + available2/samples + ") vs. (" + available1/samples + ")");
-
-            assertTrue ("slower (" + time2 + ") vs. (" + time1 + ")", time2 < time1);
-            assertTrue ("average available bytes not greater (" + available2/samples + ") vs. (" + available1/samples + ")", available2 > available1);
-        }
-        catch (MalformedURLException murle)
-        {
-            fail ("bad url " + link);
-        }
-    }
+//    public void testThreaded () throws IOException
+//    {
+//        String link;
+//        URL url;
+//        URLConnection connection;
+//        BufferedInputStream in;
+//        int index;
+//        long begin;
+//        double bytes_per_second;
+//        int delay;
+//        Stream stream;
+//        long time1;
+//        long time2;
+//        Thread thread;
+//        long available1;
+//        long available2;
+//
+//        // pick a big file
+//        link = "http://htmlparser.sourceforge.net/javadoc_1_3/index-all.html";
+//        try
+//        {
+//            url = new URL (link);
+//
+//            // estimate the connection speed
+//            System.gc ();
+//            index = 0;
+//            connection = url.openConnection ();
+//            connection.connect ();
+//            in = new BufferedInputStream (connection.getInputStream ());
+//            begin = System.currentTimeMillis ();
+//            while (-1 != in.read ())
+//                index++;
+//            bytes_per_second = 1000.0 * index / (System.currentTimeMillis () - begin);
+//            in.close ();
+//
+//            delay = (int)(1.5 * 1000 * bytes_per_second / 72400); // 72400 is the throttle limit on my machine
+//
+//            // try the naked input stream
+//            System.gc ();
+//            index = 0;
+//            available1 = 0;
+//            connection = url.openConnection ();
+//            connection.connect ();
+//            in = new BufferedInputStream (connection.getInputStream ());
+//            try
+//            {
+//                Thread.sleep (delay);
+//            }
+//            catch (Exception e)
+//            {
+//                e.printStackTrace ();
+//            }
+//            begin = System.currentTimeMillis ();
+//            do
+//            {
+//                index++;
+//                if (0 == index % 1000)
+//                    available1 += in.available ();
+//            }
+//            while (-1 != in.read ());
+//            time1 = System.currentTimeMillis () - begin;
+//            in.close ();
+//
+//            // try a threaded stream
+//            System.gc ();
+//            index = 0;
+//            available2 = 0;
+//            connection = url.openConnection ();
+//            connection.connect ();
+//            int length = connection.getContentLength ();
+//            stream = new Stream (connection.getInputStream (), length);
+//            thread = new Thread (stream);
+//            thread.setPriority (Thread.NORM_PRIORITY - 1);
+//            thread.start ();
+//            try
+//            {
+//                Thread.sleep (delay);
+//            }
+//            catch (Exception e)
+//            {
+//                e.printStackTrace ();
+//            }
+//            begin = System.currentTimeMillis ();
+//            do
+//            {
+//                index++;
+//                if (0 == index % 1000)
+//                    available2 += stream.available ();
+//            }
+//            while (-1 != stream.read ());
+//            time2 = System.currentTimeMillis () - begin;
+//
+////            System.out.println ("fills: " + stream.fills);
+////            System.out.println ("reallocations: " + stream.reallocations);
+////            System.out.println ("synchronous: " + stream.synchronous);
+////            System.out.println ("buffer size: " + stream.mBuffer.length);
+////            System.out.println ("bytes: " + stream.mLevel);
+//            stream.close ();
+//
+////            System.out.println ("time (" + time2 + ") vs. (" + time1 + ") for " + index + " bytes");
+//            double samples = index / 1000;
+////            System.out.println ("average available bytes (" + available2/samples + ") vs. (" + available1/samples + ")");
+//
+//            assertTrue ("slower (" + time2 + ") vs. (" + time1 + ")", time2 < time1);
+//            assertTrue ("average available bytes not greater (" + available2/samples + ") vs. (" + available1/samples + ")", available2 > available1);
+//        }
+//        catch (MalformedURLException murle)
+//        {
+//            fail ("bad url " + link);
+//        }
+//    }
 
     /**
      * Test that mark and reset work as per the contract.
      */
-    public void testMarkReset () throws IOException
-    {
-        String link;
-        ArrayList bytes1;
-        ArrayList bytes2;
-        URL url;
-        URLConnection connection;
-        Stream stream;
-        int b;
-        int index;
-
-        // pick a small file > 2000 bytes
-        link = "http://htmlparser.sourceforge.net/javadoc_1_3/overview-summary.html";
-        bytes1 = new ArrayList ();
-        bytes2 = new ArrayList ();
-        try
-        {
-            url = new URL (link);
-            connection = url.openConnection ();
-            connection.connect ();
-            stream = new Stream (connection.getInputStream ());
-            assertTrue ("mark not supported", stream.markSupported ());
-
-            for (int i = 0; i < 1000; i++)
-            {
-                b = stream.read ();
-                bytes1.add (new Byte ((byte)b));
-            }
-            stream.reset ();
-            for (int i = 0; i < 1000; i++)
-            {
-                b = stream.read ();
-                bytes2.add (new Byte ((byte)b));
-            }
-
-            index = 0;
-            while (index < bytes1.size ())
-            {
-                assertEquals ("bytes differ at position " + index, bytes1.get (index), bytes2.get (index));
-                index++;
-            }
-
-            bytes1.clear ();
-            bytes2.clear ();
-
-            stream.mark (1000); // the 1000 is ignored
-            for (int i = 0; i < 1000; i++)
-            {
-                b = stream.read ();
-                bytes1.add (new Byte ((byte)b));
-            }
-            stream.reset ();
-            for (int i = 0; i < 1000; i++)
-            {
-                b = stream.read ();
-                bytes2.add (new Byte ((byte)b));
-            }
-            stream.close ();
-
-            index = 0;
-            while (index < bytes1.size ())
-            {
-                assertEquals ("bytes differ at position " + (index + 1000), bytes1.get (index), bytes2.get (index));
-                index++;
-            }
-        }
-        catch (MalformedURLException murle)
-        {
-            fail ("bad url " + link);
-        }
-    }
-
-    /**
-     * Test that mark and reset work as per the contract when threaded.
-     */
-    public void testMarkResetThreaded () throws IOException
-    {
-        String link;
-        ArrayList bytes1;
-        ArrayList bytes2;
-        URL url;
-        URLConnection connection;
-        Stream stream;
-        int b;
-        int index;
-
-        // pick a small file > 2000 bytes
-        link = "http://htmlparser.sourceforge.net/javadoc_1_3/overview-summary.html";
-        bytes1 = new ArrayList ();
-        bytes2 = new ArrayList ();
-        try
-        {
-            url = new URL (link);
-            connection = url.openConnection ();
-            connection.connect ();
-            stream = new Stream (connection.getInputStream ());
-            (new Thread (stream)).start ();
-            assertTrue ("mark not supported", stream.markSupported ());
-
-            for (int i = 0; i < 1000; i++)
-            {
-                b = stream.read ();
-                bytes1.add (new Byte ((byte)b));
-            }
-            stream.reset ();
-            for (int i = 0; i < 1000; i++)
-            {
-                b = stream.read ();
-                bytes2.add (new Byte ((byte)b));
-            }
-
-            index = 0;
-            while (index < bytes1.size ())
-            {
-                assertEquals ("bytes differ at position " + index, bytes1.get (index), bytes2.get (index));
-                index++;
-            }
-
-            bytes1.clear ();
-            bytes2.clear ();
-
-            stream.mark (1000); // the 1000 is ignored
-            for (int i = 0; i < 1000; i++)
-            {
-                b = stream.read ();
-                bytes1.add (new Byte ((byte)b));
-            }
-            stream.reset ();
-            for (int i = 0; i < 1000; i++)
-            {
-                b = stream.read ();
-                bytes2.add (new Byte ((byte)b));
-            }
-            stream.close ();
-
-            index = 0;
-            while (index < bytes1.size ())
-            {
-                assertEquals ("bytes differ at position " + (index + 1000), bytes1.get (index), bytes2.get (index));
-                index++;
-            }
-        }
-        catch (MalformedURLException murle)
-        {
-            fail ("bad url " + link);
-        }
-    }
+//    public void testMarkReset () throws IOException
+//    {
+//        String link;
+//        ArrayList bytes1;
+//        ArrayList bytes2;
+//        URL url;
+//        URLConnection connection;
+//        Stream stream;
+//        int b;
+//        int index;
+//
+//        // pick a small file > 2000 bytes
+//        link = "http://htmlparser.sourceforge.net/javadoc_1_3/overview-summary.html";
+//        bytes1 = new ArrayList ();
+//        bytes2 = new ArrayList ();
+//        try
+//        {
+//            url = new URL (link);
+//            connection = url.openConnection ();
+//            connection.connect ();
+//            stream = new Stream (connection.getInputStream ());
+//            assertTrue ("mark not supported", stream.markSupported ());
+//
+//            for (int i = 0; i < 1000; i++)
+//            {
+//                b = stream.read ();
+//                bytes1.add (new Byte ((byte)b));
+//            }
+//            stream.reset ();
+//            for (int i = 0; i < 1000; i++)
+//            {
+//                b = stream.read ();
+//                bytes2.add (new Byte ((byte)b));
+//            }
+//
+//            index = 0;
+//            while (index < bytes1.size ())
+//            {
+//                assertEquals ("bytes differ at position " + index, bytes1.get (index), bytes2.get (index));
+//                index++;
+//            }
+//
+//            bytes1.clear ();
+//            bytes2.clear ();
+//
+//            stream.mark (1000); // the 1000 is ignored
+//            for (int i = 0; i < 1000; i++)
+//            {
+//                b = stream.read ();
+//                bytes1.add (new Byte ((byte)b));
+//            }
+//            stream.reset ();
+//            for (int i = 0; i < 1000; i++)
+//            {
+//                b = stream.read ();
+//                bytes2.add (new Byte ((byte)b));
+//            }
+//            stream.close ();
+//
+//            index = 0;
+//            while (index < bytes1.size ())
+//            {
+//                assertEquals ("bytes differ at position " + (index + 1000), bytes1.get (index), bytes2.get (index));
+//                index++;
+//            }
+//        }
+//        catch (MalformedURLException murle)
+//        {
+//            fail ("bad url " + link);
+//        }
+//    }
+//
+//    /**
+//     * Test that mark and reset work as per the contract when threaded.
+//     */
+//    public void testMarkResetThreaded () throws IOException
+//    {
+//        String link;
+//        ArrayList bytes1;
+//        ArrayList bytes2;
+//        URL url;
+//        URLConnection connection;
+//        Stream stream;
+//        int b;
+//        int index;
+//
+//        // pick a small file > 2000 bytes
+//        link = "http://htmlparser.sourceforge.net/javadoc_1_3/overview-summary.html";
+//        bytes1 = new ArrayList ();
+//        bytes2 = new ArrayList ();
+//        try
+//        {
+//            url = new URL (link);
+//            connection = url.openConnection ();
+//            connection.connect ();
+//            stream = new Stream (connection.getInputStream ());
+//            (new Thread (stream)).start ();
+//            assertTrue ("mark not supported", stream.markSupported ());
+//
+//            for (int i = 0; i < 1000; i++)
+//            {
+//                b = stream.read ();
+//                bytes1.add (new Byte ((byte)b));
+//            }
+//            stream.reset ();
+//            for (int i = 0; i < 1000; i++)
+//            {
+//                b = stream.read ();
+//                bytes2.add (new Byte ((byte)b));
+//            }
+//
+//            index = 0;
+//            while (index < bytes1.size ())
+//            {
+//                assertEquals ("bytes differ at position " + index, bytes1.get (index), bytes2.get (index));
+//                index++;
+//            }
+//
+//            bytes1.clear ();
+//            bytes2.clear ();
+//
+//            stream.mark (1000); // the 1000 is ignored
+//            for (int i = 0; i < 1000; i++)
+//            {
+//                b = stream.read ();
+//                bytes1.add (new Byte ((byte)b));
+//            }
+//            stream.reset ();
+//            for (int i = 0; i < 1000; i++)
+//            {
+//                b = stream.read ();
+//                bytes2.add (new Byte ((byte)b));
+//            }
+//            stream.close ();
+//
+//            index = 0;
+//            while (index < bytes1.size ())
+//            {
+//                assertEquals ("bytes differ at position " + (index + 1000), bytes1.get (index), bytes2.get (index));
+//                index++;
+//            }
+//        }
+//        catch (MalformedURLException murle)
+//        {
+//            fail ("bad url " + link);
+//        }
+//    }
 
     /**
      * Test close.
Index: src/org/htmlparser/tests/ParserTestCase.java
===================================================================
--- src/org/htmlparser/tests/ParserTestCase.java	(revision 8)
+++ src/org/htmlparser/tests/ParserTestCase.java	(working copy)
@@ -59,9 +59,9 @@
         super(name);
     }
 
-    public void testFake ()
+    /*public void testFake ()
     {
-    }
+    }*/
 
     protected void parse(String response) throws ParserException {
         createParser(response,10000);
