From ecbfcd78bdcd80108bcdc5a6887e041b9d72c169 Mon Sep 17 00:00:00 2001
From: picklesrus <picklesrus@users.noreply.github.com>
Date: Wed, 6 Feb 2019 16:48:39 -0500
Subject: [PATCH] Fix sb2 loading of broadcast messages with special
 characters.

---
 src/serialization/sb2.js                      |   2 +-
 test/fixtures/broadcast_special_chars.sb2     | Bin 0 -> 54753 bytes
 .../broadcast_special_chars_sb2.js            |  86 ++++++++++++++++++
 3 files changed, 87 insertions(+), 1 deletion(-)
 create mode 100644 test/fixtures/broadcast_special_chars.sb2
 create mode 100644 test/integration/broadcast_special_chars_sb2.js

diff --git a/src/serialization/sb2.js b/src/serialization/sb2.js
index e606f5a69..f8d1b9e65 100644
--- a/src/serialization/sb2.js
+++ b/src/serialization/sb2.js
@@ -227,7 +227,7 @@ const globalBroadcastMsgStateGenerator = (function () {
                 if (name === '') {
                     name = emptyStringName;
                 }
-                broadcastMsgNameMap[name] = `broadcastMsgId-${name}`;
+                broadcastMsgNameMap[name] = `broadcastMsgId-${StringUtil.replaceUnsafeChars(name)}`;
                 allBroadcastFields.push(field);
                 return broadcastMsgNameMap[name];
             },
diff --git a/test/fixtures/broadcast_special_chars.sb2 b/test/fixtures/broadcast_special_chars.sb2
new file mode 100644
index 0000000000000000000000000000000000000000..afaf4ba25b0197665599cca3699026fa3fc37aa5
GIT binary patch
literal 54753
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%0D8w5g5Q
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

literal 0
HcmV?d00001

diff --git a/test/integration/broadcast_special_chars_sb2.js b/test/integration/broadcast_special_chars_sb2.js
new file mode 100644
index 000000000..db43dd621
--- /dev/null
+++ b/test/integration/broadcast_special_chars_sb2.js
@@ -0,0 +1,86 @@
+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 Variable = require('../../src/engine/variable');
+const StringUtil = require('../../src/util/string-util');
+const VariableUtil = require('../../src/util/variable-util');
+
+const projectUri = path.resolve(__dirname, '../fixtures/broadcast_special_chars.sb2');
+const project = readFileToBuffer(projectUri);
+
+test('importing sb2 project with special chars in variable names', t => {
+    const vm = new VirtualMachine();
+    vm.attachStorage(makeTestStorage());
+
+    // Evaluate playground data and exit
+    vm.on('playgroundData', e => {
+        const threads = JSON.parse(e.threads);
+        // All monitors should create threads that finish during the step and
+        // are revoved from runtime.threads.
+        t.equal(threads.length, 0);
+
+        t.equal(vm.runtime.targets.length, 2);
+
+        const stage = vm.runtime.targets[0];
+        const cat = vm.runtime.targets[1];
+
+        const allBroadcastFields = VariableUtil.getAllVarRefsForTargets(vm.runtime.targets, true);
+
+        const abMessageId = Object.keys(stage.variables).filter(k => stage.variables[k].name === 'a&b')[0];
+        const abMessage = stage.variables[abMessageId];
+        // Check for unsafe characters, replaceUnsafeChars should just result in the original string
+        // (e.g. there was nothing to replace)
+        // Check that the variable ID does not have any unsafe characters
+        t.equal(StringUtil.replaceUnsafeChars(abMessageId), abMessageId);
+
+        // Check that the message still has the correct info
+        t.equal(StringUtil.replaceUnsafeChars(abMessage.id), abMessage.id);
+        t.equal(abMessage.id, abMessageId);
+        t.equal(abMessage.type, Variable.BROADCAST_MESSAGE_TYPE);
+        t.equal(abMessage.value, 'a&b');
+
+
+        const ltPerfectMessageId = Object.keys(stage.variables).filter(k => stage.variables[k].name === '< perfect')[0];
+        const ltPerfectMessage = stage.variables[ltPerfectMessageId];
+        // Check for unsafe characters, replaceUnsafeChars should just result in the original string
+        // (e.g. there was nothing to replace)
+        // Check that the variable ID does not have any unsafe characters
+        t.equal(StringUtil.replaceUnsafeChars(ltPerfectMessageId), ltPerfectMessageId);
+
+        // // Check that the message still has the correct info
+        t.equal(StringUtil.replaceUnsafeChars(ltPerfectMessage.id), ltPerfectMessage.id);
+        t.equal(ltPerfectMessage.id, ltPerfectMessageId);
+        t.equal(ltPerfectMessage.type, Variable.BROADCAST_MESSAGE_TYPE);
+        t.equal(ltPerfectMessage.value, '< perfect');
+
+        // // Find all the references for this variable, and verify they have the correct ID
+        // // There should be one
+        t.equal(allBroadcastFields[ltPerfectMessageId].length, 1);
+        t.equal(allBroadcastFields[abMessageId].length, 1);
+        const catBlocks = Object.keys(cat.blocks._blocks).map(blockId => cat.blocks._blocks[blockId]);
+        const catMessageBlocks = catBlocks.filter(block => block.fields.hasOwnProperty('BROADCAST_OPTION'));
+        t.equal(catMessageBlocks.length, 2);
+        t.equal(catMessageBlocks[0].fields.BROADCAST_OPTION.id, ltPerfectMessageId);
+        t.equal(catMessageBlocks[1].fields.BROADCAST_OPTION.id, abMessageId);
+
+        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);
+        });
+    });
+});