From f3d49f75c8e07220fcabd2e6ae3ea1c9c670d846 Mon Sep 17 00:00:00 2001
From: Karishma Chadha <kchadha@scratch.mit.edu>
Date: Fri, 15 Jun 2018 14:57:49 -0400
Subject: [PATCH] Clean up comment serialization, add tests for new and old
 serialization (old is still valid, just more verbose).

---
 src/serialization/sb3.js                      |   3 +-
 ...comments_no_duplicate_id_serialization.sb3 | Bin 0 -> 43026 bytes
 test/unit/serialization_sb3.js                |  76 ++++++++++++++++++
 3 files changed, 77 insertions(+), 2 deletions(-)
 create mode 100644 test/fixtures/comments_no_duplicate_id_serialization.sb3

diff --git a/src/serialization/sb3.js b/src/serialization/sb3.js
index 95d5fc311..4f129c171 100644
--- a/src/serialization/sb3.js
+++ b/src/serialization/sb3.js
@@ -395,7 +395,6 @@ const serializeComments = function (comments) {
         const comment = comments[commentId];
 
         const serializedComment = Object.create(null);
-        serializedComment.id = comment.id;
         serializedComment.blockId = comment.blockId;
         serializedComment.x = comment.x;
         serializedComment.y = comment.y;
@@ -864,7 +863,7 @@ const parseScratchObject = function (object, runtime, extensions, zip) {
         for (const commentId in object.comments) {
             const comment = object.comments[commentId];
             const newComment = new Comment(
-                comment.id,
+                commentId,
                 comment.text,
                 comment.x,
                 comment.y,
diff --git a/test/fixtures/comments_no_duplicate_id_serialization.sb3 b/test/fixtures/comments_no_duplicate_id_serialization.sb3
new file mode 100644
index 0000000000000000000000000000000000000000..64b4117b9ae85dd2fbb21ca5dc74acb66f212a59
GIT binary patch
literal 43026
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

literal 0
HcmV?d00001

diff --git a/test/unit/serialization_sb3.js b/test/unit/serialization_sb3.js
index 4b7723151..12abbba97 100644
--- a/test/unit/serialization_sb3.js
+++ b/test/unit/serialization_sb3.js
@@ -5,6 +5,8 @@ const sb3 = require('../../src/serialization/sb3');
 const readFileToBuffer = require('../fixtures/readProjectFile').readFileToBuffer;
 const exampleProjectPath = path.resolve(__dirname, '../fixtures/clone-cleanup.sb2');
 const commentsSB2ProjectPath = path.resolve(__dirname, '../fixtures/comments.sb2');
+const commentsSB3ProjectPath = path.resolve(__dirname, '../fixtures/comments.sb3');
+const commentsSB3NoDupeIds = path.resolve(__dirname, '../fixtures/comments_no_duplicate_id_serialization.sb3');
 
 test('serialize', t => {
     const vm = new VirtualMachine();
@@ -66,3 +68,77 @@ test('serialize sb2 project with comments as sb3', t => {
             t.end();
         });
 });
+
+test('deserialize sb3 project with comments', t => {
+    const vm = new VirtualMachine();
+    vm.loadProject(readFileToBuffer(commentsSB3ProjectPath))
+        .then(() => {
+            const runtime = vm.runtime;
+
+            t.type(runtime.targets, 'object');
+            t.equal(Array.isArray(runtime.targets), true);
+            t.equal(runtime.targets.length, 2);
+
+            const stage = runtime.targets[0];
+            t.equal(stage.isStage, true);
+            // The stage has 0 blocks, and 1 workspace comment
+            t.type(stage.blocks, 'object');
+            t.equal(Object.keys(stage.blocks._blocks).length, 0);
+            t.type(stage.comments, 'object');
+            t.equal(Object.keys(stage.comments).length, 1);
+            const stageBlockComments = Object.values(stage.comments).filter(comment => !!comment.blockId);
+            const stageWorkspaceComments = Object.values(stage.comments).filter(comment => comment.blockId === null);
+            t.equal(stageBlockComments.length, 0);
+            t.equal(stageWorkspaceComments.length, 1);
+
+            const sprite = runtime.targets[1];
+            t.equal(sprite.isStage, false);
+            t.type(sprite.blocks, 'object');
+            // Sprite 1 has 6 blocks, 5 block comments, and 1 workspace comment
+            t.equal(Object.values(sprite.blocks._blocks).filter(block => !block.shadow).length, 6);
+            t.type(sprite.comments, 'object');
+            t.equal(Object.keys(sprite.comments).length, 6);
+
+            const spriteBlockComments = Object.values(sprite.comments).filter(comment => !!comment.blockId);
+            const spriteWorkspaceComments = Object.values(sprite.comments).filter(comment => comment.blockId === null);
+            t.equal(spriteBlockComments.length, 5);
+            t.equal(spriteWorkspaceComments.length, 1);
+
+            t.end();
+        });
+});
+
+test('deserialize sb3 project with comments - no duplicate id serialization', t => {
+    const vm = new VirtualMachine();
+    vm.loadProject(readFileToBuffer(commentsSB3NoDupeIds))
+        .then(() => {
+            const runtime = vm.runtime;
+
+            t.type(runtime.targets, 'object');
+            t.equal(Array.isArray(runtime.targets), true);
+            t.equal(runtime.targets.length, 2);
+
+            const stage = runtime.targets[0];
+            t.equal(stage.isStage, true);
+            // The stage has 0 blocks, and 0 workspace comment
+            t.type(stage.blocks, 'object');
+            t.equal(Object.keys(stage.blocks._blocks).length, 0);
+            t.type(stage.comments, 'object');
+            t.equal(Object.keys(stage.comments).length, 0);
+
+            const sprite = runtime.targets[1];
+            t.equal(sprite.isStage, false);
+            t.type(sprite.blocks, 'object');
+            // Sprite1 has 1 blocks, 1 block comment, and 1 workspace comment
+            t.equal(Object.values(sprite.blocks._blocks).filter(block => !block.shadow).length, 1);
+            t.type(sprite.comments, 'object');
+            t.equal(Object.keys(sprite.comments).length, 2);
+
+            const spriteBlockComments = Object.values(sprite.comments).filter(comment => !!comment.blockId);
+            const spriteWorkspaceComments = Object.values(sprite.comments).filter(comment => comment.blockId === null);
+            t.equal(spriteBlockComments.length, 1);
+            t.equal(spriteWorkspaceComments.length, 1);
+
+            t.end();
+        });
+});