"use strict"; /// var taskbuffer = require("../dist/index"); var should = require("should"); var plugins = { q: require("q") }; //setup some testData to work with var testTask; var testTaskFunction = function () { var done = plugins.q.defer(); console.log("main function executed!"); done.resolve(); return done.promise; }; var testPreTask = new taskbuffer.Task({ taskFunction: function () { console.log("preTask executed"); }, preTask: testTask }); describe("taskbuffer", function () { describe(".Task", function () { it("new Task() should return a new task", function () { testTask = new taskbuffer.Task({ taskFunction: testTaskFunction, preTask: testPreTask }); }); it("testTask should be and instance of Task", function () { testTask.should.be.instanceof(taskbuffer.Task); }); it("testTask.idle is true", function () { if (!testTask.idle) { throw new Error("testTask.idle is not true"); } }); it("testTask.running is type boolean and initially false", function () { testTask.running.should.be.type("boolean"); testTask.running.should.be.false(); }); it("testTask.trigger() should return Promise", function () { testTask.trigger().should.be.Promise(); }); it("testTask.trigger() returned Promise should be fullfilled", function (done) { testTask.trigger() .then(done); }); }); }); //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGdEQUFnRDtBQUNoRCxJQUFPLFVBQVUsV0FBVyxlQUFlLENBQUMsQ0FBQztBQUM3QyxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDL0IsSUFBSSxPQUFPLEdBQUc7SUFDVixDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztDQUNsQixDQUFBO0FBRUQsa0NBQWtDO0FBQ2xDLElBQUksUUFBd0IsQ0FBQztBQUM3QixJQUFJLGdCQUFnQixHQUFHO0lBQ25CLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO0lBQ3RDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQTtBQUNELElBQUksV0FBVyxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQztJQUNsQyxZQUFZLEVBQUM7UUFDVCxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELE9BQU8sRUFBQyxRQUFRO0NBQ25CLENBQUMsQ0FBQztBQUVILFFBQVEsQ0FBQyxZQUFZLEVBQUM7SUFDbEIsUUFBUSxDQUFDLE9BQU8sRUFBQztRQUNiLEVBQUUsQ0FBQyxxQ0FBcUMsRUFBQztZQUNyQyxRQUFRLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUMsWUFBWSxFQUFDLGdCQUFnQixFQUFDLE9BQU8sRUFBQyxXQUFXLEVBQUMsQ0FBQyxDQUFDO1FBQ3hGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLHlDQUF5QyxFQUFDO1lBQ3pDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsdUJBQXVCLEVBQUM7WUFDdkIsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQztnQkFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1lBQ2pELENBQUM7UUFFTCxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxzREFBc0QsRUFBQztZQUN0RCxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzNDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQywwQ0FBMEMsRUFBQztZQUMxQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQywwREFBMEQsRUFBQyxVQUFTLElBQUk7WUFDdkUsUUFBUSxDQUFDLE9BQU8sRUFBRTtpQkFDYixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6InRlc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi4vdHMvdHlwaW5ncy9tYWluLmQudHNcIiAvPlxyXG5pbXBvcnQgdGFza2J1ZmZlciA9IHJlcXVpcmUoXCIuLi9kaXN0L2luZGV4XCIpO1xyXG5sZXQgc2hvdWxkID0gcmVxdWlyZShcInNob3VsZFwiKTtcclxubGV0IHBsdWdpbnMgPSB7XHJcbiAgICBxOiByZXF1aXJlKFwicVwiKVxyXG59XHJcblxyXG4vL3NldHVwIHNvbWUgdGVzdERhdGEgdG8gd29yayB3aXRoXHJcbmxldCB0ZXN0VGFzazp0YXNrYnVmZmVyLlRhc2s7XHJcbmxldCB0ZXN0VGFza0Z1bmN0aW9uID0gZnVuY3Rpb24oKXtcclxuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XHJcbiAgICBjb25zb2xlLmxvZyhcIm1haW4gZnVuY3Rpb24gZXhlY3V0ZWQhXCIpXHJcbiAgICBkb25lLnJlc29sdmUoKTtcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn1cclxubGV0IHRlc3RQcmVUYXNrID0gbmV3IHRhc2tidWZmZXIuVGFzayh7XHJcbiAgICB0YXNrRnVuY3Rpb246ZnVuY3Rpb24oKXtcclxuICAgICAgICBjb25zb2xlLmxvZyhcInByZVRhc2sgZXhlY3V0ZWRcIik7XHJcbiAgICB9LFxyXG4gICAgcHJlVGFzazp0ZXN0VGFza1xyXG59KTtcclxuXHJcbmRlc2NyaWJlKFwidGFza2J1ZmZlclwiLGZ1bmN0aW9uKCl7XHJcbiAgICBkZXNjcmliZShcIi5UYXNrXCIsZnVuY3Rpb24oKXtcclxuICAgICAgICBpdChcIm5ldyBUYXNrKCkgc2hvdWxkIHJldHVybiBhIG5ldyB0YXNrXCIsZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgdGVzdFRhc2sgPSBuZXcgdGFza2J1ZmZlci5UYXNrKHt0YXNrRnVuY3Rpb246dGVzdFRhc2tGdW5jdGlvbixwcmVUYXNrOnRlc3RQcmVUYXNrfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaXQoXCJ0ZXN0VGFzayBzaG91bGQgYmUgYW5kIGluc3RhbmNlIG9mIFRhc2tcIixmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICB0ZXN0VGFzay5zaG91bGQuYmUuaW5zdGFuY2VvZih0YXNrYnVmZmVyLlRhc2spO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGl0KFwidGVzdFRhc2suaWRsZSBpcyB0cnVlXCIsZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgaWYgKCF0ZXN0VGFzay5pZGxlKXtcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInRlc3RUYXNrLmlkbGUgaXMgbm90IHRydWVcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaXQoXCJ0ZXN0VGFzay5ydW5uaW5nIGlzIHR5cGUgYm9vbGVhbiBhbmQgaW5pdGlhbGx5IGZhbHNlXCIsZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgdGVzdFRhc2sucnVubmluZy5zaG91bGQuYmUudHlwZShcImJvb2xlYW5cIik7XHJcbiAgICAgICAgICAgIHRlc3RUYXNrLnJ1bm5pbmcuc2hvdWxkLmJlLmZhbHNlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaXQoXCJ0ZXN0VGFzay50cmlnZ2VyKCkgc2hvdWxkIHJldHVybiBQcm9taXNlXCIsZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgdGVzdFRhc2sudHJpZ2dlcigpLnNob3VsZC5iZS5Qcm9taXNlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaXQoXCJ0ZXN0VGFzay50cmlnZ2VyKCkgcmV0dXJuZWQgUHJvbWlzZSBzaG91bGQgYmUgZnVsbGZpbGxlZFwiLGZ1bmN0aW9uKGRvbmUpe1xyXG4gICAgICAgICAgICB0ZXN0VGFzay50cmlnZ2VyKClcclxuICAgICAgICAgICAgICAgIC50aGVuKGRvbmUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbn0pOyJdfQ==