blob: 6c90df9d7cda31078500a03912f003f0db39f5d2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
function Future(name, behavior) {
this.name = name;
this.behavior = behavior;
this.fulfilled = false;
this.value = undefined;
}
Future.prototype = {
fulfill: function(value) {
this.fulfilled = true;
this.value = value;
}
};
function Matcher(future, logger) {
var self = 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; });
|