e4e890a147
桌面壳窗口状态 flags 抽成可测试函数并覆盖排除可见性全屏和装饰状态 桌面壳配置门禁反查窗口状态 flags 单测边界 宿主壳方案协议和共享决策同步窗口状态验收口径
31 lines
942 B
Rust
31 lines
942 B
Rust
use tauri::plugin::TauriPlugin;
|
|
use tauri::Runtime;
|
|
use tauri_plugin_window_state::StateFlags;
|
|
|
|
fn desktop_window_state_flags() -> StateFlags {
|
|
StateFlags::SIZE | StateFlags::POSITION | StateFlags::MAXIMIZED
|
|
}
|
|
|
|
pub(crate) fn desktop_window_state_plugin<R: Runtime>() -> TauriPlugin<R> {
|
|
tauri_plugin_window_state::Builder::default()
|
|
.with_state_flags(desktop_window_state_flags())
|
|
.build()
|
|
}
|
|
|
|
#[cfg(test)]
|
|
mod tests {
|
|
use super::*;
|
|
|
|
#[test]
|
|
fn desktop_window_state_flags_keep_visible_state_out_of_persistence() {
|
|
let flags = desktop_window_state_flags();
|
|
|
|
assert!(flags.contains(StateFlags::SIZE));
|
|
assert!(flags.contains(StateFlags::POSITION));
|
|
assert!(flags.contains(StateFlags::MAXIMIZED));
|
|
assert!(!flags.contains(StateFlags::VISIBLE));
|
|
assert!(!flags.contains(StateFlags::FULLSCREEN));
|
|
assert!(!flags.contains(StateFlags::DECORATIONS));
|
|
}
|
|
}
|