rustybook-messenger 0.2.0

Messenger client for Rustybook
Documentation
#[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));
    }
}