Commit 09d6d11
Escape less
Changed files (5)
modifiedCargo.lockmodifiedCargo.tomlmodifiedsrc/htmlquotes.rsmodifiedtests/injection.rsmodifiedtests/other.rs
Diff
@@ -4,7 +4,7 @@ version = 4 [[package]] name = "kaja-html-macro"-version = "1.0.1"+version = "1.0.2" dependencies = [ "proc-macro-error", "proc-macro2",@@ -1,6 +1,6 @@ [package] name = "kaja-html-macro"-version = "1.0.1"+version = "1.0.2" edition = "2024" description = "HTML macro" license = "MIT"@@ -228,18 +228,16 @@ impl<'a> HtmlQuotes<'a> { result.push_str( r#"- if __html_variable.chars().any(|c| ['<', '>', '/', '&', '\'', '"', '\\', '='].contains(&c)) {+ if __html_variable.chars().any(|c| ['<', '>', '&', '\'', '"', '='].contains(&c)) { let mut __escaped = String::with_capacity(2 * __html_variable.len()); for c in __html_variable.as_str().chars() { match c { '<' => __escaped.push_str("<"), '>' => __escaped.push_str(">"),- '/' => __escaped.push_str("/"), '&' => __escaped.push_str("&"), '\'' => __escaped.push_str("'"), '"' => __escaped.push_str("""),- '\\' => __escaped.push_str("\"), '=' => __escaped.push_str("="), _ => __escaped.push(c), }@@ -44,8 +44,8 @@ fn test_escape_tag() { assert!(html.contains("</html>")); assert!(!html.contains("<script>test</script>"));- assert!(html.contains("<script>test</script>"));- assert!(html.contains("<script>anothertest</script>"));+ assert!(html.contains("<script>test</script>"));+ assert!(html.contains("<script>anothertest</script>")); assert!(html.contains("<includedtag>OK</includedtag>")); }@@ -197,3 +197,16 @@ fn test_expression() { println!("Generated HTML: {:?}", html); assert!(html.contains("<div arg=\"test\"></div>")); }++fn test_import() -> String {+ return String::from("TEST");+}++#[test]+fn test_include_fn() {+ let content = html! {{+ <include test_import() />+ }};++ assert!(content.contains("TEST"));+}