From 67a249f52866aa463330352e7def8e3367ac53fe Mon Sep 17 00:00:00 2001 From: kovacsv Date: Mon, 14 Jun 2021 14:25:23 +0200 Subject: [PATCH] Fix batch task running in case of zero count. --- source/core/taskrunner.js | 5 ++++- test/tests/taskrunner_test.js | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/source/core/taskrunner.js b/source/core/taskrunner.js index fcf6c39..1e19c99 100644 --- a/source/core/taskrunner.js +++ b/source/core/taskrunner.js @@ -21,7 +21,10 @@ OV.TaskRunner = class RunBatch (count, batchCount, callbacks) { - const stepCount = parseInt ((count - 1) / batchCount, 10) + 1; + let stepCount = 0; + if (count > 0) { + stepCount = parseInt ((count - 1) / batchCount, 10) + 1; + } this.Run (stepCount, { runTask : function (index, ready) { const firstIndex = index * batchCount; diff --git a/test/tests/taskrunner_test.js b/test/tests/taskrunner_test.js index d43cb9b..492a05f 100644 --- a/test/tests/taskrunner_test.js +++ b/test/tests/taskrunner_test.js @@ -44,5 +44,20 @@ describe ('Task Runner', function () { done (); } }); + }); + + it ('Run task batched zero times', function (done) { + var tr = new OV.TaskRunner (); + var indices = []; + tr.RunBatch (0, 3, { + runTask : function (firstIndex, lastIndex, ready) { + indices.push ([firstIndex, lastIndex]); + ready (); + }, + onReady : function () { + assert.deepStrictEqual (indices, []); + done (); + } + }); }); });