Hi,
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";
return
compile the C program against the trunk libDOM;
if (error in compile)
Record it as a "Compile Error";
return
Record a success
done
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. ^_^
Regards!
Bo