diff options
Diffstat (limited to 'src/assert.rs')
-rw-r--r-- | src/assert.rs | 102 |
1 files changed, 57 insertions, 45 deletions
diff --git a/src/assert.rs b/src/assert.rs index 9be153d..bbdafd9 100644 --- a/src/assert.rs +++ b/src/assert.rs @@ -1,15 +1,13 @@ +use crate::de::Deserializer; +use crate::ser::Serializer; +use crate::token::Token; use serde::{Deserialize, Serialize}; - -use de::Deserializer; -use ser::Serializer; -use token::Token; - use std::fmt::Debug; /// Runs both `assert_ser_tokens` and `assert_de_tokens`. /// -/// ```edition2018 -/// # use serde::{Serialize, Deserialize}; +/// ``` +/// # use serde_derive::{Deserialize, Serialize}; /// # use serde_test::{assert_tokens, Token}; /// # /// #[derive(Serialize, Deserialize, PartialEq, Debug)] @@ -19,14 +17,17 @@ use std::fmt::Debug; /// } /// /// let s = S { a: 0, b: 0 }; -/// assert_tokens(&s, &[ -/// Token::Struct { name: "S", len: 2 }, -/// Token::Str("a"), -/// Token::U8(0), -/// Token::Str("b"), -/// Token::U8(0), -/// Token::StructEnd, -/// ]); +/// assert_tokens( +/// &s, +/// &[ +/// Token::Struct { name: "S", len: 2 }, +/// Token::Str("a"), +/// Token::U8(0), +/// Token::Str("b"), +/// Token::U8(0), +/// Token::StructEnd, +/// ], +/// ); /// ``` #[cfg_attr(not(no_track_caller), track_caller)] pub fn assert_tokens<'de, T>(value: &T, tokens: &'de [Token]) @@ -39,8 +40,8 @@ where /// Asserts that `value` serializes to the given `tokens`. /// -/// ```edition2018 -/// # use serde::{Serialize, Deserialize}; +/// ``` +/// # use serde_derive::{Deserialize, Serialize}; /// # use serde_test::{assert_ser_tokens, Token}; /// # /// #[derive(Serialize, Deserialize, PartialEq, Debug)] @@ -50,14 +51,17 @@ where /// } /// /// let s = S { a: 0, b: 0 }; -/// assert_ser_tokens(&s, &[ -/// Token::Struct { name: "S", len: 2 }, -/// Token::Str("a"), -/// Token::U8(0), -/// Token::Str("b"), -/// Token::U8(0), -/// Token::StructEnd, -/// ]); +/// assert_ser_tokens( +/// &s, +/// &[ +/// Token::Struct { name: "S", len: 2 }, +/// Token::Str("a"), +/// Token::U8(0), +/// Token::Str("b"), +/// Token::U8(0), +/// Token::StructEnd, +/// ], +/// ); /// ``` #[cfg_attr(not(no_track_caller), track_caller)] pub fn assert_ser_tokens<T: ?Sized>(value: &T, tokens: &[Token]) @@ -78,23 +82,24 @@ where /// Asserts that `value` serializes to the given `tokens`, and then yields /// `error`. /// -/// ```edition2018 +/// ``` +/// use serde_derive::Serialize; +/// use serde_test::{assert_ser_tokens_error, Token}; /// use std::sync::{Arc, Mutex}; /// use std::thread; /// -/// use serde::Serialize; -/// use serde_test::{assert_ser_tokens_error, Token}; -/// /// #[derive(Serialize)] /// struct Example { /// lock: Arc<Mutex<u32>>, /// } /// /// fn main() { -/// let example = Example { lock: Arc::new(Mutex::new(0)) }; +/// let example = Example { +/// lock: Arc::new(Mutex::new(0)), +/// }; /// let lock = example.lock.clone(); /// -/// let _ = thread::spawn(move || { +/// let thread = thread::spawn(move || { /// // This thread will acquire the mutex first, unwrapping the result /// // of `lock` because the lock has not been poisoned. /// let _guard = lock.lock().unwrap(); @@ -102,10 +107,14 @@ where /// // This panic while holding the lock (`_guard` is in scope) will /// // poison the mutex. /// panic!() -/// }).join(); +/// }); +/// thread.join(); /// /// let expected = &[ -/// Token::Struct { name: "Example", len: 1 }, +/// Token::Struct { +/// name: "Example", +/// len: 1, +/// }, /// Token::Str("lock"), /// ]; /// let error = "lock poison error while serializing"; @@ -130,8 +139,8 @@ where /// Asserts that the given `tokens` deserialize into `value`. /// -/// ```edition2018 -/// # use serde::{Serialize, Deserialize}; +/// ``` +/// # use serde_derive::{Deserialize, Serialize}; /// # use serde_test::{assert_de_tokens, Token}; /// # /// #[derive(Serialize, Deserialize, PartialEq, Debug)] @@ -141,14 +150,17 @@ where /// } /// /// let s = S { a: 0, b: 0 }; -/// assert_de_tokens(&s, &[ -/// Token::Struct { name: "S", len: 2 }, -/// Token::Str("a"), -/// Token::U8(0), -/// Token::Str("b"), -/// Token::U8(0), -/// Token::StructEnd, -/// ]); +/// assert_de_tokens( +/// &s, +/// &[ +/// Token::Struct { name: "S", len: 2 }, +/// Token::Str("a"), +/// Token::U8(0), +/// Token::Str("b"), +/// Token::U8(0), +/// Token::StructEnd, +/// ], +/// ); /// ``` #[cfg_attr(not(no_track_caller), track_caller)] pub fn assert_de_tokens<'de, T>(value: &T, tokens: &'de [Token]) @@ -184,8 +196,8 @@ where /// Asserts that the given `tokens` yield `error` when deserializing. /// -/// ```edition2018 -/// # use serde::{Serialize, Deserialize}; +/// ``` +/// # use serde_derive::{Deserialize, Serialize}; /// # use serde_test::{assert_de_tokens_error, Token}; /// # /// #[derive(Serialize, Deserialize, PartialEq, Debug)] |