diff options
Diffstat (limited to 'src/scenario/Matcher.js')
| -rw-r--r-- | src/scenario/Matcher.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/scenario/Matcher.js b/src/scenario/Matcher.js new file mode 100644 index 00000000..a9c86571 --- /dev/null +++ b/src/scenario/Matcher.js @@ -0,0 +1,21 @@ +function Matcher(scope, future, logger) { + var self = scope.$scenario = this; + this.logger = logger; + this.future = future; +} + +Matcher.addMatcher = function(name, matcher) { + Matcher.prototype[name] = function(expected) { + var future = this.future; + $scenario.addFuture( + 'expect ' + future.name + ' ' + name + ' ' + expected, + function(done){ + if (!matcher(future.value, expected)) + throw "Expected " + expected + ' but was ' + future.value; + done(); + } + ); + }; +}; + +Matcher.addMatcher('toEqual', angular.equals); |
