diff --git a/WINGs/wings-rs-tests/Makefile.am b/WINGs/wings-rs-tests/Makefile.am index ec5fb970..78d6f4c8 100644 --- a/WINGs/wings-rs-tests/Makefile.am +++ b/WINGs/wings-rs-tests/Makefile.am @@ -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 \ diff --git a/WINGs/wings-rs-tests/build.rs b/WINGs/wings-rs-tests/build.rs index 79eb0cc6..4dacd121 100644 --- a/WINGs/wings-rs-tests/build.rs +++ b/WINGs/wings-rs-tests/build.rs @@ -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"); } diff --git a/WINGs/wings-rs-tests/examples/font_panel.rs b/WINGs/wings-rs-tests/examples/font_panel.rs new file mode 100644 index 00000000..bbcf6104 --- /dev/null +++ b/WINGs/wings-rs-tests/examples/font_panel.rs @@ -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()); + } +} diff --git a/WINGs/wings-rs-tests/tests/font_panel_tests.rs b/WINGs/wings-rs-tests/tests/font_panel_tests.rs new file mode 100644 index 00000000..0e8f0a36 --- /dev/null +++ b/WINGs/wings-rs-tests/tests/font_panel_tests.rs @@ -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()); +} diff --git a/WINGs/wings-rs-tests/tests/snapshots/font_panel_tests__font_panel.snap b/WINGs/wings-rs-tests/tests/snapshots/font_panel_tests__font_panel.snap new file mode 100644 index 00000000..fe2be503 --- /dev/null +++ b/WINGs/wings-rs-tests/tests/snapshots/font_panel_tests__font_panel.snap @@ -0,0 +1,7 @@ +--- +source: tests/font_panel_tests.rs +assertion_line: 16 +expression: app.xvfb.png_screenshot() +extension: png +snapshot_kind: binary +--- diff --git a/WINGs/wings-rs-tests/tests/snapshots/font_panel_tests__font_panel.snap.png b/WINGs/wings-rs-tests/tests/snapshots/font_panel_tests__font_panel.snap.png new file mode 100644 index 00000000..e3000130 Binary files /dev/null and b/WINGs/wings-rs-tests/tests/snapshots/font_panel_tests__font_panel.snap.png differ