Panics · P11 Motion: a buffer behind the value draws none

This commit is contained in:
ZacharyZhang-NY committed 2026-10-06 17:21:29 -04:00
1 parent 4c86e831bb
commit c9f492d0b4
3 files changed
+11 -14

No files matched your search

+9 -7
View File
@@ -75,14 +75,10 @@ impl ProgressBar {
}
}
/// What has loaded ahead of the value, drawn fainter.
/// What has loaded ahead of the value, drawn fainter; none when it lies behind, as after a seek.
pub fn buffer(mut self, buffer: f32) -> Self {
let value = self.value.expect("an indeterminate bar has no buffer");
assert!(
checked(buffer, "buffer") >= value,
"buffer {buffer} is behind {value}"
);
self.buffer = Some(buffer);
self.buffer = (checked(buffer, "buffer") > value).then_some(buffer);
self
}
@@ -287,11 +283,17 @@ impl RenderOnce for ProgressRing {
mod tests {
use gpui::div;
use super::ProgressRing;
use super::{ProgressBar, ProgressRing};
#[test]
#[should_panic(expected = "a percent or content inside, not both")]
fn a_ring_holds_a_percent_or_content_not_both() {
let _ = ProgressRing::new("ring", 0.5).inside(div()).percent();
}
#[test]
fn a_buffer_ahead_shows_and_one_behind_does_not() {
assert_eq!(ProgressBar::new("bar", 0.4).buffer(0.7).buffer, Some(0.7));
assert_eq!(ProgressBar::new("bar", 0.6).buffer(0.4).buffer, None);
}
}
-6
View File
@@ -98,12 +98,6 @@ fn a_lazy_row_builds_once_it_scrolls_into_view(cx: &mut TestAppContext) {
assert!(built.get() >= 1, "the row was built");
}
#[test]
#[should_panic(expected = "is behind")]
fn a_buffer_behind_the_value_is_refused() {
let _ = ProgressBar::new("bar", 0.6).buffer(0.4);
}
#[test]
#[should_panic(expected = "not 0..=1")]
fn a_value_past_whole_is_refused() {