mirror of
https://github.com/scratchfoundation/scratch-vm.git
synced 2024-12-24 23:12:24 -05:00
Merge pull request #573 from paulkaplan/fix-sprite-renames
Fix sprite rename incrementing when renamed to itself
This commit is contained in:
commit
745a81ef96
2 changed files with 16 additions and 2 deletions
|
@ -329,9 +329,8 @@ class VirtualMachine extends EventEmitter {
|
||||||
}
|
}
|
||||||
if (newName && RESERVED_NAMES.indexOf(newName) === -1) {
|
if (newName && RESERVED_NAMES.indexOf(newName) === -1) {
|
||||||
const names = this.runtime.targets
|
const names = this.runtime.targets
|
||||||
.filter(runtimeTarget => runtimeTarget.isSprite())
|
.filter(runtimeTarget => runtimeTarget.isSprite() && runtimeTarget.id !== target.id)
|
||||||
.map(runtimeTarget => runtimeTarget.sprite.name);
|
.map(runtimeTarget => runtimeTarget.sprite.name);
|
||||||
|
|
||||||
sprite.name = StringUtil.unusedName(newName, names);
|
sprite.name = StringUtil.unusedName(newName, names);
|
||||||
}
|
}
|
||||||
this.emitTargetsUpdate();
|
this.emitTargetsUpdate();
|
||||||
|
|
|
@ -94,3 +94,18 @@ test('renameSprite increments from existing sprite names', t => {
|
||||||
t.equal(vm.runtime.targets[0].sprite.name, 'that name2');
|
t.equal(vm.runtime.targets[0].sprite.name, 'that name2');
|
||||||
t.end();
|
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();
|
||||||
|
});
|
||||||
|
|
Loading…
Reference in a new issue