Fix inline diff expansion and reviewed state
Previously, expanding an inline diff toggled the reviewed state for that
file. This is wrong -- expanding the diff should just mark the file as
reviewed, not unreviewed.
Change-Id: I5533a3f286fbd2db2b9437f4cbf4fa546d347304
diff --git a/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list.js b/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list.js
index c1eb39c..83f1565 100644
--- a/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list.js
+++ b/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list.js
@@ -431,17 +431,21 @@
return GrCountStringFormatter.computeShortString(commentCount, 'c');
},
- _reviewFile(path) {
+ /**
+ * @param {string} path
+ * @param {boolean=} opt_reviewed
+ */
+ _reviewFile(path, opt_reviewed) {
if (this.editMode) { return; }
const index = this._files.findIndex(file => file.__path === path);
- const reviewed = this._files[index].isReviewed;
+ const reviewed = opt_reviewed || !this._files[index].isReviewed;
- this.set(['_files', index, 'isReviewed'], !reviewed);
+ this.set(['_files', index, 'isReviewed'], reviewed);
if (index < this._shownFiles.length) {
- this.set(['_shownFiles', index, 'isReviewed'], !reviewed);
+ this.set(['_shownFiles', index, 'isReviewed'], reviewed);
}
- this._saveReviewedState(path, !reviewed);
+ this._saveReviewedState(path, reviewed);
},
_saveReviewedState(path, reviewed) {
@@ -961,7 +965,7 @@
path, this.patchRange, this.projectConfig);
const promises = [diffElem.reload()];
if (this._loggedIn && !this.diffPrefs.manual_review) {
- promises.push(this._reviewFile(path));
+ promises.push(this._reviewFile(path, true));
}
return Promise.all(promises);
}).then(() => {
diff --git a/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.html b/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.html
index 0e0a39e..ca31943 100644
--- a/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.html
+++ b/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.html
@@ -1036,6 +1036,7 @@
delete element.diffPrefs.manual_review;
return element._renderInOrder(['p'], diffs, 1).then(() => {
assert.isTrue(reviewStub.called);
+ assert.isTrue(reviewStub.calledWithExactly('p', true));
});
});
});