Use custom object formatters for any part of a diff, not just leaf nodes
This commit is contained in:
committed by
Steve Gravrock
parent
25816a6e77
commit
873d1c2945
@@ -102,15 +102,7 @@ getJasmineRequireObj().makePrettyPrinter = function(j$) {
|
||||
};
|
||||
|
||||
SinglePrettyPrintRun.prototype.applyCustomFormatters_ = function(value) {
|
||||
var i, result;
|
||||
|
||||
for (i = 0; i < this.customObjectFormatters_.length; i++) {
|
||||
result = this.customObjectFormatters_[i](value);
|
||||
|
||||
if (result !== undefined) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
return customFormat(value, this.customObjectFormatters_);
|
||||
};
|
||||
|
||||
SinglePrettyPrintRun.prototype.iterateObject = function(obj, fn) {
|
||||
@@ -383,16 +375,31 @@ getJasmineRequireObj().makePrettyPrinter = function(j$) {
|
||||
return extraKeys;
|
||||
}
|
||||
|
||||
function customFormat(value, customObjectFormatters) {
|
||||
var i, result;
|
||||
|
||||
for (i = 0; i < customObjectFormatters.length; i++) {
|
||||
result = customObjectFormatters[i](value);
|
||||
|
||||
if (result !== undefined) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return function(customObjectFormatters) {
|
||||
customObjectFormatters = customObjectFormatters || [];
|
||||
|
||||
var pp = function(value) {
|
||||
var prettyPrinter = new SinglePrettyPrintRun(
|
||||
customObjectFormatters || [],
|
||||
pp
|
||||
);
|
||||
var prettyPrinter = new SinglePrettyPrintRun(customObjectFormatters, pp);
|
||||
prettyPrinter.format(value);
|
||||
return prettyPrinter.stringParts.join('');
|
||||
};
|
||||
|
||||
pp.customFormat_ = function(value) {
|
||||
return customFormat(value, customObjectFormatters);
|
||||
};
|
||||
|
||||
return pp;
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user