From 52b6ce18a517fd20699649706b30b8a17938d756 Mon Sep 17 00:00:00 2001 From: Neil Fraser Date: Tue, 2 Jul 2019 15:59:25 -0700 Subject: [PATCH] Fix unit tests --- blocks/lists.js | 10 ++--- blocks/logic.js | 2 +- blocks/loops.js | 2 +- blocks/math.js | 4 +- blocks/procedures.js | 29 +++++++------- blocks/text.js | 8 ++-- blocks/variables.js | 6 +-- blocks/variables_dynamic.js | 6 +-- core/field_variable.js | 6 +-- core/workspace_comment.js | 2 +- core/ws_comment_events.js | 2 +- core/xml.js | 4 +- demos/accessible/index.html | 2 +- demos/blockfactory/app_controller.js | 5 +-- .../block_definition_extractor.js | 8 ++-- .../blockfactory/block_library_controller.js | 2 +- demos/blockfactory/blocks.js | 8 ++-- demos/blockfactory/factory.js | 5 ++- demos/blockfactory/factory_utils.js | 2 +- demos/blockfactory/index.html | 4 +- demos/blockfactory/standard_categories.js | 12 +++--- .../workspacefactory/wfactory_controller.js | 26 ++++++------- .../workspacefactory/wfactory_generator.js | 16 ++++---- .../workspacefactory/wfactory_model.js | 6 +-- demos/blockfactory_old/blocks.js | 8 ++-- demos/blockfactory_old/factory.js | 2 +- demos/blockfactory_old/index.html | 2 +- demos/code/index.html | 2 +- demos/codelab/app-complete/index.html | 2 +- demos/custom-dialogs/index.html | 2 +- demos/fixed/index.html | 2 +- demos/generator/index.html | 4 +- demos/graph/index.html | 4 +- demos/headless/index.html | 2 +- demos/interpreter/async-execution.html | 4 +- demos/interpreter/step-execution.html | 4 +- demos/maxBlocks/index.html | 2 +- demos/minimap/index.html | 2 +- demos/mirror/index.html | 2 +- demos/mobile/html/toolbox_standard.js | 2 +- demos/plane/plane.js | 9 ++--- demos/plane/template.soy | 2 +- demos/resizable/overlay.html | 2 +- demos/rtl/index.html | 4 +- demos/storage/index.html | 2 +- demos/toolbox/index.html | 2 +- tests/compile/index.html | 2 +- tests/generators/colour.xml | 2 +- tests/generators/functions.xml | 2 +- tests/generators/index.html | 2 +- tests/generators/lists.xml | 2 +- tests/generators/logic.xml | 2 +- tests/generators/loops1.xml | 2 +- tests/generators/loops2.xml | 2 +- tests/generators/loops3.xml | 2 +- tests/generators/math.xml | 2 +- tests/generators/text.xml | 2 +- tests/generators/variables.xml | 2 +- tests/jsunit/event_test.js | 4 +- tests/jsunit/xml_test.js | 38 +++++++++---------- tests/mocha/field_test.js | 14 +++---- tests/mocha/index.html | 2 +- tests/mocha/trashcan_test.js | 6 ++- tests/multi_playground.html | 4 +- tests/playground.html | 14 +++---- tests/workspace_svg/index.html | 4 +- tests/workspace_svg/procedure_svg_test.js | 14 +++---- tests/workspace_svg/workspace_svg_test.js | 4 +- 68 files changed, 186 insertions(+), 186 deletions(-) diff --git a/blocks/lists.js b/blocks/lists.js index 9e9217f12..2bbf5b6ea 100644 --- a/blocks/lists.js +++ b/blocks/lists.js @@ -146,7 +146,7 @@ Blockly.Blocks['lists_create_with'] = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, @@ -414,7 +414,7 @@ Blockly.Blocks['lists_getIndex'] = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); var isStatement = !this.outputConnection; container.setAttribute('statement', isStatement); var isAt = this.getInput('AT').type == Blockly.INPUT_VALUE; @@ -578,7 +578,7 @@ Blockly.Blocks['lists_setIndex'] = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); var isAt = this.getInput('AT').type == Blockly.INPUT_VALUE; container.setAttribute('at', isAt); return container; @@ -676,7 +676,7 @@ Blockly.Blocks['lists_getSublist'] = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); var isAt1 = this.getInput('AT1').type == Blockly.INPUT_VALUE; container.setAttribute('at1', isAt1); var isAt2 = this.getInput('AT2').type == Blockly.INPUT_VALUE; @@ -856,7 +856,7 @@ Blockly.Blocks['lists_split'] = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); container.setAttribute('mode', this.getFieldValue('MODE')); return container; }, diff --git a/blocks/logic.js b/blocks/logic.js index c5f156a81..1160b2148 100644 --- a/blocks/logic.js +++ b/blocks/logic.js @@ -320,7 +320,7 @@ Blockly.Constants.Logic.CONTROLS_IF_MUTATOR_MIXIN = { if (!this.elseifCount_ && !this.elseCount_) { return null; } - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); if (this.elseifCount_) { container.setAttribute('elseif', this.elseifCount_); } diff --git a/blocks/loops.js b/blocks/loops.js index a60df7b8b..607c65c47 100644 --- a/blocks/loops.js +++ b/blocks/loops.js @@ -268,7 +268,7 @@ Blockly.Constants.Loops.CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN = { option.text = Blockly.Msg['VARIABLES_SET_CREATE_GET'].replace('%1', varName); var xmlField = Blockly.Variables.generateVariableFieldDom(variable); - var xmlBlock = document.createElement('block'); + var xmlBlock = Blockly.utils.xml.createElement('block'); xmlBlock.setAttribute('type', 'variables_get'); xmlBlock.appendChild(xmlField); option.callback = Blockly.ContextMenu.callbackFactory(this, xmlBlock); diff --git a/blocks/math.js b/blocks/math.js index 4bc690916..23c4f7ce5 100644 --- a/blocks/math.js +++ b/blocks/math.js @@ -460,7 +460,7 @@ Blockly.Constants.Math.IS_DIVISIBLEBY_MUTATOR_MIXIN = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); var divisorInput = (this.getFieldValue('PROPERTY') == 'DIVISIBLE_BY'); container.setAttribute('divisor_input', divisorInput); return container; @@ -545,7 +545,7 @@ Blockly.Constants.Math.LIST_MODES_MUTATOR_MIXIN = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); container.setAttribute('op', this.getFieldValue('OP')); return container; }, diff --git a/blocks/procedures.js b/blocks/procedures.js index 45fd1709b..536821c05 100644 --- a/blocks/procedures.js +++ b/blocks/procedures.js @@ -108,12 +108,12 @@ Blockly.Blocks['procedures_defnoreturn'] = { * @this Blockly.Block */ mutationToDom: function(opt_paramIds) { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); if (opt_paramIds) { container.setAttribute('name', this.getFieldValue('NAME')); } for (var i = 0; i < this.argumentVarModels_.length; i++) { - var parameter = document.createElement('arg'); + var parameter = Blockly.utils.xml.createElement('arg'); var argModel = this.argumentVarModels_[i]; parameter.setAttribute('name', argModel.name); parameter.setAttribute('varid', argModel.getId()); @@ -354,14 +354,14 @@ Blockly.Blocks['procedures_defnoreturn'] = { var option = {enabled: true}; var name = this.getFieldValue('NAME'); option.text = Blockly.Msg['PROCEDURES_CREATE_DO'].replace('%1', name); - var xmlMutation = document.createElement('mutation'); + var xmlMutation = Blockly.utils.xml.createElement('mutation'); xmlMutation.setAttribute('name', name); for (var i = 0; i < this.arguments_.length; i++) { - var xmlArg = document.createElement('arg'); + var xmlArg = Blockly.utils.xml.createElement('arg'); xmlArg.setAttribute('name', this.arguments_[i]); xmlMutation.appendChild(xmlArg); } - var xmlBlock = document.createElement('block'); + var xmlBlock = Blockly.utils.xml.createElement('block'); xmlBlock.setAttribute('type', this.callType_); xmlBlock.appendChild(xmlMutation); option.callback = Blockly.ContextMenu.callbackFactory(this, xmlBlock); @@ -376,7 +376,7 @@ Blockly.Blocks['procedures_defnoreturn'] = { .replace('%1', argVar.name); var argXmlField = Blockly.Variables.generateVariableFieldDom(argVar); - var argXmlBlock = document.createElement('block'); + var argXmlBlock = Blockly.utils.xml.createElement('block'); argXmlBlock.setAttribute('type', 'variables_get'); argXmlBlock.appendChild(argXmlField); argOption.callback = @@ -814,10 +814,10 @@ Blockly.Blocks['procedures_callnoreturn'] = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); container.setAttribute('name', this.getProcedureCall()); for (var i = 0; i < this.arguments_.length; i++) { - var parameter = document.createElement('arg'); + var parameter = Blockly.utils.xml.createElement('arg'); parameter.setAttribute('name', this.arguments_[i]); container.appendChild(parameter); } @@ -880,7 +880,7 @@ Blockly.Blocks['procedures_callnoreturn'] = { Blockly.Events.setGroup(event.group); /** * Create matching definition block. - * + * * * * @@ -889,8 +889,8 @@ Blockly.Blocks['procedures_callnoreturn'] = { * * */ - var xml = document.createElement('xml'); - var block = document.createElement('block'); + var xml = Blockly.utils.xml.createElement('xml'); + var block = Blockly.utils.xml.createElement('block'); block.setAttribute('type', this.defType_); var xy = this.getRelativeToSurfaceXY(); var x = xy.x + Blockly.SNAP_RADIUS * (this.RTL ? -1 : 1); @@ -899,9 +899,10 @@ Blockly.Blocks['procedures_callnoreturn'] = { block.setAttribute('y', y); var mutation = this.mutationToDom(); block.appendChild(mutation); - var field = document.createElement('field'); + var field = Blockly.utils.xml.createElement('field'); field.setAttribute('name', 'NAME'); - field.appendChild(document.createTextNode(this.getProcedureCall())); + field.appendChild(Blockly.utils.xml.createTextNode( + this.getProcedureCall())); block.appendChild(field); xml.appendChild(block); Blockly.Xml.domToWorkspace(xml, this.workspace); @@ -1026,7 +1027,7 @@ Blockly.Blocks['procedures_ifreturn'] = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); container.setAttribute('value', Number(this.hasReturnValue_)); return container; }, diff --git a/blocks/text.js b/blocks/text.js index 91ed6c1fa..554c3e4dd 100644 --- a/blocks/text.js +++ b/blocks/text.js @@ -243,7 +243,7 @@ Blockly.Blocks['text_getSubstring'] = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); var isAt1 = this.getInput('AT1').type == Blockly.INPUT_VALUE; container.setAttribute('at1', isAt1); var isAt2 = this.getInput('AT2').type == Blockly.INPUT_VALUE; @@ -423,7 +423,7 @@ Blockly.Blocks['text_prompt_ext'] = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); container.setAttribute('type', this.getFieldValue('TYPE')); return container; }, @@ -660,7 +660,7 @@ Blockly.Constants.Text.TEXT_JOIN_MUTATOR_MIXIN = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, @@ -810,7 +810,7 @@ Blockly.Constants.Text.TEXT_CHARAT_MUTATOR_MIXIN = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); container.setAttribute('at', !!this.isAt_); return container; }, diff --git a/blocks/variables.js b/blocks/variables.js index 1cd2f36f8..af040e7d1 100644 --- a/blocks/variables.js +++ b/blocks/variables.js @@ -113,10 +113,10 @@ Blockly.Constants.Variables.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN = { var option = {enabled: this.workspace.remainingCapacity() > 0}; var name = this.getField('VAR').getText(); option.text = contextMenuMsg.replace('%1', name); - var xmlField = document.createElement('field'); + var xmlField = Blockly.utils.xml.createElement('field'); xmlField.setAttribute('name', 'VAR'); - xmlField.appendChild(document.createTextNode(name)); - var xmlBlock = document.createElement('block'); + xmlField.appendChild(Blockly.utils.xml.createTextNode(name)); + var xmlBlock = Blockly.utils.xml.createElement('block'); xmlBlock.setAttribute('type', opposite_type); xmlBlock.appendChild(xmlField); option.callback = Blockly.ContextMenu.callbackFactory(this, xmlBlock); diff --git a/blocks/variables_dynamic.js b/blocks/variables_dynamic.js index b0ad6206b..b6baad658 100644 --- a/blocks/variables_dynamic.js +++ b/blocks/variables_dynamic.js @@ -114,11 +114,11 @@ Blockly.Constants.VariablesDynamic.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MI var option = {enabled: this.workspace.remainingCapacity() > 0}; var name = this.getField('VAR').getText(); option.text = contextMenuMsg.replace('%1', name); - var xmlField = document.createElement('field'); + var xmlField = Blockly.utils.xml.createElement('field'); xmlField.setAttribute('name', 'VAR'); xmlField.setAttribute('variabletype', varType); - xmlField.appendChild(document.createTextNode(name)); - var xmlBlock = document.createElement('block'); + xmlField.appendChild(Blockly.utils.xml.createTextNode(name)); + var xmlBlock = Blockly.utils.xml.createElement('block'); xmlBlock.setAttribute('type', opposite_type); xmlBlock.appendChild(xmlField); option.callback = Blockly.ContextMenu.callbackFactory(this, xmlBlock); diff --git a/core/field_variable.js b/core/field_variable.js index 278fe5c55..c097b0de2 100644 --- a/core/field_variable.js +++ b/core/field_variable.js @@ -142,7 +142,7 @@ Blockly.FieldVariable.prototype.fromXml = function(fieldElement) { }; /** - * Serialize this field to Xml. + * Serialize this field to XML. * @param {!Element} fieldElement The element to populate with info about the * field's state. * @return {!Element} The element containing info about the field's state. @@ -151,9 +151,9 @@ Blockly.FieldVariable.prototype.toXml = function(fieldElement) { // Make sure the variable is initialized. this.initModel(); - fieldElement.setAttribute('id', this.variable_.getId()); + fieldElement.id = this.variable_.getId(); fieldElement.textContent = this.variable_.name; - fieldElement.setAttribute('variableType', this.variable_.type); + fieldElement.setAttribute('variabletype', this.variable_.type); return fieldElement; }; diff --git a/core/workspace_comment.js b/core/workspace_comment.js index 706c5708b..ec9735c0c 100644 --- a/core/workspace_comment.js +++ b/core/workspace_comment.js @@ -280,7 +280,7 @@ Blockly.WorkspaceComment.prototype.toXmlWithXY = function(opt_noId) { Blockly.WorkspaceComment.prototype.toXml = function(opt_noId) { var commentElement = Blockly.utils.xml.createElement('comment'); if (!opt_noId) { - commentElement.setAttribute('id', this.id); + commentElement.id = this.id; } commentElement.textContent = this.getContent(); return commentElement; diff --git a/core/ws_comment_events.js b/core/ws_comment_events.js index 853bfd817..953f1a7d3 100644 --- a/core/ws_comment_events.js +++ b/core/ws_comment_events.js @@ -207,7 +207,7 @@ Blockly.Events.CommentCreate.prototype.toJson = function() { */ Blockly.Events.CommentCreate.prototype.fromJson = function(json) { Blockly.Events.CommentCreate.superClass_.fromJson.call(this, json); - this.xml = Blockly.Xml.textToDom('' + json['xml'] + '').firstChild; + this.xml = Blockly.Xml.textToDom(json['xml']); }; /** diff --git a/core/xml.js b/core/xml.js index 97e0b750a..cd13f009b 100644 --- a/core/xml.js +++ b/core/xml.js @@ -75,7 +75,7 @@ Blockly.Xml.variablesToDom = function(variableList) { var element = Blockly.utils.xml.createElement('variable'); element.appendChild(Blockly.utils.xml.createTextNode(variable.name)); element.setAttribute('type', variable.type); - element.setAttribute('id', variable.getId()); + element.id = variable.getId(); variables.appendChild(element); } return variables; @@ -146,7 +146,7 @@ Blockly.Xml.blockToDom = function(block, opt_noId) { Blockly.utils.xml.createElement(block.isShadow() ? 'shadow' : 'block'); element.setAttribute('type', block.type); if (!opt_noId) { - element.setAttribute('id', block.id); + element.id = block.id; } if (block.mutationToDom) { // Custom data for an advanced block. diff --git a/demos/accessible/index.html b/demos/accessible/index.html index 7a409c9c9..a259e03b5 100644 --- a/demos/accessible/index.html +++ b/demos/accessible/index.html @@ -70,7 +70,7 @@ }); -