#![cfg(all(debug_assertions, feature = "dynamic"))]
use log::{Level, LevelFilter, Log, Metadata, Record};
use pinkie::css;
struct PanicOnWarn;
impl Log for PanicOnWarn {
fn enabled(&self, metadata: &Metadata) -> bool {
metadata.level() <= Level::Warn
}
fn log(&self, record: &Record) {
if record.level() <= Level::Warn {
panic!("dynamic collection fell back to static: {}", record.args());
}
}
fn flush(&self) {}
}
fn tricky() -> pinkie::Style {
css! {
content: "}";
r"&:hover { color: blue; }"
}
}
#[test]
fn dynamic_collect_reads_sources() {
log::set_logger(&PanicOnWarn).unwrap();
log::set_max_level(LevelFilter::Warn);
let style = tricky();
let css = pinkie::collect();
assert!(
css.contains(style.css),
"dynamic output diverged from static\n dynamic: {css}\n static: {}",
style.css
);
}