babel/test/_generator-helpers.js
2014-12-10 21:10:59 +11:00

26 lines
738 B
JavaScript

var assert = require("assert");
exports.check = function check(g, yields, returnValue) {
for (var i = 0; i < yields.length; ++i) {
var info = i > 0 ? g.next(i) : g.next();
assert.deepEqual(info.value, yields[i]);
assert.strictEqual(info.done, false);
}
assert.deepEqual(
i > 0 ? g.next(i) : g.next(),
{ value: returnValue, done: true }
);
};
// A version of `throw` whose behavior can't be statically analyzed.
// Useful for testing dynamic exception dispatching.
exports.raise = function raise(argument) {
throw argument;
};
exports.assertAlreadyFinished = function assertAlreadyFinished(generator) {
var item = generator.next();
assert.ok(item.done && item.value === undefined, "not finished");
};