#[test]
fn cookbook_embedded_chapter_surface_paths_resolve() {
let _: fn() -> bool = rust_widgets::supports_surfaces;
let geometry = rust_widgets::platform::SurfaceGeometry::tight(320, 240);
let mut buffer = rust_widgets::platform::FrameBuffer::new();
assert!(buffer.resize(geometry), "a tightly packed geometry must be usable");
let frame = buffer.frame_mut();
assert_eq!(frame.len(), 320 * 240 * 4);
}
#[cfg(device_profile)]
#[test]
fn cookbook_embedded_chapter_capability_queries_resolve() {
let _: fn() -> &'static str = rust_widgets::platform::backend_name;
let caps = rust_widgets::platform::capabilities();
let _ = (caps.ime, caps.accessibility, caps.dpi_scaling);
let _ = rust_widgets::platform::get_platform();
}
#[test]
fn cookbook_embedded_chapter_no_longer_names_a_missing_module() {
let chapter = include_str!("../cookbook/en/src/chapters/embedded.md");
let offending: Vec<&str> = chapter
.lines()
.filter(|line| line.trim_start().starts_with("use rust_widgets::embedded::"))
.collect();
assert!(
offending.is_empty(),
"the embedded chapter has code importing `rust_widgets::embedded::…`, which does not \
exist in the crate: {offending:?} — either add the module or fix the chapter"
);
assert!(chapter.contains("supports_surfaces"));
assert!(chapter.contains("SurfaceGeometry"));
let advanced = include_str!("../cookbook/en/src/chapters/advanced-topics.md");
let stale: Vec<&str> = advanced
.lines()
.filter(|line| line.trim_start().starts_with("use rust_widgets::embedded::"))
.collect();
assert!(
stale.is_empty(),
"advanced-topics.md imports `rust_widgets::embedded::…`, which does not exist in the \
crate: {stale:?}"
);
}