feat: Add an option to copy subsequent blocks when getting copy data from a block. (#9279)

This commit is contained in:
Aaron Dodson
2025-08-05 11:17:10 -07:00
committed by GitHub
parent 88151fcadd
commit 44e78b1456
2 changed files with 30 additions and 2 deletions

View File

@@ -61,6 +61,31 @@ suite('Clipboard', function () {
);
});
test('pasting blocks includes next blocks if requested', function () {
const block = Blockly.serialization.blocks.append(
{
'type': 'controls_if',
'id': 'blockId',
'next': {
'block': {
'type': 'controls_if',
'id': 'blockId2',
},
},
},
this.workspace,
);
assert.equal(this.workspace.getBlocksByType('controls_if').length, 2);
// Both blocks should be copied
const data = block.toCopyData(true);
this.clock.runAll();
Blockly.clipboard.paste(data, this.workspace);
this.clock.runAll();
// After pasting, we should have gone from 2 to 4 blocks.
assert.equal(this.workspace.getBlocksByType('controls_if').length, 4);
});
test('copied from a mutator pastes them into the mutator', async function () {
const block = Blockly.serialization.blocks.append(
{