UNPKG

coveraje

Version:

a simple javascript code coverage tool with browser frontend

93 lines (77 loc) 2.91 kB
(function () { "use strict"; suite('runHelper-emitter', function () { var runHelper = require("../../lib/runHelper"); suite('createEmitter()', function () { test('should create an event emitter', function (done) { var counter = 0; var e = runHelper.createEmitter(function () { counter++; }).onComplete(function () { if (counter === 1) done(); }) .onError(function () { throw new Error("onError reached"); }); e.start(); e.complete(); }); }); suite('createCountdown()', function () { test('should create a countdown event emitter', function (done) { var e = runHelper.createEmitter(function () {}) .onComplete(function () { done(); }) .onError(function () { throw new Error("onError reached"); }); var cd = runHelper.createCountdown(e, 5, 20); cd.one(); cd.one(); cd.one(); cd.one(); cd.one(); // subsequent calls are ignored.. cd.one(); cd.one(); cd.one(); cd.one(); cd.one(); cd.one(); cd.one(); }); }); suite('createCountdown(wait)', function () { test('should raise error after x milliseconds', function (done) { var isDone; var e = runHelper.createEmitter(function () {}) .onComplete(function () { if (!isDone) throw new Error("onComplete reached"); }) .onError(function () { isDone = true; done(); }); var cd = runHelper.createCountdown(e, 5, 20); cd.one(); cd.one(); cd.one(); cd.one(); }); }); suite('createCountdown()', function () { test('should work with invalid counter', function (done) { var e = runHelper.createEmitter(function () {}) .onComplete(function () { done(); }) .onError(function () { throw new Error("onError reached"); }); var cd = runHelper.createCountdown(e, -5, 20); cd.one(); }); }); }); }());