diff options
Diffstat (limited to 'htmlua-parser/src')
| -rw-r--r-- | htmlua-parser/src/render.rs | 31 | ||||
| -rw-r--r-- | htmlua-parser/src/serve.rs | 2 |
2 files changed, 32 insertions, 1 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()) |
