diff options
Diffstat (limited to 'src/css/cascade.nim')
-rw-r--r-- | src/css/cascade.nim | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/css/cascade.nim b/src/css/cascade.nim index 97066a51..20575f0d 100644 --- a/src/css/cascade.nim +++ b/src/css/cascade.nim @@ -405,7 +405,7 @@ when defined(debug): func `$`*(node: StyledNode): string = case node.t of stText: - return "#text " & node.text.data + return node.text.data of stElement: if node.pseudo != peNone: return $node.element.tagType & "::" & $node.pseudo @@ -484,3 +484,22 @@ iterator children*(styledNode: StyledNode): StyledNode {.closure.} = let parent = styledNode.element for content in parent.computedMap[styledNode.pseudo]{"content"}: yield parent.initStyledReplacement(content) + +when defined(debug): + proc computedTree*(styledNode: StyledNode): string = + result = "" + if styledNode.t != stElement: + result &= $styledNode + else: + result &= "<" + if styledNode.computed{"display"} != DisplayInline: + result &= "div" + else: + result &= "span" + let computed = styledNode.computed.copyProperties() + if computed{"display"} == DisplayBlock: + computed{"display"} = DisplayInline + result &= " style='" & $computed.serializeEmpty() & "'>\n" + for it in styledNode.children: + result &= it.computedTree() + result &= "\n</div>" |