Make test pass for undefined proc execution

This commit is contained in:
Paul Kaplan 2017-10-25 10:14:54 -04:00
parent ec1d8c657e
commit bbbd3dd64b

View file

@ -27,11 +27,20 @@ class Scratch3ProcedureBlocks {
if (!util.stackFrame.executed) {
const procedureCode = args.mutation.proccode;
const paramNames = util.getProcedureParamNames(procedureCode);
// If null, procedure could not be found, which can happen if custom
// block is dragged between sprites without the definition.
// Match Scratch 2.0 behavior and noop.
if (paramNames === null) {
return;
}
for (let i = 0; i < paramNames.length; i++) {
if (args.hasOwnProperty(`input${i}`)) {
util.pushParam(paramNames[i], args[`input${i}`]);
}
}
util.stackFrame.executed = true;
util.startProcedure(procedureCode);
}