#[cfg(test)]
mod tests {
use crossterm::event::*;
use r3bl_rs_utils_core::*;
use crate::*;
#[test]
fn test_convert_mouse_event_mouse_moved() {
{
let mouse_event: MouseEvent = MouseEvent {
kind: MouseEventKind::Moved,
column: 0,
row: 0,
modifiers: KeyModifiers::SHIFT,
};
let converted_mouse_input: MouseInput = mouse_event.into();
assert_eq2!(converted_mouse_input.kind, MouseInputKind::MouseMove);
assert_eq2!(
converted_mouse_input.pos,
position!(col_index: 0, row_index: 0)
);
assert_eq2!(
converted_mouse_input.maybe_modifier_keys,
Some(ModifierKeysMask::SHIFT)
);
}
{
let mouse_event: MouseEvent = MouseEvent {
kind: MouseEventKind::Moved,
column: 0,
row: 0,
modifiers: KeyModifiers::NONE,
};
let converted_mouse_input: MouseInput = mouse_event.into();
assert_eq2!(converted_mouse_input.kind, MouseInputKind::MouseMove);
assert_eq2!(
converted_mouse_input.pos,
position!(col_index: 0, row_index: 0)
);
}
}
#[test]
fn test_convert_mouse_event_mouse_scroll() {
{
let mouse_event: MouseEvent = MouseEvent {
kind: MouseEventKind::ScrollDown,
column: 0,
row: 0,
modifiers: KeyModifiers::NONE,
};
let converted_mouse_input: MouseInput = mouse_event.into();
assert_eq2!(converted_mouse_input.kind, MouseInputKind::ScrollDown);
assert_eq2!(
converted_mouse_input.pos,
position!(col_index: 0, row_index: 0)
);
}
{
let mouse_event: MouseEvent = MouseEvent {
kind: MouseEventKind::ScrollUp,
column: 0,
row: 0,
modifiers: KeyModifiers::NONE,
};
let converted_mouse_input: MouseInput = mouse_event.into();
assert_eq2!(converted_mouse_input.kind, MouseInputKind::ScrollUp);
assert_eq2!(
converted_mouse_input.pos,
position!(col_index: 0, row_index: 0)
);
}
}
#[test]
fn test_convert_mouse_event_mouse_click() {
{
let mouse_event: MouseEvent = MouseEvent {
kind: MouseEventKind::Down(MouseButton::Left),
column: 0,
row: 0,
modifiers: KeyModifiers::NONE,
};
let converted_mouse_input: MouseInput = mouse_event.into();
assert_eq2!(
converted_mouse_input.kind,
MouseInputKind::MouseDown(Button::Left)
);
assert_eq2!(
converted_mouse_input.pos,
position!(col_index: 0, row_index: 0)
);
}
{
let mouse_event: MouseEvent = MouseEvent {
kind: MouseEventKind::Down(MouseButton::Left),
column: 0,
row: 0,
modifiers: KeyModifiers::SHIFT,
};
let converted_mouse_input: MouseInput = mouse_event.into();
assert_eq2!(
converted_mouse_input.kind,
MouseInputKind::MouseDown(Button::Left)
);
assert_eq2!(
converted_mouse_input.pos,
position!(col_index: 0, row_index: 0)
);
assert_eq2!(
converted_mouse_input.maybe_modifier_keys,
Some(ModifierKeysMask::SHIFT)
);
}
{
let mouse_event: MouseEvent = MouseEvent {
kind: MouseEventKind::Up(MouseButton::Left),
column: 0,
row: 0,
modifiers: KeyModifiers::NONE,
};
let converted_mouse_input: MouseInput = mouse_event.into();
assert_eq2!(
converted_mouse_input.kind,
MouseInputKind::MouseUp(Button::Left)
);
assert_eq2!(
converted_mouse_input.pos,
position!(col_index: 0, row_index: 0)
);
}
}
#[test]
fn test_convert_mouse_event_mouse_drag() {
{
let mouse_event: MouseEvent = MouseEvent {
kind: MouseEventKind::Drag(MouseButton::Left),
column: 0,
row: 0,
modifiers: KeyModifiers::NONE,
};
let converted_mouse_input: MouseInput = mouse_event.into();
assert_eq2!(
converted_mouse_input.kind,
MouseInputKind::MouseDrag(Button::Left)
);
assert_eq2!(
converted_mouse_input.pos,
position!(col_index: 0, row_index: 0)
);
}
{
let mouse_event: MouseEvent = MouseEvent {
kind: MouseEventKind::Drag(MouseButton::Left),
column: 0,
row: 0,
modifiers: KeyModifiers::SHIFT | KeyModifiers::ALT,
};
let converted_mouse_input: MouseInput = mouse_event.into();
assert_eq2!(
converted_mouse_input.kind,
MouseInputKind::MouseDrag(Button::Left)
);
assert_eq2!(
converted_mouse_input.pos,
position!(col_index: 0, row_index: 0)
);
assert_eq2!(
converted_mouse_input.maybe_modifier_keys,
Some(ModifierKeysMask::SHIFT | ModifierKeysMask::ALT)
);
}
}
}