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;
}