Enable soft wrap in randomized test of BlockMap
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
This commit is contained in:
parent
862b988d56
commit
7b12c1c9e0
1 changed files with 28 additions and 18 deletions
|
@ -505,10 +505,6 @@ impl Transform {
|
||||||
fn is_isomorphic(&self) -> bool {
|
fn is_isomorphic(&self) -> bool {
|
||||||
self.block.is_none()
|
self.block.is_none()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn block_disposition(&self) -> Option<BlockDisposition> {
|
|
||||||
self.block.as_ref().map(|b| b.disposition)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> Iterator for HighlightedChunks<'a> {
|
impl<'a> Iterator for HighlightedChunks<'a> {
|
||||||
|
@ -815,7 +811,11 @@ mod tests {
|
||||||
.map(|i| i.parse().expect("invalid `OPERATIONS` variable"))
|
.map(|i| i.parse().expect("invalid `OPERATIONS` variable"))
|
||||||
.unwrap_or(10);
|
.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 tab_size = 1;
|
||||||
let family_id = cx.font_cache().load_family(&["Helvetica"]).unwrap();
|
let family_id = cx.font_cache().load_family(&["Helvetica"]).unwrap();
|
||||||
let font_id = cx
|
let font_id = cx
|
||||||
|
@ -841,15 +841,15 @@ mod tests {
|
||||||
|
|
||||||
for _ in 0..operations {
|
for _ in 0..operations {
|
||||||
match rng.gen_range(0..=100) {
|
match rng.gen_range(0..=100) {
|
||||||
// 0..=19 => {
|
0..=19 => {
|
||||||
// let wrap_width = if rng.gen_bool(0.2) {
|
let wrap_width = if rng.gen_bool(0.2) {
|
||||||
// None
|
None
|
||||||
// } else {
|
} else {
|
||||||
// Some(rng.gen_range(0.0..=1000.0))
|
Some(rng.gen_range(0.0..=100.0))
|
||||||
// };
|
};
|
||||||
// log::info!("Setting wrap width to {:?}", wrap_width);
|
log::info!("Setting wrap width to {:?}", wrap_width);
|
||||||
// wrap_map.update(cx, |map, cx| map.set_wrap_width(wrap_width, cx));
|
wrap_map.update(cx, |map, cx| map.set_wrap_width(wrap_width, cx));
|
||||||
// }
|
}
|
||||||
20..=39 => {
|
20..=39 => {
|
||||||
let block_count = rng.gen_range(1..=1);
|
let block_count = rng.gen_range(1..=1);
|
||||||
let block_properties = (0..block_count)
|
let block_properties = (0..block_count)
|
||||||
|
@ -938,10 +938,20 @@ mod tests {
|
||||||
.iter()
|
.iter()
|
||||||
.cloned()
|
.cloned()
|
||||||
.map(|(id, block)| {
|
.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,
|
id,
|
||||||
BlockProperties {
|
BlockProperties {
|
||||||
position: block.position.to_point(buffer),
|
position: row,
|
||||||
text: block.text,
|
text: block.text,
|
||||||
runs: block.runs,
|
runs: block.runs,
|
||||||
disposition: block.disposition,
|
disposition: block.disposition,
|
||||||
|
@ -950,7 +960,7 @@ mod tests {
|
||||||
})
|
})
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
sorted_blocks
|
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 sorted_blocks = sorted_blocks.into_iter().peekable();
|
||||||
|
|
||||||
let mut expected_text = String::new();
|
let mut expected_text = String::new();
|
||||||
|
@ -962,7 +972,7 @@ mod tests {
|
||||||
}
|
}
|
||||||
|
|
||||||
while let Some((_, block)) = sorted_blocks.peek() {
|
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.extend(block.text.chunks());
|
||||||
expected_text.push('\n');
|
expected_text.push('\n');
|
||||||
sorted_blocks.next();
|
sorted_blocks.next();
|
||||||
|
@ -974,7 +984,7 @@ mod tests {
|
||||||
expected_text.push_str(input_line);
|
expected_text.push_str(input_line);
|
||||||
|
|
||||||
while let Some((_, block)) = sorted_blocks.peek() {
|
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.push('\n');
|
||||||
expected_text.extend(block.text.chunks());
|
expected_text.extend(block.text.chunks());
|
||||||
sorted_blocks.next();
|
sorted_blocks.next();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue