can-queues
Advanced tools
Comparing version 0.2.4 to 0.2.5
{ | ||
"name": "can-queues", | ||
"version": "0.2.4", | ||
"version": "0.2.5", | ||
"description": "A light weight JavaScript task queue", | ||
@@ -17,3 +17,3 @@ "homepage": "", | ||
"postpublish": "git push --tags && git push", | ||
"testee": "DEBUG=testee:* testee test.html --browsers firefox", | ||
"testee": "testee test.html --browsers firefox", | ||
"test": "npm run jshint && npm run testee", | ||
@@ -20,0 +20,0 @@ "jshint": "jshint ./*.js --config", |
@@ -63,3 +63,3 @@ var Queue = require("./queue"); | ||
this.tasksRemaining--; | ||
this.taskMap["delete"](task); | ||
this.taskMap["delete"](task.fn); | ||
task.fn.apply(task.context, task.args); | ||
@@ -86,12 +86,13 @@ } else { | ||
var taskContainer = this.taskContainersByPriority[priority]; | ||
var index = taskContainer.tasks.indexOf(task); | ||
taskContainer.tasks.splice(index,1); | ||
var index = taskContainer.tasks.indexOf(task, taskContainer.index); | ||
if( index >=0 ) { | ||
taskContainer.tasks.splice(index,1); | ||
//!steal-remove-start | ||
this._logFlush(task); | ||
//!steal-remove-end | ||
this.tasksRemaining--; | ||
this.taskMap["delete"](task); | ||
task.fn.apply(task.context, task.args); | ||
//!steal-remove-start | ||
this._logFlush(task); | ||
//!steal-remove-end | ||
this.tasksRemaining--; | ||
this.taskMap["delete"](task.fn); | ||
task.fn.apply(task.context, task.args); | ||
} | ||
} | ||
@@ -98,0 +99,0 @@ |
var QUnit = require('steal-qunit'); | ||
var queues = require("can-queues"); | ||
var canDev = require('can-util/js/dev/dev'); | ||
var CompletionQueue = require("./completion-queue") | ||
var CompletionQueue = require("./completion-queue"); | ||
@@ -363,1 +363,34 @@ QUnit.module('can-queues'); | ||
}); | ||
QUnit.test("priority queue can't flush already ran task", function(){ | ||
var queue = new queues.PriorityQueue("priority"); | ||
var ran = []; | ||
var task1 = function(){ | ||
ran.push("1"); | ||
}; | ||
queue.enqueue(task1,null,[],{ | ||
priority: 0 | ||
}); | ||
queue.enqueue(function(){ | ||
QUnit.equal(queue.isEnqueued(task1), false, "not enqueued"); | ||
queue.flushQueuedTask(task1); | ||
ran.push("2"); | ||
},null,[],{ | ||
priority: 0 | ||
}); | ||
queue.enqueue(function(){ | ||
ran.push("3"); | ||
},null,[],{ | ||
priority: 0 | ||
}); | ||
queue.flush(); | ||
QUnit.deepEqual(ran, ["1", "2","3"]); | ||
}); |
30030
686