dir-embed 0.3.0

Like include_bytes! for directories
Documentation
use dir_embed::Embed;

#[derive(Embed)]
#[dir = "./../testdata/bytes/"]
#[mode = "mime"]
pub struct Assets;

#[test]
fn mime_get() {
    assert!(Assets::get("file1.txt").is_some());
}

#[test]
fn mime_get_missing() {
    assert!(Assets::get("missing.txt").is_none());
}

#[test]
fn mime_read_content() {
    let content_should = "file1".as_bytes();
    let content_is = Assets::get("file1.txt").unwrap();
    assert_eq!(*content_is.0, *content_should);
}

#[test]
fn mime_parse_string() {
    let file: &[u8] = Assets::get("file1.txt").expect("Can't find file").0;
    let string = str::from_utf8(file).expect("Failed to parse file");

    assert_eq!(string, "file1");
}

#[test]
fn mime_sub_directories_get() {
    assert!(Assets::get("sub/file2.txt").is_some());
}

#[test]
fn mime_sub_directories_content() {
    let content_should = "file2".as_bytes();
    let content_is = Assets::get("sub/file2.txt").unwrap();
    assert_eq!(*content_is.0, *content_should);
}

#[test]
fn mime_type_html() {
    let file = Assets::get("index.html").unwrap();
    assert_eq!(file.1, "text/html");
}

#[test]
fn mime_type_plain() {
    let file = Assets::get("file1.txt").unwrap();
    assert_eq!(file.1, "text/plain");
}

#[test]
fn mime_default_type() {
    let file = Assets::get("bin").unwrap();
    assert_eq!(file.1, "application/octet-stream");
}