Skip to content

Commit c45cce0

Browse files
Merge pull request #76 from codecov/spalmurray/fix-non-virtualized-lines
fix: Non-virtualized file lines not targetted by extension
2 parents b9c7f23 + d4c2d72 commit c45cce0

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

src/content/github/file/main.tsx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import {
1717
componentsStorageKey,
1818
flagsStorageKey,
1919
lineSelector,
20+
noVirtLineSelector,
2021
} from "./utils/constants";
2122
import {
2223
animateAndAnnotateLines,
@@ -228,6 +229,7 @@ async function process(metadata: FileMetadata): Promise<void> {
228229

229230
globals.coverageReport = coverageReport;
230231
animateAndAnnotateLines(lineSelector, annotateLine);
232+
animateAndAnnotateLines(noVirtLineSelector, annotateLine);
231233
}
232234

233235
async function promptPastReport(metadata: FileMetadata): Promise<void> {
@@ -275,6 +277,7 @@ function createCoverageButton() {
275277
const isInactive = codecovButton.getAttribute("data-inactive");
276278
if (isInactive == "true") {
277279
animateAndAnnotateLines(lineSelector, annotateLine);
280+
animateAndAnnotateLines(noVirtLineSelector, annotateLine);
278281
codecovButton.removeAttribute("data-inactive");
279282
codecovButton.style.opacity = "1";
280283
} else {
@@ -325,7 +328,15 @@ function updateButton(text: string) {
325328
}
326329

327330
function annotateLine(line: HTMLElement) {
328-
const lineNumber = parseInt(line.getAttribute("data-key")!) + 1;
331+
let lineNumber = _.parseInt(line.getAttribute("data-key")!) + 1;
332+
const lineNumberString = line.getAttribute("data-key");
333+
if (lineNumberString) {
334+
lineNumber = _.parseInt(lineNumberString) + 1; // Virtualized lines have data-key="{number - 1}"
335+
} else {
336+
const noVirtLineNumberString = line.getAttribute("id");
337+
if (!noVirtLineNumberString) return;
338+
lineNumber = _.parseInt(noVirtLineNumberString.slice(2)); // Non-virtualized lines have id="LC{number}"
339+
}
329340
// called from "Coverage: N/A" button on-click handler
330341
if (!globals.coverageReport) {
331342
return;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
export const lineSelector = ".react-code-line-contents";
2+
export const noVirtLineSelector = ".react-code-line-contents-no-virtualization"
23
export const flagsStorageKey = "selected_flags";
34
export const componentsStorageKey = "selected_components";

0 commit comments

Comments
 (0)