mrmime 0.0.3

Small, explicit MIME type registry with fast lookup by type or extension.
#![cfg(feature = "serde")]

use mrmime::MimeType;
use serde_json::{from_str, to_string};

#[test]
fn serde_roundtrip_builtin() {
    // Use a built-in MIME type (enabled by default via `builtin` feature)
    let mt: MimeType = "application/json".parse().unwrap();

    let json = to_string(&mt).unwrap();
    assert_eq!(json, "\"application/json\"");

    let back: MimeType = from_str(&json).unwrap();
    assert_eq!(back, mt);
}

#[test]
fn serde_rejects_unregistered() {
    // Attempt to deserialize an unknown (unregistered) MIME type should fail
    let err = from_str::<MimeType>("\"application/unknown-type\"").unwrap_err();
    let msg = err.to_string();
    assert!(msg.contains("invalid value"), "unexpected error: {}", msg);
}