From 9bafa7e40d88baa1919305c6118e372d78f7a45d Mon Sep 17 00:00:00 2001 From: Halit Anil Donmez Date: Wed, 7 Oct 2020 14:05:02 -0400 Subject: [PATCH] do value update if the value is valid again (#4351) * do value update if the value is valid again * update the logic at set value * fix tests * update logging --- core/field.js | 3 ++- tests/mocha/field_test.js | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/core/field.js b/core/field.js index 897cd4718..c70cc8b9a 100644 --- a/core/field.js +++ b/core/field.js @@ -898,7 +898,8 @@ Blockly.Field.prototype.setValue = function(newValue) { } var oldValue = this.getValue(); if (oldValue === newValue) { - doLogging && console.log('same, return'); + doLogging && console.log('same, doValueUpdate_, return'); + this.doValueUpdate_(newValue); return; } diff --git a/tests/mocha/field_test.js b/tests/mocha/field_test.js index 76f2ef0ac..f89193d4b 100644 --- a/tests/mocha/field_test.js +++ b/tests/mocha/field_test.js @@ -215,7 +215,7 @@ suite('Abstract Fields', function() { addSpies(this.field); this.field.setValue('value'); sinon.assert.notCalled(this.field.doValueInvalid_); - sinon.assert.notCalled(this.field.doValueUpdate_); + sinon.assert.calledOnce(this.field.doValueUpdate_); sinon.assert.notCalled(this.field.forceRerender); }); test('New Value (Class)Validates to Old Value', function() { @@ -224,7 +224,7 @@ suite('Abstract Fields', function() { addSpies(this.field); this.field.setValue('notValue'); sinon.assert.notCalled(this.field.doValueInvalid_); - sinon.assert.notCalled(this.field.doValueUpdate_); + sinon.assert.calledOnce(this.field.doValueUpdate_); sinon.assert.notCalled(this.field.forceRerender); }); test('New Value (Local)Validates to Old Value', function() { @@ -233,7 +233,7 @@ suite('Abstract Fields', function() { addSpies(this.field); this.field.setValue('notValue'); sinon.assert.notCalled(this.field.doValueInvalid_); - sinon.assert.notCalled(this.field.doValueUpdate_); + sinon.assert.calledOnce(this.field.doValueUpdate_); sinon.assert.notCalled(this.field.forceRerender); }); test('New Value (Class)Validates to not Old Value', function() {