From 5a402081382669002ec907fea4bfa1fcf3808357 Mon Sep 17 00:00:00 2001 From: Rachel Fenichel Date: Mon, 6 Feb 2017 15:25:59 -0800 Subject: [PATCH] Separate tests --- core/field.js | 2 +- tests/jsunit/field_test.js | 50 +++++++++++++++++++++++++++----------- 2 files changed, 37 insertions(+), 15 deletions(-) diff --git a/core/field.js b/core/field.js index 7558718be..e815683b5 100644 --- a/core/field.js +++ b/core/field.js @@ -201,7 +201,7 @@ Blockly.Field.prototype.updateEditable = function() { * non-editable blocks. * @return {boolean} whether this field is editable and on an editable block */ -Blockly.Field.prototype.isEditable = function() { +Blockly.Field.prototype.isCurrentlyEditable = function() { return this.EDITABLE && !!this.sourceBlock_ && this.sourceBlock_.isEditable(); }; diff --git a/tests/jsunit/field_test.js b/tests/jsunit/field_test.js index 2af26d60d..6a0faebc8 100644 --- a/tests/jsunit/field_test.js +++ b/tests/jsunit/field_test.js @@ -24,54 +24,76 @@ */ 'use strict'; -function test_field_iseditable() { +function test_field_isEditable_simple() { var field = new Blockly.Field("Dummy text"); // EDITABLE is true by default, but without a source block a field can't be // edited. - assertFalse('Field without a block is not editable', field.isEditable()); + assertFalse('Field without a block is not editable', + field.isCurrentlyEditable()); +} +function test_field_isEditable_false() { // Setting EDITABLE to false doesn't matter. - field = new Blockly.Field("Dummy text"); + var field = new Blockly.Field("Dummy text"); field.EDITABLE = false; - assertFalse('Field without a block is not editable', field.isEditable()); + assertFalse('Field without a block is not editable', + field.isCurrentlyEditable()); +} - // Tests with an editable source block. +function test_field_isEditable_editableBlock() { var editableBlock = { isEditable: function() { return true; } }; - field = new Blockly.Field("Dummy text"); + var field = new Blockly.Field("Dummy text"); field.sourceBlock_ = editableBlock; assertTrue('Editable field with editable block is editable', - field.isEditable()); + field.isCurrentlyEditable()); +} - field = new Blockly.Field("Dummy text"); +function test_field_isEditable_editableBlock_false() { + var editableBlock = { + isEditable: function() { + return true; + } + }; + + var field = new Blockly.Field("Dummy text"); field.sourceBlock_ = editableBlock; field.EDITABLE = false; assertFalse('Non-editable field with editable block is not editable', - field.isEditable()); + field.isCurrentlyEditable()); +} - // Tests with a non-editable source block. +function test_field_isEditable_nonEditableBlock() { var nonEditableBlock = { isEditable: function() { return false; } }; - field = new Blockly.Field("Dummy text"); + var field = new Blockly.Field("Dummy text"); field.sourceBlock_ = nonEditableBlock; assertFalse('Editable field with non-editable block is not editable', - field.isEditable()); + field.isCurrentlyEditable()); +} - field = new Blockly.Field("Dummy text"); +function test_field_isEditable_nonEditableBlock_false() { + var nonEditableBlock = { + isEditable: function() { + return false; + } + }; + + var field = new Blockly.Field("Dummy text"); field.sourceBlock_ = nonEditableBlock; field.EDITABLE = false; assertFalse('Non-editable field with non-editable block is not editable', - field.isEditable()); + field.isCurrentlyEditable()); }