Our status of DOM

Bo Yang struggleyb.nku at gmail.com
Tue May 12 03:16:00 BST 2009

   After completing the DOMTS converting "partly", I try to generate
testcases for 3 level DOM core modules and compile the testcases to
try to see how much our API consistent with the DOM Core spec. My
process is as following:

For each testcase in level{1,2,3}/core; do
    convert the testcase to C program;
    if (error in converting)
        Record it as a "Conversion Error";

    compile the C program against the trunk libDOM;
    if (error in compile)
       Record it as a "Compile Error";

    Record a success

And the result is:

DOM level1 Core
Total:  527
Passed: 514
Failed: 13
Conversion Error: 2
Compile Error:    11

DOM level2 Core
Total:  282
Passed: 200
Failed: 82
Conversion Error: 44
Compile Error:    38

DOM level3 Core
Total:  722
Passed: 272
Failed: 450
Conversion Error: 161
Compile Error:    289

A conversion error means there are still some DOMTS elements need to
be translated in the converting Perl script. And a compile error means
either there is a converting bug or a DOM interface mismatch. And the
later case holds more than the former case.

For instance, for the level1 result, I found that there are three
interface left out, and they are dom_entity, dom_notation,
dom_comment. And there are some DOMTS elements need to be translated
too, such as <try><catch>. And to my surprise there elements are at
expressed in the DTD at all, I think DOMTS DTD is really outdated.

The result means that there are really much work to do in libDOM. ^_^


More information about the netsurf-dev mailing list