aboutsummaryrefslogtreecommitdiffstats
path: root/src/scenario/Matcher.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/scenario/Matcher.js')
-rw-r--r--src/scenario/Matcher.js21
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; });