rfsapi 0.2.0

Raw Filesystem API -- enable simpler browsing with ease
Documentation
use rfsapi::util::parse_rfc3339;
use serde_json::{self, Value};
use rfsapi::RawFileData;


#[test]
fn serialize() {
    assert_eq!(serde_json::to_value(RawFileData {
                                        mime_type: "text/plain".parse().unwrap(),
                                        name: "capitalism.txt".to_string(),
                                        last_modified: parse_rfc3339("2013-02-05T16:20:46Z").unwrap(),
                                        size: 1023,
                                        is_file: true,
                                    })
                       .unwrap(),
               Value::Object(vec![("mime_type".to_string(), Value::String("text/plain".to_string())),
                                  ("name".to_string(), Value::String("capitalism.txt".to_string())),
                                  ("last_modified".to_string(), Value::String("2013-02-05T16:20:46Z".to_string())),
                                  ("size".to_string(), Value::Number(1023.into())),
                                  ("is_file".to_string(), Value::Bool(true))]
                                     .into_iter()
                                     .collect()));
}

#[test]
fn deserialize() {
    assert_eq!(serde_json::from_value::<RawFileData>(Value::Object(vec![("mime_type".to_string(), Value::String("text/directory".to_string())),
                                                                        ("name".to_string(), Value::String("kaschism".to_string())),
                                                                        ("last_modified".to_string(), Value::String("2013-02-05T16:20:46Z".to_string())),
                                                                        ("size".to_string(), Value::Number(0.into())),
                                                                        ("is_file".to_string(), Value::Bool(false))]
                                                                           .into_iter()
                                                                           .collect()))
                       .unwrap(),
               RawFileData {
                   mime_type: "text/directory".parse().unwrap(),
                   name: "kaschism".to_string(),
                   last_modified: parse_rfc3339("2013-02-05T16:20:46Z").unwrap(),
                   size: 0,
                   is_file: false,
               });
}