diff --git a/core/block.js b/core/block.js
index d4ebc1ec5..bad026075 100644
--- a/core/block.js
+++ b/core/block.js
@@ -1026,7 +1026,7 @@ Blockly.Block.prototype.jsonInit = function(json) {
}
if (Array.isArray(json['extensions'])) {
var extensionNames = json['extensions'];
- for (var i = 0; i < extensionNames.length; ++i) {
+ for (var i = 0; i < extensionNames.length; ++i) {
var extensionName = extensionNames[i];
Blockly.Extensions.apply(extensionName, this);
}
@@ -1052,9 +1052,9 @@ Blockly.Block.prototype.interpolate_ = function(message, args, lastDummyAlign) {
var token = tokens[i];
if (typeof token == 'number') {
goog.asserts.assert(token > 0 && token <= args.length,
- 'Message index "%s" out of range.', token);
+ 'Message index %%s out of range.', token);
goog.asserts.assert(!indexDup[token],
- 'Message index "%s" duplicated.', token);
+ 'Message index %%s duplicated.', token);
indexDup[token] = true;
indexCount++;
elements.push(args[token - 1]);
diff --git a/tests/jsunit/extensions_test.js b/tests/jsunit/extensions_test.js
index 032c7c53b..caef7c992 100644
--- a/tests/jsunit/extensions_test.js
+++ b/tests/jsunit/extensions_test.js
@@ -25,6 +25,8 @@
'use strict';
function test_extension() {
+ var workspace = new Blockly.Workspace();
+ var block;
try {
assertUndefined(Blockly.Extensions.ALL_['extensions_test']);
@@ -54,14 +56,16 @@ function test_extension() {
assertEquals(0, numCallsToBefore);
assertEquals(0, numCallsToAfter);
- var workspace = new Blockly.Workspace();
- var block = new Blockly.Block(workspace, 'extension_test_block');
+ block = new Blockly.Block(workspace, 'extension_test_block');
assertEquals(1, numCallsToBefore);
assertEquals(1, numCallsToAfter);
assert(block.extendedWithBefore);
assert(block.extendedWithAfter);
- } finally {
+ } finally {
+ block && block.dispose();
+ workspace.dispose();
+
delete Blockly.Extensions.ALL_['extensions_test_before'];
delete Blockly.Extensions.ALL_['extensions_test_after'];
delete Blockly.Blocks['extension_test_block'];
@@ -69,6 +73,8 @@ function test_extension() {
}
function test_extension_missing() {
+ var workspace = new Blockly.Workspace();
+ var block;
var exceptionWasThrown = false;
try {
assertUndefined(Blockly.Extensions.ALL_['missing_extension']);
@@ -78,12 +84,13 @@ function test_extension_missing() {
"extensions": ["missing_extension"]
}]);
- var workspace = new Blockly.Workspace();
- var block = new Blockly.Block(workspace, 'missing_extension_block');
+ block = new Blockly.Block(workspace, 'missing_extension_block');
} catch (e) {
// Expected.
exceptionWasThrown = true;
} finally {
+ block && block.dispose();
+ workspace.dispose();
delete Blockly.Blocks['missing_extension_block'];
}
assert(exceptionWasThrown);
@@ -130,6 +137,9 @@ function test_extension_not_a_function() {
function test_parent_tooltip_when_inline() {
var defaultTooltip = "defaultTooltip";
var parentTooltip = "parentTooltip";
+
+ var workspace = new Blockly.Workspace();
+ var block;
try {
Blockly.defineBlocksWithJsonArray([
{
@@ -152,8 +162,7 @@ function test_parent_tooltip_when_inline() {
}
]);
- var workspace = new Blockly.Workspace();
- var block = new Blockly.Block(workspace, 'test_parent_tooltip_when_inline');
+ block = new Blockly.Block(workspace, 'test_parent_tooltip_when_inline');
// Tooltip is dynamic after extension initialization.
assert(goog.isFunction(block.tooltip));
@@ -178,6 +187,9 @@ function test_parent_tooltip_when_inline() {
assert(!block.getParent());
assertEquals(block.tooltip(), defaultTooltip);
} finally {
+ block && block.dispose();
+ workspace.dispose();
+
delete Blockly.Blocks['test_parent_tooltip_when_inline'];
delete Blockly.Blocks['test_parent'];
}
diff --git a/tests/jsunit/index.html b/tests/jsunit/index.html
index 887fb323e..71623d384 100644
--- a/tests/jsunit/index.html
+++ b/tests/jsunit/index.html
@@ -17,5 +17,6 @@
+