From 2889c7d08448a5bd786329fdaeedbb37f77d55b9 Mon Sep 17 00:00:00 2001 From: Josh McKinney Date: Thu, 13 Jul 2023 19:18:07 -0700 Subject: [PATCH] fix(lint): suspicious_double_ref_op is new in 1.71 (#311) Fixed tests and completed coverage for `Masked` type. --- src/text/masked.rs | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/src/text/masked.rs b/src/text/masked.rs index 133d06ec..d6ff40b9 100644 --- a/src/text/masked.rs +++ b/src/text/masked.rs @@ -21,7 +21,7 @@ use super::Text; /// Paragraph::new(password).render(buffer.area, &mut buffer); /// assert_eq!(buffer, Buffer::with_lines(vec!["xxxxx"])); /// ``` -#[derive(Clone)] +#[derive(Clone, PartialEq, Eq, Hash)] pub struct Masked<'a> { inner: Cow<'a, str>, mask_char: char, @@ -86,43 +86,58 @@ impl<'a> From> for Text<'a> { #[cfg(test)] mod tests { - use std::borrow::Borrow; - use super::*; use crate::text::Line; #[test] - fn test_masked_value() { + fn new() { + let masked = Masked::new("12345", 'x'); + assert_eq!(masked.inner, "12345"); + assert_eq!(masked.mask_char, 'x'); + } + + #[test] + fn value() { let masked = Masked::new("12345", 'x'); assert_eq!(masked.value(), "xxxxx"); } #[test] - fn test_masked_debug() { + fn mask_char() { + let masked = Masked::new("12345", 'x'); + assert_eq!(masked.mask_char(), 'x'); + } + + #[test] + fn debug() { let masked = Masked::new("12345", 'x'); assert_eq!(format!("{masked:?}"), "12345"); } #[test] - fn test_masked_display() { + fn display() { let masked = Masked::new("12345", 'x'); assert_eq!(format!("{masked}"), "xxxxx"); } #[test] - fn test_masked_conversions() { + fn into_text() { let masked = Masked::new("12345", 'x'); - let text: Text = masked.borrow().into(); + let text: Text = (&masked).into(); assert_eq!(text.lines, vec![Line::from("xxxxx")]); - let text: Text = masked.to_owned().into(); + let text: Text = masked.into(); assert_eq!(text.lines, vec![Line::from("xxxxx")]); + } - let cow: Cow = masked.borrow().into(); + #[test] + fn into_cow() { + let masked = Masked::new("12345", 'x'); + let cow: Cow = (&masked).into(); assert_eq!(cow, "xxxxx"); - let cow: Cow = masked.to_owned().into(); + let cow: Cow = masked.into(); assert_eq!(cow, "xxxxx"); } }