From b822e2131a5466e4d23e0eede76b8b0de0f5b65a Mon Sep 17 00:00:00 2001 From: veeso Date: Sat, 20 Mar 2021 11:28:52 +0100 Subject: [PATCH] From String for TextSpan --- src/ui/layout/props.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/ui/layout/props.rs b/src/ui/layout/props.rs index d20c516..0489f39 100644 --- a/src/ui/layout/props.rs +++ b/src/ui/layout/props.rs @@ -366,6 +366,19 @@ impl From<&str> for TextSpan { } } +impl From for TextSpan { + fn from(content: String) -> Self { + TextSpan { + content, + fg: Color::Reset, + bg: Color::Reset, + bold: false, + italic: false, + underlined: false, + } + } +} + impl TextSpan { /// ### get_modifiers /// @@ -725,6 +738,7 @@ mod tests { #[test] fn test_ui_layout_props_text_span() { + // from str let span: TextSpan = TextSpan::from("Hello!"); assert_eq!(span.content.as_str(), "Hello!"); assert_eq!(span.bold, false); @@ -732,6 +746,14 @@ mod tests { assert_eq!(span.bg, Color::Reset); assert_eq!(span.italic, false); assert_eq!(span.underlined, false); + // From String + let span: TextSpan = TextSpan::from(String::from("omar")); + assert_eq!(span.content.as_str(), "omar"); + assert_eq!(span.bold, false); + assert_eq!(span.fg, Color::Reset); + assert_eq!(span.bg, Color::Reset); + assert_eq!(span.italic, false); + assert_eq!(span.underlined, false); // With attributes let span: TextSpan = TextSpanBuilder::new("Error") .with_background(Color::Red)