return String.fromCharCode((x >> 10) + 0xd800, (x % 0x400) + 0xdc00)
# Each node is an obect of the Node class. Here are the Node types:
-TYPE_TAG = 0 # name, {attributes}, [children]
-TYPE_TEXT = 1 # "text"
-TYPE_COMMENT = 2
-TYPE_DOCTYPE = 3
+TYPE_TAG = 'tag' # name, {attributes}, [children]
+TYPE_TEXT = 'text' # "text"
+TYPE_COMMENT = 'comment'
+TYPE_DOCTYPE = 'doctype'
# the following types are emited by the tokenizer, but shouldn't end up in the tree:
TYPE_START_TAG = 4 # name, [attributes ([key,value]...) in reverse order], [children]
TYPE_END_TAG = 5 # name
TYPE_AAA_BOOKMARK = 8 # http://www.w3.org/TR/html5/syntax.html#adoption-agency-algorithm
# namespace constants
-NS_HTML = 1
-NS_MATHML = 2
-NS_SVG = 3
+NS_HTML = 'html'
+NS_MATHML = 'mathml'
+NS_SVG = 'svg'
# quirks mode constants
-QUIRKS_NO = 1
-QUIRKS_LIMITED = 2
-QUIRKS_YES = 3
+QUIRKS_NO = 'no'
+QUIRKS_LIMITED = 'limited'
+QUIRKS_YES = 'yes'
# queue up debug logs, so eg they can be shown only for tests that fail
g_debug_log = []
prev.text += t.text
return
dest[0].children.splice dest[1], 0, t
+ t.parent = dest[0]
return
# 8.2.5 http://www.w3.org/TR/html5/syntax.html#tree-construction