Fix shared element state across component instances
This commit is contained in:
@@ -151,6 +151,28 @@ fn moves_without_a_drag_report_nothing() {
|
||||
assert!(deltas.borrow().is_empty());
|
||||
}
|
||||
|
||||
/// The button may be released outside the window, where no MouseUp is
|
||||
/// delivered — the drag must end when a move reports no pressed button.
|
||||
#[test]
|
||||
fn releasing_outside_the_window_ends_the_drag() {
|
||||
let (_cx, deltas, _resets, mut visual) = handle_window(Axis::Horizontal, false);
|
||||
let start = handle_center(&mut visual);
|
||||
|
||||
visual.simulate_mouse_down(start, MouseButton::Left, Modifiers::default());
|
||||
visual.simulate_event(MouseMoveEvent {
|
||||
position: point(start.x + px(30.), start.y),
|
||||
pressed_button: None,
|
||||
modifiers: Modifiers::default(),
|
||||
});
|
||||
visual.simulate_event(MouseMoveEvent {
|
||||
position: point(start.x + px(60.), start.y),
|
||||
pressed_button: None,
|
||||
modifiers: Modifiers::default(),
|
||||
});
|
||||
|
||||
assert!(deltas.borrow().is_empty(), "the drag outlived its button");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn arrow_keys_move_the_seam_when_focused() {
|
||||
let (_cx, deltas, _resets, mut visual) = handle_window(Axis::Horizontal, false);
|
||||
|
||||
Reference in New Issue
Block a user