From 82c3eb7ba4c34e071d3103ba92972b63b8d70dbf Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Tue, 25 Jan 2022 11:24:53 -0800 Subject: [PATCH] Add test of visitor error messages --- test_suite/tests/test_de_error.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/test_suite/tests/test_de_error.rs b/test_suite/tests/test_de_error.rs index db534e983..adc6fc16f 100644 --- a/test_suite/tests/test_de_error.rs +++ b/test_suite/tests/test_de_error.rs @@ -1,6 +1,7 @@ #![allow(clippy::empty_enum, clippy::unreadable_literal)] #![cfg_attr(feature = "unstable", feature(never_type))] +use serde::de::IntoDeserializer; use serde::Deserialize; use serde_test::{assert_de_tokens_error, Token}; use std::collections::{BTreeMap, BTreeSet, HashMap, HashSet}; @@ -185,6 +186,16 @@ fn test_i64() { ); } +#[test] +fn test_i128() { + let deserializer = ::into_deserializer(1); + let error = <&str>::deserialize(deserializer).unwrap_err(); + assert_eq!( + error.to_string(), + "invalid type: i128, expected a borrowed string", + ); +} + #[test] fn test_u8() { let test = assert_de_tokens_error::; @@ -326,6 +337,13 @@ fn test_u64() { &[Token::I64(-1)], "invalid value: integer `-1`, expected u64", ); + + let deserializer = ::into_deserializer(1); + let error = <&str>::deserialize(deserializer).unwrap_err(); + assert_eq!( + error.to_string(), + "invalid type: integer `1`, expected a borrowed string", + ); } #[test] @@ -349,6 +367,13 @@ fn test_u128() { &[Token::I64(-1)], "invalid value: integer `-1`, expected u128", ); + + let deserializer = ::into_deserializer(1); + let error = <&str>::deserialize(deserializer).unwrap_err(); + assert_eq!( + error.to_string(), + "invalid type: u128, expected a borrowed string", + ); } #[test]