0) {
+ WriteSimple(mInIndentString);
+ mColPos += mInIndentString.Length();
+ mInIndentString.Truncate();
+ }
+
}
#ifdef DEBUG_akkana_not
diff --git a/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.h b/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.h
index ae573754fb5..9891a46ad33 100644
--- a/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.h
+++ b/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.h
@@ -148,9 +148,9 @@ protected:
void EnsureVerticalSpace(PRInt32 noOfRows);
void FlushLine();
void WriteQuotesAndIndent();
- void WriteSimple(const nsString& aString);
+ void WriteSimple(nsString& aString);
void Write(const nsString& aString);
- void EncodeToBuffer(const nsString& aString);
+ void EncodeToBuffer(nsString& aString);
NS_IMETHOD GetValueOfAttribute(const nsIParserNode& aNode,
char* aMatchKey,
nsString& aValueRet);
@@ -162,6 +162,9 @@ protected:
nsString mCurrentLine;
PRInt32 mIndent;
+ // mInIndentString keeps a header that has to be written in the indent.
+ // That could be, for instance, the bullet in a bulleted list.
+ nsString mInIndentString;
PRInt32 mCiteQuoteLevel;
PRInt32 mColPos;
PRInt32 mFlags;
diff --git a/mozilla/htmlparser/tests/outsinks/TestOutSinks.pl b/mozilla/htmlparser/tests/outsinks/TestOutSinks.pl
new file mode 100755
index 00000000000..6e6073764b0
--- /dev/null
+++ b/mozilla/htmlparser/tests/outsinks/TestOutSinks.pl
@@ -0,0 +1,113 @@
+#! perl
+
+# The contents of this file are subject to the Netscape Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/NPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is Mozilla Communicator client code, released
+# March 31, 1998.
+#
+# The Initial Developer of the Original Code is Netscape
+# Communications Corporation. Portions created by Netscape are
+# Copyright (C) 1998-1999 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Akkana Peck.
+
+#
+# This is a collection of test files to guard against regressions
+# in the Gecko output system.
+#
+
+$errmsg = "";
+
+print "Testing simple html to html ...\n";
+$status = system("TestOutput -i text/html -o text/html -f 0 -c OutTestData/simple.html OutTestData/simple.html");
+if ($status != 0) {
+ print "Simple html to html failed.\n";
+ $errmsg = "$errmsg simple.html";
+}
+
+print "Testing simple copy case ...\n";
+$status = system("TestOutput -i text/html -o text/plain -f 0 -w 0 -c OutTestData/simplecopy.out OutTestData/simple.html");
+if ($status != 0) {
+ print "Simple copy test failed.\n";
+ $errmsg = "$errmsg simplecopy.out";
+}
+
+print "Testing simple html to plaintext formatting ...\n";
+$status = system("TestOutput -i text/html -o text/plain -f 34 -w 70 -c OutTestData/simplefmt.out OutTestData/simple.html");
+print "xxxxxxxx Status = " + $status + "\n";
+if ($status != 0) {
+ print("Simple formatting test failed.\n");
+ $errmsg = "$errmsg simplefmt.out ";
+}
+
+print "Testing non-wrapped plaintext in preformatted mode ...\n";
+$status = system("TestOutput -i text/html -o text/plain -f 16 -c OutTestData/plainnowrap.out OutTestData/plain.html");
+if ($status != 0) {
+ print "Non-wrapped plaintext test failed.\n";
+ $errmsg = "$errmsg plainnowrap.out";
+}
+
+# print "Testing wrapped and formatted plaintext ...\n";
+$status = system("# TestOutput -i text/html -o text/plain -f 32 -c OutTestData/plainwrap.out OutTestData/plain.html");
+# if ($status != 0) {
+# print "Wrapped plaintext test failed.\n";
+# $errmsg = "$errmsg plainwrap.out";
+# }
+
+print "Testing mail quoting ...\n";
+$status = system("TestOutput -i text/html -o text/plain -f 2 -w 50 -c OutTestData/mailquote.out OutTestData/mailquote.html");
+if ($status != 0) {
+ print "Mail quoting test failed.\n";
+ $errmsg = "$errmsg mailquote.out";
+}
+
+print "Testing conversion of XIF entities ...\n";
+$status = system("TestOutput -i text/xif -o text/plain -c OutTestData/entityxif.out OutTestData/entityxif.xif");
+if ($status != 0) {
+ print "XIF entity conversion test failed.\n";
+ $errmsg = "$errmsg entityxif.out";
+}
+
+print "Testing XIF to HTML ...\n";
+$status = system("TestOutput -i text/xif -o text/html -c OutTestData/xifstuff.out OutTestData/xifstuff.xif");
+if ($status != 0) {
+ print "XIF to HTML conversion test failed.\n";
+ $errmsg = "$errmsg xifstuff.out";
+}
+
+print "Testing HTML Table to Text ...\n";
+$status = system("TestOutput -i text/html -o text/plain -f 2 -c OutTestData/htmltable.out OutTestData/htmltable.html");
+if ($status != 0) {
+ print "HTML Table to Plain text failed.\n";
+ $errmsg = "$errmsg htmltable.out";
+}
+
+print "Testing XIF to plain with doctype (bug 28447) ...\n";
+$status = system("TestOutput -i text/xif -o text/plain -f 2 -c OutTestData/xifdtplain.out OutTestData/doctype.xif");
+if ($status != 0) {
+ print "XIF to plain with doctype failed.\n";
+ $errmsg = "$errmsg xifdtplain.out";
+}
+
+print "Testing XIF to html with doctype ...\n";
+$status = system("TestOutput -i text/xif -o text/html -f 0 -c OutTestData/xifdthtml.out OutTestData/doctype.xif");
+if ($status != 0) {
+ print "XIF to html with doctype failed.\n";
+ $errmsg = "$errmsg xifdthtml.out";
+}
+
+if ($errmsg ne "") {
+ print "\nERROR: DOM CONVERSION TEST FAILED: $errmsg\n";
+ exit 1
+} else {
+ print "DOM CONVERSION TESTS SUCCEEDED\n";
+}
diff --git a/mozilla/htmlparser/tests/outsinks/simple.html b/mozilla/htmlparser/tests/outsinks/simple.html
index 0fd4adda803..4576bfeca7b 100644
--- a/mozilla/htmlparser/tests/outsinks/simple.html
+++ b/mozilla/htmlparser/tests/outsinks/simple.html
@@ -52,5 +52,12 @@ Here is a list:
Here is a paragraph after the list.
+Here is a blockquote:
+
+The quick brown fox
+jumped over
+the lazy dog
+
+