Fix error in file-list setReviewedFiles logic
The shownFiles array was referenced in _setReviewedFiles instead of the
files array, causing an undefined error due to accessing an array with
an out of bounds index.
This change fixes that, and removes the stub call that would have caught
this issue.
Bug: Issue 5853
Change-Id: I17175796d8d67ca4d53f6ce2f82a59ff2ebc4010
(cherry picked from commit 7011651093
)
This commit is contained in:

committed by
David Pursehouse

parent
14d009e036
commit
071dbb48e7
@@ -118,7 +118,7 @@
|
||||
|
||||
observers: [
|
||||
'_expandedPathsChanged(_expandedFilePaths.splices)',
|
||||
'_setReviewedFiles(_shownFiles, _files, _reviewed.*)',
|
||||
'_setReviewedFiles(_shownFiles, _files, _reviewed.*, _loggedIn)',
|
||||
],
|
||||
|
||||
keyBindings: {
|
||||
@@ -658,11 +658,12 @@
|
||||
return files.base.slice(0, numFilesShown);
|
||||
},
|
||||
|
||||
_setReviewedFiles: function(shownFiles, files, reviewedRecord) {
|
||||
_setReviewedFiles: function(shownFiles, files, reviewedRecord, loggedIn) {
|
||||
if (!loggedIn) { return; }
|
||||
var reviewed = reviewedRecord.base;
|
||||
var fileReviewed;
|
||||
for (var i = 0; i < files.length; i++) {
|
||||
fileReviewed = this._computeReviewed(shownFiles[i], reviewed);
|
||||
fileReviewed = this._computeReviewed(files[i], reviewed);
|
||||
this._files[i].isReviewed = fileReviewed;
|
||||
if (i < shownFiles.length) {
|
||||
this.set(['_shownFiles', i, 'isReviewed'], fileReviewed);
|
||||
|
@@ -535,6 +535,7 @@ limitations under the License.
|
||||
{__path: 'myfile.txt'},
|
||||
];
|
||||
element._reviewed = ['/COMMIT_MSG', 'myfile.txt'];
|
||||
element._loggedIn = true;
|
||||
element.changeNum = '42';
|
||||
element.patchRange = {
|
||||
basePatchNum: 'PARENT',
|
||||
@@ -704,7 +705,6 @@ limitations under the License.
|
||||
|
||||
test('show/hide diffs disabled for large amounts of files', function(done) {
|
||||
var computeSpy = sandbox.spy(element, '_fileListActionsVisible');
|
||||
sandbox.stub(element, '_setReviewedFiles');
|
||||
element._files = [];
|
||||
element.changeNum = '42';
|
||||
element.patchRange = {
|
||||
@@ -868,6 +868,7 @@ limitations under the License.
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
test('_renderInOrder logged in', function(done) {
|
||||
element._isLoggedIn = true;
|
||||
var reviewStub = sandbox.stub(element, '_reviewFile');
|
||||
|
Reference in New Issue
Block a user