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..62f094c8 --- /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', function(a,b) { return a == b; });  | 
