Compute status icon for renamed files differently After the [1], the status icon is calculated incorrectly for renamed files. This change fixes the problem with renamed files. [1] https://gerrit-review.googlesource.com/c/plugins/code-owners/+/299371 Change-Id: I06e74365a4c0143aa47a3e6df5d4b059f2c2ac52
diff --git a/ui/owner-status-column.js b/ui/owner-status-column.js index 31ad654..b3d92fb 100644 --- a/ui/owner-status-column.js +++ b/ui/owner-status-column.js
@@ -116,6 +116,7 @@ static get properties() { return { path: String, + oldPath: String, patchRange: Object, hidden: { type: Boolean, @@ -169,7 +170,7 @@ static get observers() { return [ - 'computeStatusIcon(model.status, path)', + 'computeStatusIcon(model.status, path, oldPath)', ]; } @@ -178,8 +179,8 @@ this.modelLoader.loadStatus(); } - computeStatusIcon(modelStatus, path) { - if ([modelStatus, path].includes(undefined)) return; + computeStatusIcon(modelStatus, path, oldPath) { + if ([modelStatus, path, oldPath].includes(undefined)) return; if (MAGIC_FILES.includes(path)) return; const codeOwnerStatusMap = modelStatus.codeOwnerStatusMap; @@ -191,10 +192,10 @@ const status = statusItem.status; let oldPathStatus = null; - if (statusItem.oldPath) { - const oldStatusItem = codeOwnerStatusMap.get(statusItem.oldPath); + if (oldPath !== path) { + const oldStatusItem = codeOwnerStatusMap.get(oldPath); if (!oldStatusItem) { - // should not happen + this.status = STATUS_CODE.ERROR; } else { oldPathStatus = oldStatusItem.status; }