Create an integration test for the WMFontPanel widget.

This commit was merged in pull request #23.
This commit is contained in:
2026-02-25 23:05:11 -05:00
parent d4c8f986a6
commit 2aa0b0bf53
6 changed files with 59 additions and 4 deletions

View File

@@ -1,10 +1,8 @@
AUTOMAKE_OPTIONS =
RUST_SOURCES = \
src/lib.rs \
examples/font_panel.rs \
src/headless/mod.rs \
src/headless/xvfb.rs \
src/headless/xwd.rs \
src/headless/snapshots/wings_rs_tests__headless__xvfb__tests__blank_screen.snap \
src/headless/snapshots/wings_rs_tests__headless__xvfb__tests__blank_screen.snap.png \
src/headless/snapshots/wings_rs_tests__headless__xvfb__tests__snowlamp_in_window.snap \
@@ -12,7 +10,14 @@ RUST_SOURCES = \
src/headless/snapshots/wings_rs_tests__headless__xvfb__tests__xeyes.snap \
src/headless/snapshots/wings_rs_tests__headless__xvfb__tests__xeyes.snap.png \
src/headless/snapshots/wings_rs_tests__headless__xwd__tests__snowlamp_encoded.snap \
src/headless/snapshots/wings_rs_tests__headless__xwd__tests__snowlamp_encoded.snap.png
src/headless/snapshots/wings_rs_tests__headless__xwd__tests__snowlamp_encoded.snap.png \
src/headless/snowlamp.xwd \
src/headless/xvfb.rs \
src/headless/xwd.rs \
src/lib.rs \
tests/font_panel_tests.rs \
tests/snapshots/font_panel_tests__font_panel.snap \
tests/snapshots/font_panel_tests__font_panel.snap.png
RUST_EXTRA = \
Cargo.lock \

View File

@@ -3,4 +3,21 @@ fn main() {
println!("cargo:rustc-link-lib=static=xcb");
println!("cargo:rustc-link-lib=static=Xau");
println!("cargo:rustc-link-lib=static=Xdmcp");
println!("cargo::rustc-link-search=../.libs");
println!("cargo::rustc-link-arg-tests=-lWUtil");
println!("cargo::rustc-link-arg-tests=-lWINGs");
println!("cargo::rustc-link-arg-tests=-lX11");
println!("cargo::rustc-link-arg-tests=-lXft");
println!("cargo::rustc-link-arg-tests=-lpango-1.0");
println!("cargo::rustc-link-arg-tests=-lpangoxft-1.0");
println!("cargo::rustc-link-arg-tests=-lpangoft2-1.0");
println!("cargo::rustc-link-arg-examples=-lWUtil");
println!("cargo::rustc-link-arg-examples=-lWINGs");
println!("cargo::rustc-link-arg-examples=-lX11");
println!("cargo::rustc-link-arg-examples=-lXft");
println!("cargo::rustc-link-arg-examples=-lpango-1.0");
println!("cargo::rustc-link-arg-examples=-lpangoxft-1.0");
println!("cargo::rustc-link-arg-examples=-lpangoft2-1.0");
}

View File

@@ -0,0 +1,11 @@
use wings_rs::WINGsP::{WMGetFontPanel, WMScreenMainLoop, WMShowFontPanel};
use wings_rs_tests::LiveApplication;
fn main() {
let app = LiveApplication::new("WMFontPanel");
unsafe {
let font_panel = WMGetFontPanel(app.screen.as_ptr());
WMShowFontPanel(font_panel);
WMScreenMainLoop(app.screen.as_ptr());
}
}

View File

@@ -0,0 +1,15 @@
use std::time::Instant;
use insta_image::assert_png_snapshot;
use wings_rs::WINGsP::{WMGetFontPanel, WMShowFontPanel};
use wings_rs_tests::HeadlessApplication;
#[test]
fn show_font_panel() {
let mut app = HeadlessApplication::new();
unsafe {
let font_panel = WMGetFontPanel(app.screen.as_ptr());
WMShowFontPanel(font_panel);
}
while app.pump_event_queue(Instant::now()) {}
assert_png_snapshot!("font_panel", app.xvfb.png_screenshot());
}

View File

@@ -0,0 +1,7 @@
---
source: tests/font_panel_tests.rs
assertion_line: 16
expression: app.xvfb.png_screenshot()
extension: png
snapshot_kind: binary
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB