From ab0b4ab5921d0ce5cf6566637765cbcd1aa450b8 Mon Sep 17 00:00:00 2001 From: Tao Zhou Date: Mon, 18 May 2020 13:28:20 +0200 Subject: [PATCH] Fix `parent` in `gr-change-metadata` when switching patchsets Bug: Issue 12775 Change-Id: I33c88df5e01b9659256b11f70df7f9442cb5cb9e (cherry picked from commit a37843174cbd1aca972b9dda871953bd76dd6588) --- .../gr-change-metadata/gr-change-metadata.js | 10 ++++----- .../gr-change-metadata_test.html | 22 ++++++++++++------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata.js b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata.js index a540665e30..518634735f 100644 --- a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata.js +++ b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata.js @@ -131,7 +131,7 @@ _currentParents: { type: Array, - computed: '_computeParents(change)', + computed: '_computeParents(revision)', }, /** @type {?} */ @@ -445,13 +445,11 @@ return null; }, - _computeParents(change) { - if (!change.current_revision || - !change.revisions[change.current_revision] || - !change.revisions[change.current_revision].commit) { + _computeParents(revision) { + if (!revision || !revision.commit) { return undefined; } - return change.revisions[change.current_revision].commit.parents; + return revision.commit.parents; }, _computeParentsLabel(parents) { diff --git a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html index fcbd3d5fb9..946524617f 100644 --- a/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html +++ b/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata_test.html @@ -429,14 +429,20 @@ limitations under the License. }); test('_computeParents', () => { - const parents = [{commit: '123', subject: 'abc'}]; - assert.isUndefined(element._computeParents( - {revisions: {456: {commit: {parents}}}})); - assert.isUndefined(element._computeParents( - {current_revision: '789', revisions: {456: {commit: {parents}}}})); - assert.equal(element._computeParents( - {current_revision: '456', revisions: {456: {commit: {parents}}}}), - parents); + const revision = {commit: {parents: [{commit: '123', subject: 'abc'}]}}; + assert.isUndefined(element._computeParents({})); + assert.equal(element._computeParents(revision), revision.commit.parents); + }); + + test('_currentParents', () => { + element.revision = { + commit: {parents: [{commit: '123', subject: 'abc'}]}, + }; + assert.equal(element._currentParents[0].commit, '123'); + element.revision = { + commit: {parents: [{commit: '12345', subject: 'abc'}]}, + }; + assert.equal(element._currentParents[0].commit, '12345'); }); test('_computeParentsLabel', () => {