Merge pull request #573 from paulkaplan/fix-sprite-renames

Fix sprite rename incrementing when renamed to itself
This commit is contained in:
Paul Kaplan 2017-05-18 15:40:11 -04:00 committed by GitHub
commit 745a81ef96
2 changed files with 16 additions and 2 deletions

View file

@ -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();

View file

@ -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();
});