From 9b08915a18086f6dc7df850c421f202cf6a00d8c Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Tue, 31 Oct 2017 09:32:58 -0700 Subject: [PATCH] Add tests for std::num::Wrapping impls --- test_suite/tests/test_de.rs | 15 +++++++++++++++ test_suite/tests/test_ser.rs | 6 ++++++ 2 files changed, 21 insertions(+) diff --git a/test_suite/tests/test_de.rs b/test_suite/tests/test_de.rs index b8eca056b..da1dae3fa 100644 --- a/test_suite/tests/test_de.rs +++ b/test_suite/tests/test_de.rs @@ -17,6 +17,7 @@ use std::default::Default; use std::ffi::{CString, OsString}; use std::rc::Rc; use std::sync::Arc; +use std::num::Wrapping; #[cfg(feature = "unstable")] use std::ffi::CStr; @@ -762,6 +763,14 @@ declare_tests! { Token::Bool(true), ], } + test_wrapping { + Wrapping(1usize) => &[ + Token::U32(1), + ], + Wrapping(1usize) => &[ + Token::U64(1), + ], + } } declare_tests! { @@ -1169,4 +1178,10 @@ declare_error_tests! { ], "invalid type: sequence, expected unit struct UnitStruct", } + test_wrapping_overflow> { + &[ + Token::U32(65536), + ], + "invalid value: integer `65536`, expected u16", + } } diff --git a/test_suite/tests/test_ser.rs b/test_suite/tests/test_ser.rs index 5659af0cf..4198d5668 100644 --- a/test_suite/tests/test_ser.rs +++ b/test_suite/tests/test_ser.rs @@ -16,6 +16,7 @@ use std::time::{Duration, UNIX_EPOCH}; use std::ffi::CString; use std::rc::Rc; use std::sync::Arc; +use std::num::Wrapping; #[cfg(unix)] use std::str; @@ -399,6 +400,11 @@ declare_tests! { Token::Bool(true), ], } + test_wrapping { + Wrapping(1usize) => &[ + Token::U64(1), + ], + } } declare_tests! {