diff --git a/tests/test.rs b/tests/test.rs index c2050724b..200dc9294 100644 --- a/tests/test.rs +++ b/tests/test.rs @@ -2180,6 +2180,25 @@ fn test_integer128() { ]); } +#[test] +fn test_integer128_to_value() { + let signed = &[i64::min_value() as i128, u64::max_value() as i128]; + let unsigned = &[0, u64::max_value() as u128]; + + for integer128 in signed { + let expected = integer128.to_string(); + assert_eq!(to_value(integer128).unwrap().to_string(), expected); + } + + for integer128 in unsigned { + let expected = integer128.to_string(); + assert_eq!(to_value(integer128).unwrap().to_string(), expected); + } + + let err = to_value(&(u64::max_value() as u128) + 1).unwrap_err(); + assert_eq!(err.to_string(), "number out of range"); +} + #[cfg(feature = "raw_value")] #[test] fn test_borrowed_raw_value() {