зеркало из https://github.com/mozilla/pjs.git
JavaScript Tests - reportCompare doesn't print description on failures, bug 431108, patch by x00000000@freenet.de, r=igor
This commit is contained in:
Родитель
29d139741d
Коммит
3c3ea54817
|
@ -232,10 +232,47 @@ function toPrinted(value)
|
||||||
{
|
{
|
||||||
value = String(value);
|
value = String(value);
|
||||||
}
|
}
|
||||||
value = value.replace(/\\n/g, 'NL').replace(/\n/g, 'NL').replace(/\\r/g, 'CR');
|
value = value.replace(/\\n/g, 'NL')
|
||||||
|
.replace(/\n/g, 'NL')
|
||||||
|
.replace(/\\r/g, 'CR')
|
||||||
|
.replace(/[^\x20-\x7E]+/g, escapeString);
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function escapeString (str)
|
||||||
|
{
|
||||||
|
var a, b, c, d;
|
||||||
|
var len = str.length;
|
||||||
|
var result = "";
|
||||||
|
var digits = ["0", "1", "2", "3", "4", "5", "6", "7",
|
||||||
|
"8", "9", "A", "B", "C", "D", "E", "F"];
|
||||||
|
|
||||||
|
for (var i=0; i<len; i++)
|
||||||
|
{
|
||||||
|
var ch = str.charCodeAt(i);
|
||||||
|
|
||||||
|
a = digits[ch & 0xf];
|
||||||
|
ch >>= 4;
|
||||||
|
b = digits[ch & 0xf];
|
||||||
|
ch >>= 4;
|
||||||
|
|
||||||
|
if (ch)
|
||||||
|
{
|
||||||
|
c = digits[ch & 0xf];
|
||||||
|
ch >>= 4;
|
||||||
|
d = digits[ch & 0xf];
|
||||||
|
|
||||||
|
result += "\\u" + d + c + b + a;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result += "\\x" + b + a;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Compare expected result to actual result, if they differ (in value and/or
|
* Compare expected result to actual result, if they differ (in value and/or
|
||||||
* type) report a failure. If description is provided, include it in the
|
* type) report a failure. If description is provided, include it in the
|
||||||
|
@ -246,8 +283,14 @@ function reportCompare (expected, actual, description) {
|
||||||
var actual_t = typeof actual;
|
var actual_t = typeof actual;
|
||||||
var output = "";
|
var output = "";
|
||||||
|
|
||||||
if ((VERBOSE) && (typeof description != "undefined"))
|
if (typeof description == "undefined")
|
||||||
|
{
|
||||||
|
description = '';
|
||||||
|
}
|
||||||
|
else if (VERBOSE)
|
||||||
|
{
|
||||||
printStatus ("Comparing '" + description + "'");
|
printStatus ("Comparing '" + description + "'");
|
||||||
|
}
|
||||||
|
|
||||||
if (expected_t != actual_t)
|
if (expected_t != actual_t)
|
||||||
{
|
{
|
||||||
|
@ -271,19 +314,16 @@ function reportCompare (expected, actual, description) {
|
||||||
"' matched actual value '" + toPrinted(actual) + "'");
|
"' matched actual value '" + toPrinted(actual) + "'");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof description == "undefined")
|
|
||||||
description = '';
|
|
||||||
|
|
||||||
var testcase = new TestCase(gTestfile, description, expected, actual);
|
var testcase = new TestCase(gTestfile, description, expected, actual);
|
||||||
testcase.reason = output;
|
testcase.reason = output;
|
||||||
|
|
||||||
if (testcase.passed)
|
if (testcase.passed)
|
||||||
{
|
{
|
||||||
print('PASSED! ' + description);
|
print(PASSED + description);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
reportFailure (output);
|
reportFailure (description + " : " + output);
|
||||||
}
|
}
|
||||||
|
|
||||||
return testcase.passed;
|
return testcase.passed;
|
||||||
|
@ -300,8 +340,14 @@ function reportMatch (expectedRegExp, actual, description) {
|
||||||
var actual_t = typeof actual;
|
var actual_t = typeof actual;
|
||||||
var output = "";
|
var output = "";
|
||||||
|
|
||||||
if ((VERBOSE) && (typeof description != "undefined"))
|
if (typeof description == "undefined")
|
||||||
|
{
|
||||||
|
description = '';
|
||||||
|
}
|
||||||
|
else if (VERBOSE)
|
||||||
|
{
|
||||||
printStatus ("Comparing '" + description + "'");
|
printStatus ("Comparing '" + description + "'");
|
||||||
|
}
|
||||||
|
|
||||||
if (expected_t != actual_t)
|
if (expected_t != actual_t)
|
||||||
{
|
{
|
||||||
|
@ -326,19 +372,16 @@ function reportMatch (expectedRegExp, actual, description) {
|
||||||
"' matched actual value '" + toPrinted(actual) + "'");
|
"' matched actual value '" + toPrinted(actual) + "'");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof description == "undefined")
|
|
||||||
description = '';
|
|
||||||
|
|
||||||
var testcase = new TestCase(gTestfile, description, true, matches);
|
var testcase = new TestCase(gTestfile, description, true, matches);
|
||||||
testcase.reason = output;
|
testcase.reason = output;
|
||||||
|
|
||||||
if (testcase.passed)
|
if (testcase.passed)
|
||||||
{
|
{
|
||||||
print('PASSED! ' + description);
|
print(PASSED + description);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
reportFailure (output);
|
reportFailure (description + " : " + output);
|
||||||
}
|
}
|
||||||
|
|
||||||
return testcase.passed;
|
return testcase.passed;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче