2017-04-12 01:20:35 -05:00
|
|
|
use serde::de::{value, IntoDeserializer};
|
2018-04-30 03:41:22 -05:00
|
|
|
use serde::Deserialize;
|
2017-03-07 11:05:33 -06:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn test_u32_to_enum() {
|
|
|
|
#[derive(Deserialize, Debug, PartialEq)]
|
|
|
|
enum E {
|
|
|
|
A,
|
|
|
|
B,
|
|
|
|
}
|
|
|
|
|
2017-04-12 01:20:35 -05:00
|
|
|
let deserializer = IntoDeserializer::<value::Error>::into_deserializer(1u32);
|
2017-03-07 11:05:33 -06:00
|
|
|
let e: E = E::deserialize(deserializer).unwrap();
|
|
|
|
assert_eq!(E::B, e);
|
|
|
|
}
|
2018-05-26 17:21:37 -05:00
|
|
|
|
2018-09-15 17:14:56 -05:00
|
|
|
#[cfg(not(any(target_arch = "asmjs", target_arch = "wasm32")))]
|
2018-05-26 17:21:37 -05:00
|
|
|
#[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
|
2018-05-26 17:28:07 -05:00
|
|
|
assert_eq!(1u128, u128::deserialize(de_u128).unwrap());
|
2018-05-26 17:21:37 -05:00
|
|
|
|
|
|
|
// u128 to i128
|
2018-05-26 17:28:07 -05:00
|
|
|
assert_eq!(1i128, i128::deserialize(de_u128).unwrap());
|
2018-05-26 17:21:37 -05:00
|
|
|
|
|
|
|
// i128 to u128
|
2018-05-26 17:28:07 -05:00
|
|
|
assert_eq!(1u128, u128::deserialize(de_i128).unwrap());
|
2018-05-26 17:21:37 -05:00
|
|
|
|
|
|
|
// i128 to i128
|
2018-05-26 17:28:07 -05:00
|
|
|
assert_eq!(1i128, i128::deserialize(de_i128).unwrap());
|
2018-05-26 17:21:37 -05:00
|
|
|
}
|