diff --git a/crates/editor/src/display_map/tab_map.rs b/crates/editor/src/display_map/tab_map.rs index 2ceba96a8266a59998e17b0c27c1f70dd65bf490..33f8d692a2959e5f3e973c55f7a2c55a1a51fc28 100644 --- a/crates/editor/src/display_map/tab_map.rs +++ b/crates/editor/src/display_map/tab_map.rs @@ -506,14 +506,14 @@ mod tests { .map(|c| c.text) .collect::() ); - assert_eq!( - TextSummary { - longest_row: expected_summary.longest_row, - longest_row_chars: expected_summary.longest_row_chars, - ..tabs_snapshot.text_summary_for_range(start..end) - }, - expected_summary, - ); + + let mut actual_summary = tabs_snapshot.text_summary_for_range(start..end); + if tab_size > 1 && folds_snapshot.text().contains('\t') { + actual_summary.longest_row = expected_summary.longest_row; + actual_summary.longest_row_chars = expected_summary.longest_row_chars; + } + + assert_eq!(actual_summary, expected_summary,); } } } diff --git a/crates/editor/src/display_map/wrap_map.rs b/crates/editor/src/display_map/wrap_map.rs index b2ad95788238e07ba6b968fe911c088e62e27d8a..6e14df4dbb3e8d224facd217e913b3be208fcc13 100644 --- a/crates/editor/src/display_map/wrap_map.rs +++ b/crates/editor/src/display_map/wrap_map.rs @@ -1214,26 +1214,34 @@ mod tests { log::info!("{} summary: {:?}", ix, item.summary.output,); } - let mut expected_longest_rows = Vec::new(); - let mut longest_line_len = -1; - for (row, line) in expected_text.split('\n').enumerate() { - let line_char_count = line.chars().count() as isize; - if line_char_count > longest_line_len { - expected_longest_rows.clear(); - longest_line_len = line_char_count; - } - if line_char_count >= longest_line_len { - expected_longest_rows.push(row as u32); + if tab_size == 1 + || !wrapped_snapshot + .tab_snapshot + .fold_snapshot + .text() + .contains('\t') + { + let mut expected_longest_rows = Vec::new(); + let mut longest_line_len = -1; + for (row, line) in expected_text.split('\n').enumerate() { + let line_char_count = line.chars().count() as isize; + if line_char_count > longest_line_len { + expected_longest_rows.clear(); + longest_line_len = line_char_count; + } + if line_char_count >= longest_line_len { + expected_longest_rows.push(row as u32); + } } - } - assert!( - expected_longest_rows.contains(&actual_longest_row), - "incorrect longest row {}. expected {:?} with length {}", - actual_longest_row, - expected_longest_rows, - longest_line_len, - ) + assert!( + expected_longest_rows.contains(&actual_longest_row), + "incorrect longest row {}. expected {:?} with length {}", + actual_longest_row, + expected_longest_rows, + longest_line_len, + ) + } } }