From 29bf042da03e4fd8fc618760d8a8019c01591e5d Mon Sep 17 00:00:00 2001 From: Sunshine Date: Fri, 26 Jun 2020 23:22:35 -0400 Subject: [PATCH] trim CSS if it contains nothing but whitespaces --- src/css.rs | 5 +++++ src/tests/cli.rs | 2 +- src/tests/css/embed_css.rs | 19 +++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/css.rs b/src/css.rs index 1abe8cd..6be5de6 100644 --- a/src/css.rs +++ b/src/css.rs @@ -394,6 +394,11 @@ pub fn process_css<'a>( } } + // Ensure empty CSS is really empty + if result.len() > 0 && result.trim().len() == 0 { + result = result.trim().to_string() + } + Ok(result) } diff --git a/src/tests/cli.rs b/src/tests/cli.rs index b685cbb..98e7ff4 100644 --- a/src/tests/cli.rs +++ b/src/tests/cli.rs @@ -143,7 +143,7 @@ mod passing { std::str::from_utf8(&out.stdout).unwrap(), "\ \ - \ + \ Hi\n" ); diff --git a/src/tests/css/embed_css.rs b/src/tests/css/embed_css.rs index b34aea6..f862c92 100644 --- a/src/tests/css/embed_css.rs +++ b/src/tests/css/embed_css.rs @@ -22,6 +22,25 @@ mod passing { ); } + #[test] + fn trim_if_empty() { + let cache = &mut HashMap::new(); + let client = Client::new(); + + assert_eq!( + css::embed_css( + cache, + &client, + "https://doesntmatter.local/", + "\t \t ", + false, + false, + false, + ), + "" + ); + } + #[test] fn style_exclude_unquoted_images() { let cache = &mut HashMap::new();