X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=test.coffee;h=1e27066330c0d1c6eebf545df94977ac52a00952;hb=38367e9bad7bcad9f30c2c86d15feba64c71e1ad;hp=baea4e714f3be36f0c8e97bf7f3aa0bee649371d;hpb=f63dacda515ec88d2860549c14365ddab33ec1db;p=peach-html5-editor.git diff --git a/test.coffee b/test.coffee index baea4e7..1e27066 100644 --- a/test.coffee +++ b/test.coffee @@ -7390,6 +7390,7 @@ tests = [ expected: "| \n" }, { name: "tests_innerHTML_1.dat #85" + html: "" fragment: "html" expected: "| \n| \n" }, { @@ -7795,27 +7796,42 @@ 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 ret += "#{prefix}\n" when wheic.TYPE_DOCTYPE - ret += "#{prefix}\n" # FIXME add ids + ret += "#{prefix} 0) or (el.system_identifier? and el.system_identifier.length > 0) + ret += " \"#{el.public_identifier ? ''}\"" + ret += " \"#{el.system_identifier ? ''}\"" + ret += ">\n" else 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) -> @@ -7828,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 @@ -7839,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 @@ -7848,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()