for el in els
switch el.type
when wheic.TYPE_TAG
- ret += "#{prefix}<#{el.name}>\n"
+ ret += "#{prefix}<"
+ if el.namespace is wheic.NS_MATHML
+ ret += "math "
+ if el.namespace is wheic.NS_SVG
+ ret += "svg "
+ ret += "#{el.name}>\n"
attr_keys = []
for k of el.attrs
attr_keys.push k
attr_keys.sort() # TODO this should be "lexicographically by UTF-16 code unit"
for k in attr_keys
ret += "#{prefix} #{k}=\"#{el.attrs[k]}\"\n"
- # FIXME template shows as "content" with children below it
- ret += serialize_els el.children, "#{prefix} "
+ if el.name is 'template' # ?check ns
+ ret += "#{prefix} content\n"
+ ret += serialize_els el.children, "#{prefix} "
+ else
+ ret += serialize_els el.children, "#{prefix} "
when wheic.TYPE_TEXT
ret += "#{prefix}\"#{el.text}\"\n"
when wheic.TYPE_COMMENT
ret += "#{prefix}UNKNOWN TAG TYPE #{el.type}"
return ret
-test_results = passed: 0, failed: 0
+test_results = passed: 0, failed: 0, fragment: 0
test_parser = (args) ->
+ if args.fragment? # hide fragment tests for now
+ test_results.fragment += 1
+ return
wheic.debug_log_reset()
parse_errors = []
errors_cb = (i) ->
console.log "passed \"#{args.name}\""
test_results.passed += 1
test_summary = ->
- console.log "Tests passed: #{test_results.passed}, Tests Failed: #{test_results.failed}"
+ console.log "Tests passed: #{test_results.passed}, Failed: #{test_results.failed}, ignored: #{test_results.fragment}"
next_test = 0