Enable soft wrap in randomized test of BlockMap

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
This commit is contained in:
Nathan Sobo 2021-11-15 16:59:02 -07:00
parent 862b988d56
commit 7b12c1c9e0

View file

@ -505,10 +505,6 @@ impl Transform {
fn is_isomorphic(&self) -> bool {
self.block.is_none()
}
fn block_disposition(&self) -> Option<BlockDisposition> {
self.block.as_ref().map(|b| b.disposition)
}
}
impl<'a> Iterator for HighlightedChunks<'a> {
@ -815,7 +811,11 @@ mod tests {
.map(|i| i.parse().expect("invalid `OPERATIONS` variable"))
.unwrap_or(10);
let wrap_width = None;
let wrap_width = if rng.gen_bool(0.2) {
None
} else {
Some(rng.gen_range(0.0..=100.0))
};
let tab_size = 1;
let family_id = cx.font_cache().load_family(&["Helvetica"]).unwrap();
let font_id = cx
@ -841,15 +841,15 @@ mod tests {
for _ in 0..operations {
match rng.gen_range(0..=100) {
// 0..=19 => {
// let wrap_width = if rng.gen_bool(0.2) {
// None
// } else {
// Some(rng.gen_range(0.0..=1000.0))
// };
// log::info!("Setting wrap width to {:?}", wrap_width);
// wrap_map.update(cx, |map, cx| map.set_wrap_width(wrap_width, cx));
// }
0..=19 => {
let wrap_width = if rng.gen_bool(0.2) {
None
} else {
Some(rng.gen_range(0.0..=100.0))
};
log::info!("Setting wrap width to {:?}", wrap_width);
wrap_map.update(cx, |map, cx| map.set_wrap_width(wrap_width, cx));
}
20..=39 => {
let block_count = rng.gen_range(1..=1);
let block_properties = (0..block_count)
@ -938,10 +938,20 @@ mod tests {
.iter()
.cloned()
.map(|(id, block)| {
let mut position = block.position.to_point(buffer);
match block.disposition {
BlockDisposition::Above => {
position.column = 0;
}
BlockDisposition::Below => {
position.column = buffer.line_len(position.row);
}
};
let row = wraps_snapshot.from_point(position, Bias::Left).row();
(
id,
BlockProperties {
position: block.position.to_point(buffer),
position: row,
text: block.text,
runs: block.runs,
disposition: block.disposition,
@ -950,7 +960,7 @@ mod tests {
})
.collect::<Vec<_>>();
sorted_blocks
.sort_unstable_by_key(|(id, block)| (block.position.row, block.disposition, *id));
.sort_unstable_by_key(|(id, block)| (block.position, block.disposition, *id));
let mut sorted_blocks = sorted_blocks.into_iter().peekable();
let mut expected_text = String::new();
@ -962,7 +972,7 @@ mod tests {
}
while let Some((_, block)) = sorted_blocks.peek() {
if block.position.row == row && block.disposition == BlockDisposition::Above {
if block.position == row && block.disposition == BlockDisposition::Above {
expected_text.extend(block.text.chunks());
expected_text.push('\n');
sorted_blocks.next();
@ -974,7 +984,7 @@ mod tests {
expected_text.push_str(input_line);
while let Some((_, block)) = sorted_blocks.peek() {
if block.position.row == row && block.disposition == BlockDisposition::Below {
if block.position == row && block.disposition == BlockDisposition::Below {
expected_text.push('\n');
expected_text.extend(block.text.chunks());
sorted_blocks.next();