"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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGdEQUFnRDtBQUNoRCxJQUFPLFVBQVUsV0FBVyxlQUFlLENBQUMsQ0FBQztBQUM3QyxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDL0IsSUFBSSxPQUFPLEdBQUc7SUFDVixDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztDQUNsQixDQUFBO0FBRUQsa0NBQWtDO0FBQ2xDLElBQUksUUFBd0IsQ0FBQztBQUM3QixJQUFJLGdCQUFnQixHQUFHO0lBQ25CLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO0lBQ3RDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQTtBQUNELElBQUksV0FBVyxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFDLFlBQVksRUFBQyxjQUFXLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFBLENBQUMsRUFBQyxPQUFPLEVBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQztBQUVwSCxRQUFRLENBQUMsWUFBWSxFQUFDO0lBQ2xCLFFBQVEsQ0FBQyxPQUFPLEVBQUM7UUFDYixFQUFFLENBQUMscUNBQXFDLEVBQUM7WUFDckMsUUFBUSxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFDLFlBQVksRUFBQyxnQkFBZ0IsRUFBQyxPQUFPLEVBQUMsV0FBVyxFQUFDLENBQUMsQ0FBQztRQUN4RixDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyx5Q0FBeUMsRUFBQztZQUN6QyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLHVCQUF1QixFQUFDO1lBQ3ZCLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUM7Z0JBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztZQUNqRCxDQUFDO1FBRUwsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsc0RBQXNELEVBQUM7WUFDdEQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsMENBQTBDLEVBQUM7WUFDMUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsMERBQTBELEVBQUMsVUFBUyxJQUFJO1lBQ3ZFLFFBQVEsQ0FBQyxPQUFPLEVBQUU7aUJBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJ0ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4uL3RzL3R5cGluZ3MvbWFpbi5kLnRzXCIgLz5cbmltcG9ydCB0YXNrYnVmZmVyID0gcmVxdWlyZShcIi4uL2Rpc3QvaW5kZXhcIik7XG5sZXQgc2hvdWxkID0gcmVxdWlyZShcInNob3VsZFwiKTtcbmxldCBwbHVnaW5zID0ge1xuICAgIHE6IHJlcXVpcmUoXCJxXCIpXG59XG5cbi8vc2V0dXAgc29tZSB0ZXN0RGF0YSB0byB3b3JrIHdpdGhcbmxldCB0ZXN0VGFzazp0YXNrYnVmZmVyLlRhc2s7XG5sZXQgdGVzdFRhc2tGdW5jdGlvbiA9IGZ1bmN0aW9uKCl7XG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcbiAgICBjb25zb2xlLmxvZyhcIm1haW4gZnVuY3Rpb24gZXhlY3V0ZWQhXCIpXG4gICAgZG9uZS5yZXNvbHZlKCk7XG4gICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcbn1cbmxldCB0ZXN0UHJlVGFzayA9IG5ldyB0YXNrYnVmZmVyLlRhc2soe3Rhc2tGdW5jdGlvbjpmdW5jdGlvbigpe2NvbnNvbGUubG9nKFwicHJlVGFzayBleGVjdXRlZFwiKTt9LHByZVRhc2s6dGVzdFRhc2t9KTtcblxuZGVzY3JpYmUoXCJ0YXNrYnVmZmVyXCIsZnVuY3Rpb24oKXtcbiAgICBkZXNjcmliZShcIi5UYXNrXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgaXQoXCJuZXcgVGFzaygpIHNob3VsZCByZXR1cm4gYSBuZXcgdGFza1wiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB0ZXN0VGFzayA9IG5ldyB0YXNrYnVmZmVyLlRhc2soe3Rhc2tGdW5jdGlvbjp0ZXN0VGFza0Z1bmN0aW9uLHByZVRhc2s6dGVzdFByZVRhc2t9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGl0KFwidGVzdFRhc2sgc2hvdWxkIGJlIGFuZCBpbnN0YW5jZSBvZiBUYXNrXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHRlc3RUYXNrLnNob3VsZC5iZS5pbnN0YW5jZW9mKHRhc2tidWZmZXIuVGFzayk7XG4gICAgICAgIH0pO1xuICAgICAgICBpdChcInRlc3RUYXNrLmlkbGUgaXMgdHJ1ZVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBpZiAoIXRlc3RUYXNrLmlkbGUpe1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInRlc3RUYXNrLmlkbGUgaXMgbm90IHRydWVcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfSk7XG4gICAgICAgIGl0KFwidGVzdFRhc2sucnVubmluZyBpcyB0eXBlIGJvb2xlYW4gYW5kIGluaXRpYWxseSBmYWxzZVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICB0ZXN0VGFzay5ydW5uaW5nLnNob3VsZC5iZS50eXBlKFwiYm9vbGVhblwiKTtcbiAgICAgICAgICAgIHRlc3RUYXNrLnJ1bm5pbmcuc2hvdWxkLmJlLmZhbHNlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBpdChcInRlc3RUYXNrLnRyaWdnZXIoKSBzaG91bGQgcmV0dXJuIFByb21pc2VcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgdGVzdFRhc2sudHJpZ2dlcigpLnNob3VsZC5iZS5Qcm9taXNlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBpdChcInRlc3RUYXNrLnRyaWdnZXIoKSByZXR1cm5lZCBQcm9taXNlIHNob3VsZCBiZSBmdWxsZmlsbGVkXCIsZnVuY3Rpb24oZG9uZSl7XG4gICAgICAgICAgICB0ZXN0VGFzay50cmlnZ2VyKClcbiAgICAgICAgICAgICAgICAudGhlbihkb25lKTtcbiAgICAgICAgfSlcbiAgICB9KTtcbn0pOyJdfQ==