taskbuffer/test/test.js
2016-05-06 02:05:45 +02:00

45 lines
5.8 KiB
JavaScript

"use strict";
/// <reference path="../ts/typings/main.d.ts" />
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==