2010-08-04 19:36:53 +00:00
|
|
|
describe('Matcher', function () {
|
|
|
|
|
function executeFutures() {
|
|
|
|
|
for(var i in $scenario.currentSpec.futures) {
|
|
|
|
|
var future = $scenario.currentSpec.futures[i];
|
|
|
|
|
future.behavior.call({}, function(value) { future.fulfill(value); });
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
var matcher;
|
|
|
|
|
beforeEach(function() {
|
|
|
|
|
setUpContext();
|
|
|
|
|
var future = $scenario.addFuture('Calculate first future', function(done) {
|
|
|
|
|
done(123);
|
|
|
|
|
});
|
|
|
|
|
matcher = new Matcher(this, future);
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
it('should correctly match toEqual', function() {
|
|
|
|
|
matcher.toEqual(123);
|
|
|
|
|
executeFutures();
|
|
|
|
|
});
|
|
|
|
|
it('should throw an error when incorrect match toEqual', function() {
|
|
|
|
|
matcher.toEqual(456);
|
|
|
|
|
try {
|
|
|
|
|
executeFutures();
|
|
|
|
|
fail();
|
|
|
|
|
} catch (e) {
|
|
|
|
|
expect(e).toEqual('Expected 456 but was 123');
|
|
|
|
|
}
|
|
|
|
|
});
|
2010-08-11 18:42:04 +00:00
|
|
|
it('should correctly match arrays', function() {
|
|
|
|
|
var future = $scenario.addFuture('Calculate first future', function(done) {
|
|
|
|
|
done(['a', 'b']);
|
|
|
|
|
});
|
|
|
|
|
matcher = new Matcher(this, future);
|
|
|
|
|
matcher.toEqual(['a', 'b']);
|
|
|
|
|
executeFutures();
|
|
|
|
|
});
|
2010-08-04 19:36:53 +00:00
|
|
|
});
|