mrmime 0.0.2

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

use mrmime::MimeType;
// Validate that we can pull the public builtin consts
use mrmime::builtin::{APPLICATION_JSON, IMAGE_JPEG, IMAGE_PNG, TEXT_HTML, VIDEO_MP4};

#[test]
fn builtin_consts_have_expected_values() {
    assert_eq!(TEXT_HTML.as_str(), "text/html");
    assert_eq!(TEXT_HTML.extensions(), &["html", "htm"]);

    assert_eq!(APPLICATION_JSON.as_str(), "application/json");
    assert_eq!(APPLICATION_JSON.extensions(), &["json", "map"]);

    assert_eq!(IMAGE_PNG.as_str(), "image/png");
    assert_eq!(IMAGE_JPEG.as_str(), "image/jpeg");
    assert_eq!(VIDEO_MP4.as_str(), "video/mp4");
}

#[test]
fn builtin_consts_match_extension_lookup() {
    assert_eq!(MimeType::from_extension("htm").unwrap(), TEXT_HTML);
    assert_eq!(MimeType::from_extension("json").unwrap(), APPLICATION_JSON);
    assert_eq!(MimeType::from_extension("png").unwrap(), IMAGE_PNG);
    assert_eq!(MimeType::from_extension("jpg").unwrap(), IMAGE_JPEG);
}