serde/tests/json_struct.rs
2015-02-06 22:23:15 +01:00

32 lines
639 B
Rust

#![feature(plugin)]
extern crate serde;
#[plugin]
extern crate serde_macros;
#[derive(PartialEq, Show)]
#[derive_serialize]
#[derive_deserialize]
struct Test {
#[serial_name = "$schema"]
schema: String,
title: String,
#[serial_name = "type"]
ty: isize
}
#[test]
fn test_json_struct() {
let input = Test {
schema: "a".to_string(),
title: "b".to_string(),
ty: 3,
};
let s = serde::json::to_string(&input).unwrap();
assert_eq!(s.as_slice(), r#"{"$schema":"a","title":"b","type":3}"#);
let output: Test = serde::json::from_str(&s).unwrap();
assert_eq!(input, output);
}