serde/test_suite/tests/test_value.rs

39 lines
988 B
Rust
Raw Normal View History

#[macro_use]
extern crate serde_derive;
extern crate serde;
use serde::de::{value, IntoDeserializer};
2018-04-30 01:41:22 -07:00
use serde::Deserialize;
#[test]
fn test_u32_to_enum() {
#[derive(Deserialize, Debug, PartialEq)]
enum E {
A,
B,
}
let deserializer = IntoDeserializer::<value::Error>::into_deserializer(1u32);
let e: E = E::deserialize(deserializer).unwrap();
assert_eq!(E::B, e);
}
2018-09-15 15:14:56 -07:00
#[cfg(not(any(target_arch = "asmjs", target_arch = "wasm32")))]
#[test]
fn test_integer128() {
let de_u128 = IntoDeserializer::<value::Error>::into_deserializer(1u128);
let de_i128 = IntoDeserializer::<value::Error>::into_deserializer(1i128);
// u128 to u128
assert_eq!(1u128, u128::deserialize(de_u128).unwrap());
// u128 to i128
assert_eq!(1i128, i128::deserialize(de_u128).unwrap());
// i128 to u128
assert_eq!(1u128, u128::deserialize(de_i128).unwrap());
// i128 to i128
assert_eq!(1i128, i128::deserialize(de_i128).unwrap());
}