//! kv-model URL matching: never panics, a URL always matches itself at least at host level, and an //! https item never matches an http page. #![no_main] use kv_model::{match_url, MatchLevel}; use libfuzzer_sys::fuzz_target; fuzz_target!(|data: &[u8]| { let Ok(s) = std::str::from_utf8(data) else { return }; let (a, b) = s.split_once('\n').unwrap_or((s, "")); let m = match_url(a, b); if b.trim_start().to_ascii_lowercase().starts_with("http://") && a.trim_start().to_ascii_lowercase().starts_with("https://") { assert_eq!(m, MatchLevel::None, "downgrade matched: {a:?} -> {b:?}"); } let _ = match_url(a, a); });