Files
pdfcraft/crates/ui-egui/tests/it/main.rs
T
Perchenko Anton d47adeff89 M4: bind property drafts with edit-session and replay UI scenarios (#4594)
Binds Properties dialog drafts to the vendored edit-session crate (byte-identical to PerchAnton/edit-session@033f7c3a, ledger in vendor/README) and adds replayable UI scenarios. Includes a merge of main and a test covering the clean Properties inspection-tab live refresh.
2026-11-10 20:22:58 +01:00

104 lines
2.4 KiB
Rust

//! The crate's integration tests, linked into one test binary. `perf.rs` keeps its own process:
//! its frame-time budgets would charge each measurement for the other tests running beside it.
mod support;
/// Tests that render pixels (`h.render()`) take this first, so only one wgpu device exists at a
/// time. Lavapipe crashes when another test creates its Vulkan instance meanwhile (segfault in
/// `vkCreateSampler` during a concurrent `vkCreateInstance`). On machines without a GPU, wgpu falls
/// back to Microsoft's WARP, whose ARM64 pixel-shader JIT crashes (access violation in
/// `d3d10warp!PixelJitProgram::ClassifyVars`) when two devices compile at once, as on GitHub's
/// Windows 11 ARM64 runner. Hold it for the whole test (declared before the harness, so it's
/// released after the device is dropped).
static GPU: std::sync::Mutex<()> = std::sync::Mutex::new(());
fn gpu() -> std::sync::MutexGuard<'static, ()> {
// A test that panicked while holding it leaves nothing to clean up.
GPU.lock().unwrap_or_else(std::sync::PoisonError::into_inner)
}
mod accessibility;
mod actions;
mod animate;
mod attach_picker_target;
mod attachment_row;
mod bookmark_position;
mod bookmarks;
mod bulk_fields;
mod buttons;
mod camera;
mod column_select;
mod combine_grid;
mod commands;
mod comment_pin;
mod comments;
mod compare;
mod content;
mod control;
mod create;
mod date_format;
mod dialog_chrome;
mod document_links;
mod download_mime;
mod editing;
mod editor_taps;
mod export;
mod fill_sign;
mod find_replace;
mod folders;
mod fonts;
mod forms;
mod identity;
mod javascript;
mod layer_actions;
mod links;
mod marks;
mod min_window;
mod object_selection;
mod ocr;
mod open_action;
mod organize_drag;
mod pageboxes;
mod panel_snapshots;
mod paste_ownership;
mod pdf_links;
mod pickers;
mod pinned_tools;
mod pointer;
mod portfolio;
mod preferences_layout;
mod prepare;
mod print;
mod print_custom_paper_names;
mod print_late_printer_list;
mod properties_session;
mod protect;
mod reading_colors;
mod recent_files;
mod recovery;
mod redact;
mod reload;
mod scan_clean;
mod script_noop;
mod scroll_prefetch;
mod search_position;
mod side_panels;
mod signing;
mod snapshot_tabs;
mod split_view;
mod split_view_edits;
mod split_view_find;
mod split_view_render;
mod stamps;
mod status_layers;
mod text_select;
mod theme;
mod theme_button;
mod trust_signer;
mod ui;
mod updates;
mod view;
mod viewer;
mod viewer_prefs;
mod xfa;