From 454e78951b525db7f3f483e285465d5e44cf7a11 Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Wed, 21 Oct 2015 10:57:41 -0400 Subject: [PATCH 1/1] lib/html: make `children` lazy Signed-off-by: Jean Privat --- lib/html/html.nit | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/html/html.nit b/lib/html/html.nit index b4a62be..6cb192b 100644 --- a/lib/html/html.nit +++ b/lib/html/html.nit @@ -244,7 +244,7 @@ class HTMLTag end # List of children HTML elements - var children: Set[HTMLTag] = new HashSet[HTMLTag] + var children: Set[HTMLTag] = new HashSet[HTMLTag] is lazy # Clear all child and set the text of element # @@ -254,7 +254,7 @@ class HTMLTag # Text is escaped see: `core::String::html_escape` fun text(txt: String): HTMLTag do - children.clear + if isset _children then children.clear append(txt) return self end @@ -300,11 +300,11 @@ class HTMLTag res.add "<" res.add tag render_attrs_in(res) - if is_void and children.is_empty then + if is_void and (not isset _children or children.is_empty) then res.add "/>" else res.add ">" - for child in children do child.render_in(res) + if isset _children then for child in children do child.render_in(res) res.add "" -- 1.7.9.5