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