diff --git a/mozilla/htmlparser/tests/outsinks/Convert.cpp b/mozilla/htmlparser/tests/outsinks/Convert.cpp
index 81929d9671a..e8424fd9689 100644
--- a/mozilla/htmlparser/tests/outsinks/Convert.cpp
+++ b/mozilla/htmlparser/tests/outsinks/Convert.cpp
@@ -66,17 +66,33 @@ Compare(nsString& str, nsString& aFileName)
// Inefficiently read from the file:
nsString inString;
char c;
+ int index = 0;
+ int different = 0;
while ((c = getc(file)) != EOF)
+ {
inString += c;
+ // CVS isn't doing newline comparisons on these files for some reason.
+ // So compensate for possible newline problems in the CVS file:
+ if (c == '\n' && str[index] == '\r')
+ ++index;
+ if (c != str[index++])
+ {
+ //printf("Comparison failed at char %d: generated was %d, file had %d\n",
+ // index, (int)str[index-1], (int)c);
+ different = index;
+ break;
+ }
+ }
if (file != stdin)
fclose(file);
- if (str == inString)
+ if (!different)
return 0;
else
{
- char* cstr = str.ToNewCString();
- printf("Comparison failed:\n-----\n%s\n-----\n", cstr);
+ char* cstr = str.ToNewUTF8String();
+ printf("Comparison failed at char %d:\n-----\n%s\n-----\n",
+ different, cstr);
Recycle(cstr);
return 1;
}
diff --git a/mozilla/htmlparser/tests/outsinks/TestOutSinks.bat b/mozilla/htmlparser/tests/outsinks/TestOutSinks.bat
index d22a2789b30..c7bf91c5742 100644
--- a/mozilla/htmlparser/tests/outsinks/TestOutSinks.bat
+++ b/mozilla/htmlparser/tests/outsinks/TestOutSinks.bat
@@ -37,18 +37,18 @@ if errorlevel 1 echo Simple copy test failed. && set has_err=1 && set errmsg=%er
echo "Testing simple html to plaintext formatting ..."
TestOutput -i text/html -o text/plain -f 34 -w 70 -c OutTestData/simplefmt.out OutTestData/simple.html
-if errorlevel 1 echo Simple formatting test failed. && set has_err=1 && set errmsg=%errmsg% plainnowrap.out
+if errorlevel 1 echo Simple formatting test failed. && set has_err=1 && set errmsg=%errmsg% simplefmt.out
echo Testing non-wrapped plaintext ...
-TestOutput -i text/html -o text/plain -f 0 -w 0 -c OutTestData/plainnowrap.out OutTestData/plain.html
+TestOutput -i text/html -o text/plain -f 16 -w 0 -c OutTestData/plainnowrap.out OutTestData/plain.html
if errorlevel 1 echo Non-wrapped plaintext test failed. && set has_err=1 && set errmsg=%errmsg% plainnowrap.out
-REM echo Testing wrapped bug unformatted plaintext ...
+REM echo Testing wrapped but unformatted plaintext ...
REM TestOutput -i text/html -o text/plain -f 32 -w 50 -c OutTestData/plainwrap.out OutTestData/plain.html
REM if errorlevel 1 echo Wrapped plaintext test failed. && set has_err=1 && set errmsg=%errmsg% plainwrap.out
echo Testing mail quoting ...
-TestOutput -i text/html -o text/plain -c OutTestData/mailquote.out OutTestData/mailquote.html
+TestOutput -i text/html -o text/plain -f 2 -w 50 -c OutTestData/mailquote.out OutTestData/mailquote.html
if errorlevel 1 echo Mail quoting test failed. && set has_err=1 && set errmsg=%errmsg% mailquote.out
echo Testing conversion of Xif entities ...
@@ -60,7 +60,7 @@ TestOutput -i text/xif -o text/html -c OutTestData/xifstuff.out OutTestData/xifs
if errorlevel 1 echo Xif to HTML conversion test failed. && set has_err=1 && set errmsg=%errmsg% xifstuff.out
echo Testing HTML Table to Text ...
-TestOutput -i text/html -o text/plain -c OutTestData/htmltable.out OutTestData/htmltable.html
+TestOutput -i text/html -o text/plain -f 2 -c OutTestData/htmltable.out OutTestData/htmltable.html
if errorlevel 1 echo HTML Table to Plain text failed (%errorlevel%). && set has_err=1 && set errmsg=%errmsg% htmltable.out
echo "Testing XIF to plain with doctype (bug 28447) ..."
@@ -71,7 +71,7 @@ REM echo "Testing XIF to html with doctype ..."
REM TestOutput -i text/xif -o text/html -f 0 -c OutTestData/xifdthtml.out OutTestData/doctype.xif
REM if errorlevel 1 echo XIF to html with doctype failed (%errorlevel%). && set has_err=1 && set errmsg=%errmsg% xifdthtml.out
-if %has_err% == 0 goto success
+if %has_err%.==. goto success
echo.
echo TESTS FAILED: %errmsg%
rem exit 1
diff --git a/mozilla/parser/htmlparser/tests/outsinks/Convert.cpp b/mozilla/parser/htmlparser/tests/outsinks/Convert.cpp
index 81929d9671a..e8424fd9689 100644
--- a/mozilla/parser/htmlparser/tests/outsinks/Convert.cpp
+++ b/mozilla/parser/htmlparser/tests/outsinks/Convert.cpp
@@ -66,17 +66,33 @@ Compare(nsString& str, nsString& aFileName)
// Inefficiently read from the file:
nsString inString;
char c;
+ int index = 0;
+ int different = 0;
while ((c = getc(file)) != EOF)
+ {
inString += c;
+ // CVS isn't doing newline comparisons on these files for some reason.
+ // So compensate for possible newline problems in the CVS file:
+ if (c == '\n' && str[index] == '\r')
+ ++index;
+ if (c != str[index++])
+ {
+ //printf("Comparison failed at char %d: generated was %d, file had %d\n",
+ // index, (int)str[index-1], (int)c);
+ different = index;
+ break;
+ }
+ }
if (file != stdin)
fclose(file);
- if (str == inString)
+ if (!different)
return 0;
else
{
- char* cstr = str.ToNewCString();
- printf("Comparison failed:\n-----\n%s\n-----\n", cstr);
+ char* cstr = str.ToNewUTF8String();
+ printf("Comparison failed at char %d:\n-----\n%s\n-----\n",
+ different, cstr);
Recycle(cstr);
return 1;
}
diff --git a/mozilla/parser/htmlparser/tests/outsinks/TestOutSinks.bat b/mozilla/parser/htmlparser/tests/outsinks/TestOutSinks.bat
index d22a2789b30..c7bf91c5742 100644
--- a/mozilla/parser/htmlparser/tests/outsinks/TestOutSinks.bat
+++ b/mozilla/parser/htmlparser/tests/outsinks/TestOutSinks.bat
@@ -37,18 +37,18 @@ if errorlevel 1 echo Simple copy test failed. && set has_err=1 && set errmsg=%er
echo "Testing simple html to plaintext formatting ..."
TestOutput -i text/html -o text/plain -f 34 -w 70 -c OutTestData/simplefmt.out OutTestData/simple.html
-if errorlevel 1 echo Simple formatting test failed. && set has_err=1 && set errmsg=%errmsg% plainnowrap.out
+if errorlevel 1 echo Simple formatting test failed. && set has_err=1 && set errmsg=%errmsg% simplefmt.out
echo Testing non-wrapped plaintext ...
-TestOutput -i text/html -o text/plain -f 0 -w 0 -c OutTestData/plainnowrap.out OutTestData/plain.html
+TestOutput -i text/html -o text/plain -f 16 -w 0 -c OutTestData/plainnowrap.out OutTestData/plain.html
if errorlevel 1 echo Non-wrapped plaintext test failed. && set has_err=1 && set errmsg=%errmsg% plainnowrap.out
-REM echo Testing wrapped bug unformatted plaintext ...
+REM echo Testing wrapped but unformatted plaintext ...
REM TestOutput -i text/html -o text/plain -f 32 -w 50 -c OutTestData/plainwrap.out OutTestData/plain.html
REM if errorlevel 1 echo Wrapped plaintext test failed. && set has_err=1 && set errmsg=%errmsg% plainwrap.out
echo Testing mail quoting ...
-TestOutput -i text/html -o text/plain -c OutTestData/mailquote.out OutTestData/mailquote.html
+TestOutput -i text/html -o text/plain -f 2 -w 50 -c OutTestData/mailquote.out OutTestData/mailquote.html
if errorlevel 1 echo Mail quoting test failed. && set has_err=1 && set errmsg=%errmsg% mailquote.out
echo Testing conversion of Xif entities ...
@@ -60,7 +60,7 @@ TestOutput -i text/xif -o text/html -c OutTestData/xifstuff.out OutTestData/xifs
if errorlevel 1 echo Xif to HTML conversion test failed. && set has_err=1 && set errmsg=%errmsg% xifstuff.out
echo Testing HTML Table to Text ...
-TestOutput -i text/html -o text/plain -c OutTestData/htmltable.out OutTestData/htmltable.html
+TestOutput -i text/html -o text/plain -f 2 -c OutTestData/htmltable.out OutTestData/htmltable.html
if errorlevel 1 echo HTML Table to Plain text failed (%errorlevel%). && set has_err=1 && set errmsg=%errmsg% htmltable.out
echo "Testing XIF to plain with doctype (bug 28447) ..."
@@ -71,7 +71,7 @@ REM echo "Testing XIF to html with doctype ..."
REM TestOutput -i text/xif -o text/html -f 0 -c OutTestData/xifdthtml.out OutTestData/doctype.xif
REM if errorlevel 1 echo XIF to html with doctype failed (%errorlevel%). && set has_err=1 && set errmsg=%errmsg% xifdthtml.out
-if %has_err% == 0 goto success
+if %has_err%.==. goto success
echo.
echo TESTS FAILED: %errmsg%
rem exit 1