summaryrefslogtreecommitdiff
path: root/cli/tools/coverage.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tools/coverage.rs')
-rw-r--r--cli/tools/coverage.rs17
1 files changed, 12 insertions, 5 deletions
diff --git a/cli/tools/coverage.rs b/cli/tools/coverage.rs
index 7204c0485..a11a75ce1 100644
--- a/cli/tools/coverage.rs
+++ b/cli/tools/coverage.rs
@@ -231,9 +231,12 @@ impl CoverageReporter for LcovCoverageReporter {
continue;
}
- let source_line = script_source[0..function.ranges[0].start_offset]
- .split('\n')
- .count();
+ let source_line = script_source
+ .chars()
+ .take(function.ranges[0].start_offset)
+ .filter(|c| *c == '\n')
+ .count()
+ + 1;
let line_index = if let Some(source_map) = maybe_source_map.as_ref() {
source_map
@@ -277,8 +280,12 @@ impl CoverageReporter for LcovCoverageReporter {
{
let block_hits = function.ranges[0].count;
for (branch_number, range) in function.ranges[1..].iter().enumerate() {
- let source_line =
- script_source[0..range.start_offset].split('\n').count();
+ let source_line = script_source
+ .chars()
+ .take(range.start_offset)
+ .filter(|c| *c == '\n')
+ .count()
+ + 1;
let line_index = if let Some(source_map) = maybe_source_map.as_ref() {
source_map