From beaef901a72d075ded2e262bfb676db3ba058c6c Mon Sep 17 00:00:00 2001 From: Paul Kaplan Date: Thu, 18 May 2017 09:12:12 -0400 Subject: [PATCH] Add failing test for gui issues 370 Fix rename increment when renamed to itself --- src/virtual-machine.js | 3 +-- test/unit/virtual-machine.js | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/virtual-machine.js b/src/virtual-machine.js index 79c16d2fc..adbeba640 100644 --- a/src/virtual-machine.js +++ b/src/virtual-machine.js @@ -329,9 +329,8 @@ class VirtualMachine extends EventEmitter { } if (newName && RESERVED_NAMES.indexOf(newName) === -1) { const names = this.runtime.targets - .filter(runtimeTarget => runtimeTarget.isSprite()) + .filter(runtimeTarget => runtimeTarget.isSprite() && runtimeTarget.id !== target.id) .map(runtimeTarget => runtimeTarget.sprite.name); - sprite.name = StringUtil.unusedName(newName, names); } this.emitTargetsUpdate(); diff --git a/test/unit/virtual-machine.js b/test/unit/virtual-machine.js index 73cefb8a2..37a62ff69 100644 --- a/test/unit/virtual-machine.js +++ b/test/unit/virtual-machine.js @@ -94,3 +94,18 @@ test('renameSprite increments from existing sprite names', t => { t.equal(vm.runtime.targets[0].sprite.name, 'that name2'); t.end(); }); + +test('renameSprite does not increment when renaming to the same name', t => { + const vm = new VirtualMachine(); + vm.emitTargetsUpdate = () => {}; + vm.runtime.targets = [{ + id: 'id1', + isSprite: () => true, + sprite: { + name: 'this name' + } + }]; + vm.renameSprite('id1', 'this name'); + t.equal(vm.runtime.targets[0].sprite.name, 'this name'); + t.end(); +});