mirror of
https://github.com/scratchfoundation/scratch-vm.git
synced 2025-08-26 13:20:04 -04:00
Add test case for pen state cloning
This commit is contained in:
parent
06d5994a32
commit
6275710e47
2 changed files with 19 additions and 1 deletions
test/integration
|
@ -1,8 +1,11 @@
|
|||
const path = require('path');
|
||||
const test = require('tap').test;
|
||||
|
||||
const Scratch3PenBlocks = require('../../src/blocks/scratch3_pen');
|
||||
const VirtualMachine = require('../../src/index');
|
||||
|
||||
const makeTestStorage = require('../fixtures/make-test-storage');
|
||||
const extract = require('../fixtures/extract');
|
||||
const VirtualMachine = require('../../src/index');
|
||||
|
||||
const uri = path.resolve(__dirname, '../fixtures/pen.sb2');
|
||||
const project = extract(uri);
|
||||
|
@ -14,6 +17,21 @@ test('pen', t => {
|
|||
// Evaluate playground data and exit
|
||||
vm.on('playgroundData', () => {
|
||||
// @todo Additional tests
|
||||
|
||||
const catSprite = vm.runtime.targets[1].sprite;
|
||||
const [originalCat, cloneCat] = catSprite.clones;
|
||||
t.notStrictEqual(originalCat, cloneCat);
|
||||
|
||||
/** @type {PenState} */
|
||||
const originalPenState = originalCat.getCustomState(Scratch3PenBlocks.STATE_KEY);
|
||||
|
||||
/** @type {PenState} */
|
||||
const clonePenState = cloneCat.getCustomState(Scratch3PenBlocks.STATE_KEY);
|
||||
|
||||
t.notStrictEqual(originalPenState, clonePenState);
|
||||
t.equal(originalPenState.penAttributes.diameter, 51);
|
||||
t.equal(clonePenState.penAttributes.diameter, 42);
|
||||
|
||||
t.end();
|
||||
process.nextTick(process.exit);
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue