diff --git a/src/virtual-machine.js b/src/virtual-machine.js index 1431640fb..aae77937d 100644 --- a/src/virtual-machine.js +++ b/src/virtual-machine.js @@ -204,7 +204,9 @@ VirtualMachine.prototype.renameSprite = function (targetId, newName) { if (!sprite) { throw new Error('No sprite associated with this target.'); } - sprite.name = newName; + if (newName) { + sprite.name = newName; + } this.emitTargetsUpdate(); } else { throw new Error('No target with the provided id.'); diff --git a/test/unit/virtual-machine.js b/test/unit/virtual-machine.js index 75c857965..28bcdd764 100644 --- a/test/unit/virtual-machine.js +++ b/test/unit/virtual-machine.js @@ -49,3 +49,15 @@ test('renameSprite sets the sprite name', function (t) { t.equal(fakeTarget.sprite.name, 'not-original'); t.end(); }); + +test('renameSprite does not set sprite names to an empty string ', function (t) { + var vm = new VirtualMachine(); + var fakeTarget = { + sprite: {name: 'original'}, + isSprite: () => true + }; + vm.runtime.getTargetById = () => (fakeTarget); + vm.renameSprite('id', ''); + t.equal(fakeTarget.sprite.name, 'original'); + t.end(); +});