rustpub 0.1.7

An implementation of the Activitypub types
Documentation
#[cfg(test)]
mod test {
    use rustpub::simple::core::*;

    macro_rules! parse_test {
        ($name:ident, $($cases:expr),+) => {
            #[test]
            fn $name() {
                let cases = vec![
                    $($cases),+
                ];
                println!();
                for case in cases {
                    println!("{}", case);
                    let parsed: Box<Object> = serde_json::from_str(case).unwrap();
                    println!("{:?}", parsed);
                    let serialized: String = serde_json::to_string(&parsed).unwrap();
                    println!("{}", serialized);
                }
            }
        };
    }

    parse_test!(attachment, include_str!("../tests/attachment_1.json"));

    parse_test!(
        attributed_to,
        include_str!("../tests/attributed_to_1.json"),
        include_str!("../tests/attributed_to_2.json")
    );

    parse_test!(audience, include_str!("../tests/audience_1.json"));

    parse_test!(
        content,
        include_str!("../tests/content_1.json"),
        include_str!("../tests/content_2.json"),
        include_str!("../tests/content_3.json")
    );

    parse_test!(context, include_str!("../tests/context_1.json"));

    parse_test!(generator, include_str!("../tests/generator_1.json"));

    parse_test!(
        in_reply_to,
        include_str!("../tests/in_reply_to_1.json"),
        include_str!("../tests/in_reply_to_2.json")
    );

    parse_test!(media_type, include_str!("../tests/media_type_1.json"));

    parse_test!(
        name,
        include_str!("../tests/name_1.json"),
        include_str!("../tests/name_2.json")
    );

    parse_test!(
        summary,
        include_str!("../tests/summary_1.json"),
        include_str!("../tests/summary_2.json")
    );

    parse_test!(tag, include_str!("../tests/tag_1.json"));
}