diff --git a/package-lock.json b/package-lock.json index 72adfa9..1dabe72 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@puzzle-js/client-lib", - "version": "1.6.0", + "version": "1.6.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 9bb8fff..d484951 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@puzzle-js/client-lib", "main": "dist/index.js", - "version": "1.6.0", + "version": "1.6.1", "author": "", "license": "MIT", "repository": { diff --git a/src/assetHelper.ts b/src/assetHelper.ts index a1dea3e..555a028 100644 --- a/src/assetHelper.ts +++ b/src/assetHelper.ts @@ -66,6 +66,10 @@ export class AssetHelper { } static loadAssetSeries(assets: IPageLibAsset[], callback?: Function) { + if (!assets.length && callback) { + callback(); + } + for (let i = 0, p: any = Promise.resolve(); i < assets.length; i++) { p = p.then(() => new Promise(resolve => { const asset = assets[i]; diff --git a/test/assetHelper.spec.ts b/test/assetHelper.spec.ts index ed8a68c..ad00c4a 100644 --- a/test/assetHelper.spec.ts +++ b/test/assetHelper.spec.ts @@ -130,4 +130,18 @@ describe('Module - Asset Helper', () => { }); }); + it('should call given callback if assets length is 0', async (done) => { + // arrange + const spy = sinon.spy(); + const assets: IPageLibAsset[] = []; + + // act + await AssetHelper.loadAssetSeries(assets, spy); + + // assert + setTimeout(() => { + expect(spy.calledOnce).to.eq(true); + done(); + }); + }); });