JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
ignore fragment tests for now
[peach-html5-editor.git] / test.coffee
index 9e82bdd..1e27066 100644 (file)
@@ -7390,6 +7390,7 @@ tests = [
                expected: "| <frame>\n"
        }, {
                name: "tests_innerHTML_1.dat #85"
+               html: ""
                fragment: "html"
                expected: "| <head>\n| <body>\n"
        }, {
@@ -7795,15 +7796,23 @@ serialize_els = (els, prefix = '| ') ->
        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
@@ -7818,8 +7827,11 @@ serialize_els = (els, prefix = '| ') ->
                                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) ->
@@ -7832,6 +7844,8 @@ test_parser = (args) ->
                #       console.log str
                console.log "FAILED: \"#{args.name}\""
                console.log "      Input: #{args.html}"
+               if args.fragment?
+                       console.log "   Fragment: #{args.fragment}"
                console.log "    Correct: #{args.expected}"
                console.log "     Output: #{serialized}"
                if parse_errors.length > 0
@@ -7843,8 +7857,7 @@ test_parser = (args) ->
                console.log "passed \"#{args.name}\""
                test_results.passed += 1
 test_summary = ->
-       console.log "Tests passed: #{test_results.passed}"
-       console.log "Tests Failed: #{test_results.failed}"
+       console.log "Tests passed: #{test_results.passed}, Failed: #{test_results.failed}, ignored: #{test_results.fragment}"
 
 
 next_test = 0
@@ -7852,11 +7865,12 @@ run_tests_and_breathe = ->
        start_time = new Date()
        loop
                if next_test >= tests.length
+                       test_summary()
                        return
                test_parser tests[next_test]
                next_test += 1
                now = new Date()
                if now - start_time > 100 # miliseconds
-                       setTimeout run_tests_and_breathe, 1
+                       break
+       setTimeout run_tests_and_breathe, 1
 run_tests_and_breathe()
-test_summary()