mozilla/task.js — pull request #29 by juandopazo (2013-06-06 14:03:09+00:00)
Title: Add Mocha+RSVP based unit tests

Hi!

I'm interested in adding support for ES6 generators, but I thought I'd first resolve #2 and start by adding a test suite, so that there something to test against when adding ES6 support.

The suite includes tests for the behavior of `spawn` and it deliberately doesn't include tests for the promises part of Task.js. I agree that eventually it'll be a better idea to use another promises library. That is also why test promises are created with RSVP.

It still needs tests for pausing and resuming tasks, the other methods available in Task and possibly the Scheduler.

I decided to overwrite Mocha's `it` function to simplify catching assertion errors that would otherwise be caught by Task.js. That way tests look like this:
```javascript
it('should retrieve a promise\'s value', function (done) {
var expected = 'hello world';

spawn(function () {
var actual = yield Promise.resolve(expected);

done(function () {
expect(actual).to.equal(expected);
});
});
});
```