diff options
| author | gyoder <70408179+gyoder@users.noreply.github.com> | 2025-07-05 18:36:26 -0600 |
|---|---|---|
| committer | gyoder <70408179+gyoder@users.noreply.github.com> | 2025-07-05 18:36:26 -0600 |
| commit | 94267c681f8086d118a4e07a626b94c517d2648b (patch) | |
| tree | 19b342ff9d64b5a4f1e0a89a5c9c5062b7c7ddc7 | |
| parent | 88b22b4e774c00344f8dad2d9eda6e1ff0491a6e (diff) | |
added test
| -rw-r--r-- | htmlua-parser/src/render.rs | 31 | ||||
| -rw-r--r-- | htmlua-parser/src/serve.rs | 2 | ||||
| -rw-r--r-- | htmlua-parser/tests/components/comp1.html | 2 |
3 files changed, 33 insertions, 2 deletions
diff --git a/htmlua-parser/src/render.rs b/htmlua-parser/src/render.rs index 58a8259..d50e934 100644 --- a/htmlua-parser/src/render.rs +++ b/htmlua-parser/src/render.rs @@ -189,6 +189,37 @@ mod tests { } #[test] + fn basic_lua_include() { + let page = r#" + <!DOCTYPE html> + <html> + <head> + <title>Basic HTML Page</title> + </head> + <body> + <h1>Hello World</h1> + <p>This is a paragraph.</p> + <span><lua> + htmlua.println("Test from Lua!") + </lua></span> + <include path="comp1.html" /> + </body> + </html>"#; + let mut p = PathBuf::from(env!("CARGO_MANIFEST_DIR")); + p.push("tests/components"); + let document = kuchikiki::parse_html().one(page); + let d = execute_lua(expand_template(document, &p, None).unwrap()).unwrap(); + let text = d.select_first("span").unwrap().as_node().text_contents(); + println!("{}", d.to_string()); + assert_eq!(text, "Test from Lua!\n"); + assert!(d.select_first("lua").is_err()); + let text = d.select_first("#inc1").unwrap().as_node().text_contents(); + assert_eq!(text, "included1"); + assert!(d.select_first("include").is_err()); + + } + + #[test] fn recursive_include() { let page = r#" <!DOCTYPE html> diff --git a/htmlua-parser/src/serve.rs b/htmlua-parser/src/serve.rs index 1dfd306..134cc13 100644 --- a/htmlua-parser/src/serve.rs +++ b/htmlua-parser/src/serve.rs @@ -16,8 +16,8 @@ pub fn serve_content(request_uri: &str) -> Result<String> { let page_string = read_to_string(&page_path)?; let doc = kuchikiki::parse_html().one(page_string); - let full_doc = expand_template(doc, &components, None)?; + let full_doc = expand_template(doc, &components, None)?; let executed_doc = execute_lua(full_doc)?; Ok(executed_doc.to_string()) diff --git a/htmlua-parser/tests/components/comp1.html b/htmlua-parser/tests/components/comp1.html index 516d00e..4110604 100644 --- a/htmlua-parser/tests/components/comp1.html +++ b/htmlua-parser/tests/components/comp1.html @@ -1 +1 @@ -<span>included1</span> +<span id="inc1">included1</span> |
