diff --git a/test_suite/tests/test_value.rs b/test_suite/tests/test_value.rs index acd3ddd6..80554663 100644 --- a/test_suite/tests/test_value.rs +++ b/test_suite/tests/test_value.rs @@ -25,3 +25,21 @@ fn test_u32_to_enum() { let e: E = E::deserialize(deserializer).unwrap(); assert_eq!(E::B, e); } + +#[test] +fn test_integer128() { + let de_u128 = IntoDeserializer::::into_deserializer(1u128); + let de_i128 = IntoDeserializer::::into_deserializer(1i128); + + // u128 to u128 + assert_eq!(1u128, u128::deserialize(de_u128.clone()).unwrap()); + + // u128 to i128 + assert_eq!(1i128, i128::deserialize(de_u128.clone()).unwrap()); + + // i128 to u128 + assert_eq!(1u128, u128::deserialize(de_i128.clone()).unwrap()); + + // i128 to i128 + assert_eq!(1i128, i128::deserialize(de_i128.clone()).unwrap()); +}