audit menu
This commit is contained in:
@@ -112,6 +112,28 @@ fn click(visual: &mut VisualTestContext, position: gpui::Point<gpui::Pixels>) {
|
||||
visual.simulate_mouse_up(position, MouseButton::Left, Modifiers::default());
|
||||
}
|
||||
|
||||
/// Every action row renders at the platform's stated menu row height,
|
||||
/// whatever its content — the metric is the whole row, not a floor under
|
||||
/// padding. Item 1 of the harness menu is a separator, so it is skipped.
|
||||
#[test]
|
||||
fn rows_render_at_the_stated_menu_row_height() {
|
||||
let (cx, mut visual, _window, _changes, _activated) = menu_window(true);
|
||||
|
||||
let stated = cx.update(|cx| Theme::global(cx).sizes.medium.menu_item_height);
|
||||
for index in [0, 2, 3, 4] {
|
||||
let selector: &'static str = Box::leak(format!("menu-item-{index}").into_boxed_str());
|
||||
let row = visual
|
||||
.debug_bounds(selector)
|
||||
.unwrap_or_else(|| panic!("row {index} should have been laid out"));
|
||||
// Painted bounds are snapped to device pixels; allow half a pixel.
|
||||
assert!(
|
||||
(row.size.height - stated).abs() <= px(0.5),
|
||||
"row {index} is {:?} tall, stated menu row height is {stated:?}",
|
||||
row.size.height
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn arrow_navigation_skips_separators_and_disabled_items() {
|
||||
let (_cx, mut visual, _window, changes, activated) = menu_window(true);
|
||||
|
||||
Reference in New Issue
Block a user