fix: retain resolved component paths

This commit is contained in:
root
2026-07-13 21:26:01 +00:00
parent 92baaa6299
commit 8da6cad305
5 changed files with 29 additions and 1 deletions
+6 -1
View File
@@ -23,6 +23,10 @@ RENDER(Request& context)
bool exists = component_exists("components/panel");
String resolved = component_resolve("components/panel");
String panel_markup = component("components/panel", props, context);
DValue lazy_props;
String lazy_first = component("components/lazy-parent", lazy_props, context);
lazy_props["show_child"].set_bool(true);
String lazy_second = component("components/lazy-parent", lazy_props, context);
String alias_markup = component("components/props_alias", props, context);
// Named handler through the string-returning component("unit:NAME") form
// (distinct path from component_render below): resolves __uce_component_HEADER
@@ -42,6 +46,7 @@ RENDER(Request& context)
check("component_exists()", exists, exists ? "components/panel resolved as existing" : "components/panel missing");
check("component_resolve()", resolved != "", resolved);
check("component()", panel_markup.find("Component Output") != String::npos && panel_markup.find("This body comes from component()") != String::npos, panel_markup);
check("cached component retains path for a newly activated relative child", lazy_first.find("lazy-child") == String::npos && lazy_second.find("lazy-child") != String::npos, lazy_second);
check("COMPONENT(Request& props) alias", alias_markup.find("alias=Component Output") != String::npos && alias_markup.find("body=This body comes from component()") != String::npos, alias_markup);
check("component_render() named handler", footer_markup.find("Named footer render") != String::npos, footer_markup);
check("component(\"unit:NAME\") named handler", header_markup.find("Component Output") != String::npos && header_markup.find("This body comes from component()") == String::npos, header_markup);
@@ -55,4 +60,4 @@ RENDER(Request& context)
site_tests_summary(passed, failed, skipped, "The panel fixture under site/tests/components exercises default and named component entry points.");
site_tests_page_end();
}
}
+4
View File
@@ -0,0 +1,4 @@
COMPONENT(Request& context)
{
<><span>lazy-child</span></>
}
+5
View File
@@ -0,0 +1,5 @@
COMPONENT(Request& context)
{
if(context.props["show_child"].to_bool())
print(component("lazy-child", context.props, context));
}