#[cfg(test)]
use serde_json::Value;
pub fn strip_json_guard(text: &str) -> &str {
text.trim_start_matches("for (;;);")
}
#[cfg(test)]
pub fn parse_json_guarded(text: &str) -> Result<Value, serde_json::Error> {
serde_json::from_str(strip_json_guard(text))
}
#[cfg(test)]
mod tests {
use super::parse_json_guarded;
#[test]
fn parses_json_with_guard_prefix() {
let parsed = match parse_json_guarded("for (;;);{\"a\":1}") {
Ok(parsed) => parsed,
Err(error) => panic!("failed to parse guarded json: {error}"),
};
let value = parsed.get("a").and_then(serde_json::Value::as_i64);
assert_eq!(value, Some(1));
}
}