summaryrefslogtreecommitdiff
path: root/htmlua-parser/src
diff options
context:
space:
mode:
Diffstat (limited to 'htmlua-parser/src')
-rw-r--r--htmlua-parser/src/render.rs31
-rw-r--r--htmlua-parser/src/serve.rs2
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())