ExpectationFilterChain WIP

This commit is contained in:
Steve Gravrock
2018-05-19 10:39:05 -07:00
parent e2897ce619
commit 202a677637
3 changed files with 122 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
getJasmineRequireObj().ExpectationFilterChain = function() {
function ExpectationFilterChain() {
this.filters_ = [];
}
ExpectationFilterChain.prototype.addFilter = function(filter) {
this.filters_.push(filter);
};
ExpectationFilterChain.prototype.selectComparisonFunc = function(matcher) {
return this.callFirst_('selectComparisonFunc', arguments);
};
ExpectationFilterChain.prototype.buildFailureMessage = function(result, matcherName, args, util) {
return this.callFirst_('buildFailureMessage', arguments);
};
ExpectationFilterChain.prototype.modifyFailureMessage = function(msg) {
var i;
for (i = this.filters_.length - 1; i >= 0; i--) {
if (this.filters_[i].modifyFailureMessage) {
msg = this.filters_[i].modifyFailureMessage(msg);
}
}
return msg;
};
ExpectationFilterChain.prototype.callFirst_ = function(fname, args) {
var i, filter;
for (i = 0; i < this.filters_.length; i++) {
filter = this.filters_[i];
if (filter[fname]) {
return filter[fname].apply(filter, args);
}
}
};
return ExpectationFilterChain;
};

View File

@@ -37,6 +37,7 @@ var getJasmineRequireObj = (function (jasmineGlobal) {
j$.Env = jRequire.Env(j$);
j$.StackTrace = jRequire.StackTrace(j$);
j$.ExceptionFormatter = jRequire.ExceptionFormatter(j$);
j$.ExpectationFilterChain = jRequire.ExpectationFilterChain();
j$.Expectation = jRequire.Expectation(j$);
j$.buildExpectationResult = jRequire.buildExpectationResult();
j$.JsApiReporter = jRequire.JsApiReporter();