diff --git a/package.json b/package.json index d9b692b..5e6cd8e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "online-3d-viewer", "description": "Online 3D Viewer", - "version": "0.7.13", + "version": "0.7.14", "repository": "github:kovacsv/Online3DViewer", "license": "MIT", "devDependencies": { 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 (); + } + }); }); });