From 2c24ef37a0e44723d8c4db72665f2694a2192b90 Mon Sep 17 00:00:00 2001 From: Karishma Chadha <kchadha@scratch.mit.edu> Date: Fri, 24 Aug 2018 14:29:10 -0400 Subject: [PATCH] Fix issue where block comments converted to workspace comments import correctly when there are no scripts on the workspace. --- src/serialization/sb2.js | 33 +++++----- ...-to-workspace-comments-without-scripts.sb2 | Bin 0 -> 54793 bytes ..._to_workspace_comment_import_no_scripts.js | 59 ++++++++++++++++++ 3 files changed, 75 insertions(+), 17 deletions(-) create mode 100644 test/fixtures/block-to-workspace-comments-without-scripts.sb2 create mode 100644 test/integration/block_to_workspace_comment_import_no_scripts.js diff --git a/src/serialization/sb2.js b/src/serialization/sb2.js index 4c269448f..b0eec1a05 100644 --- a/src/serialization/sb2.js +++ b/src/serialization/sb2.js @@ -183,23 +183,6 @@ const parseScripts = function (scripts, blocks, addBroadcastMsg, getVariableId, blocks.createBlock(convertedBlocks[j]); } } - - // scriptIndexForComment is now greater than the index of the 'last' block in the flattened block array. - // If there are any comments referring to this index or any indices after it, they are comments that - // were originally created as block comments, detached from the block, and then had the associated block deleted. - // These comments should be imported as workspace comments - // by making their blockIDs (which currently refer to non-existing blocks) - // null (See #1452). - const blockCommentIndicesToFix = Object.keys(comments).filter(k => k >= scriptIndexForComment); - for (let i = 0; i < blockCommentIndicesToFix.length; i++) { - const currCommentIndex = blockCommentIndicesToFix[i]; - const currBlockComments = comments[currCommentIndex]; - currBlockComments.forEach(c => { - if (typeof c.blockId === 'number') { - c.blockId = null; - } - }); - } }; /** @@ -523,6 +506,22 @@ const parseScratchObject = function (object, runtime, extensions, topLevel, zip) parseScripts(object.scripts, blocks, addBroadcastMsg, getVariableId, extensions, blockComments); } + // If there are any comments referring to a numerical block ID, make them + // workspace comments. These are comments that were originally created as + // block comments, detached from the block, and then had the associated + // block deleted. + // These comments should be imported as workspace comments + // by making their blockIDs (which currently refer to non-existing blocks) + // null (See #1452). + for (const commentIndex in blockComments) { + const currBlockComments = blockComments[commentIndex]; + currBlockComments.forEach(c => { + if (typeof c.blockId === 'number') { + c.blockId = null; + } + }); + } + // Update stage specific blocks (e.g. sprite clicked <=> stage clicked) blocks.updateTargetSpecificBlocks(topLevel); // topLevel = isStage diff --git a/test/fixtures/block-to-workspace-comments-without-scripts.sb2 b/test/fixtures/block-to-workspace-comments-without-scripts.sb2 new file mode 100644 index 0000000000000000000000000000000000000000..70d29c1b03a7a4ffb0db6947154c34d7b21d25ea GIT binary patch literal 54793 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 literal 0 HcmV?d00001 diff --git a/test/integration/block_to_workspace_comment_import_no_scripts.js b/test/integration/block_to_workspace_comment_import_no_scripts.js new file mode 100644 index 000000000..95ac37672 --- /dev/null +++ b/test/integration/block_to_workspace_comment_import_no_scripts.js @@ -0,0 +1,59 @@ +const path = require('path'); +const test = require('tap').test; +const makeTestStorage = require('../fixtures/make-test-storage'); +const readFileToBuffer = require('../fixtures/readProjectFile').readFileToBuffer; +const VirtualMachine = require('../../src/index'); + +const projectUri = path.resolve(__dirname, '../fixtures/block-to-workspace-comments-without-scripts.sb2'); +const project = readFileToBuffer(projectUri); + +/* eslint-disable-next-line max-len */ +test('importing sb2 project where block comment is converted to workspace comment and block is deleted, and there are no scripts on the workspace', t => { + const vm = new VirtualMachine(); + vm.attachStorage(makeTestStorage()); + + // Evaluate playground data and exit + vm.on('playgroundData', e => { + const threads = JSON.parse(e.threads); + t.equal(threads.length, 0); + + const target = vm.runtime.targets[1]; + + // Sprite 1 has 1 comments, a workspace comment which was + // originally created via a block comment to workspace comment conversion in Scratch 2.0. + // What differentiates this test from above is that there are no scripts in this project. + const targetComments = Object.values(target.comments); + t.equal(targetComments.length, 1); + const spriteWorkspaceComments = targetComments.filter(comment => comment.blockId === null); + t.equal(spriteWorkspaceComments.length, 1); + + // Test the sprite block comments + const blockComments = targetComments.filter(comment => !!comment.blockId); + t.equal(blockComments.length, 0); + + // There should not be any comments where blockId is a number + const invalidComments = targetComments.filter(comment => typeof comment.blockId === 'number'); + t.equal(invalidComments.length, 0); + + const targetBlocks = Object.values(target.blocks._blocks); + t.equal(targetBlocks.length, 0); + + t.end(); + process.nextTick(process.exit); + }); + + // Start VM, load project, and run + t.doesNotThrow(() => { + vm.start(); + vm.clear(); + vm.setCompatibilityMode(false); + vm.setTurboMode(false); + vm.loadProject(project).then(() => { + vm.greenFlag(); + setTimeout(() => { + vm.getPlaygroundData(); + vm.stopAll(); + }, 100); + }); + }); +});