From 149edb32a78f1504a879e3852132f723208d6bc5 Mon Sep 17 00:00:00 2001 From: Damien Pobel Date: Wed, 11 Mar 2015 13:57:29 +0100 Subject: [PATCH] EZP-23788: Fix the field value when trying to update only the alt text --- .../public/js/views/fields/ez-binarybase-editview.js | 5 ++--- Resources/public/js/views/fields/ez-image-editview.js | 1 + .../fields/assets/ez-binaryfile-editview-tests.js | 5 +++++ .../js/views/fields/assets/ez-image-editview-tests.js | 10 ++++++++++ .../js/views/fields/assets/ez-media-editview-tests.js | 5 +++++ 5 files changed, 23 insertions(+), 3 deletions(-) diff --git a/Resources/public/js/views/fields/ez-binarybase-editview.js b/Resources/public/js/views/fields/ez-binarybase-editview.js index 37bd0a908..76cfc4573 100644 --- a/Resources/public/js/views/fields/ez-binarybase-editview.js +++ b/Resources/public/js/views/fields/ez-binarybase-editview.js @@ -125,9 +125,8 @@ YUI.add('ez-binarybase-editview', function (Y) { } this._trackVersionSave(); - fieldValue = { - fileName: file.name, - }; + fieldValue = Y.merge(this.get('field').fieldValue); + fieldValue.fileName = file.name; if ( file.data ) { fieldValue.data = file.data; } diff --git a/Resources/public/js/views/fields/ez-image-editview.js b/Resources/public/js/views/fields/ez-image-editview.js index 1fb46c9b2..f1caba07a 100644 --- a/Resources/public/js/views/fields/ez-image-editview.js +++ b/Resources/public/js/views/fields/ez-image-editview.js @@ -218,6 +218,7 @@ YUI.add('ez-image-editview', function (Y) { */ _completeFieldValue: function (fieldValue) { fieldValue.alternativeText = this.get('alternativeText'); + delete fieldValue.variations; return fieldValue; }, diff --git a/Tests/js/views/fields/assets/ez-binaryfile-editview-tests.js b/Tests/js/views/fields/assets/ez-binaryfile-editview-tests.js index 3671bf47e..6b6e9ec42 100644 --- a/Tests/js/views/fields/assets/ez-binaryfile-editview-tests.js +++ b/Tests/js/views/fields/assets/ez-binaryfile-editview-tests.js @@ -218,6 +218,11 @@ YUI.add('ez-binaryfile-editview-tests', function (Y) { }, _assertCorrectFieldValue: function (fieldValue, msg) { + Assert.areNotSame( + this.view.get('field').fieldValue, + fieldValue, + "The original field value should be cloned" + ); Assert.areEqual(this.newValue.name, fieldValue.fileName, msg); Assert.areEqual(this.newValue.size, fieldValue.fileSize, msg); Assert.areEqual(this.newValue.data, fieldValue.data, msg); diff --git a/Tests/js/views/fields/assets/ez-image-editview-tests.js b/Tests/js/views/fields/assets/ez-image-editview-tests.js index 709089838..222f31c2a 100644 --- a/Tests/js/views/fields/assets/ez-image-editview-tests.js +++ b/Tests/js/views/fields/assets/ez-image-editview-tests.js @@ -437,6 +437,7 @@ YUI.add('ez-image-editview-tests', function (Y) { fieldValue: { fileName: "original.jpg", alternativeText: "Alt text", + variations: {}, }, newValue: { name: "me.jpg", @@ -467,6 +468,15 @@ YUI.add('ez-image-editview-tests', function (Y) { }, _assertCorrectFieldValue: function (fieldValue, msg) { + Assert.areNotSame( + this.view.get('field').fieldValue, + fieldValue, + "The original field value should be cloned" + ); + Assert.isUndefined( + fieldValue.variations, + "The variations object should be removed from the field value" + ); Assert.areEqual(this.newValue.name, fieldValue.fileName, msg); Assert.areEqual(this.newValue.size, fieldValue.fileSize, msg); Assert.areEqual(this.newValue.data, fieldValue.data, msg); diff --git a/Tests/js/views/fields/assets/ez-media-editview-tests.js b/Tests/js/views/fields/assets/ez-media-editview-tests.js index 01390c5eb..eb44e9959 100644 --- a/Tests/js/views/fields/assets/ez-media-editview-tests.js +++ b/Tests/js/views/fields/assets/ez-media-editview-tests.js @@ -334,6 +334,11 @@ YUI.add('ez-media-editview-tests', function (Y) { }, _assertCorrectFieldValue: function (fieldValue, msg) { + Assert.areNotSame( + this.view.get('field').fieldValue, + fieldValue, + "The original field value should be cloned" + ); Assert.areEqual(this.newValue.name, fieldValue.fileName, msg); Assert.areEqual(this.newValue.size, fieldValue.fileSize, msg); Assert.areEqual(this.newValue.data, fieldValue.data, msg);