W3C home > Mailing lists > Public > www-dom-ts@w3.org > December 2003

LS Xerces Test Suite Report

From: Elena Litani <elitani@ca.ibm.com>
Date: Wed, 24 Dec 2003 11:45:45 -0500
To: www-dom-ts@w3.org
Cc: w3c-dom-ig@w3.org
Message-ID: <OF5F9CA575.4FA60013-ON85256E06.005C16D6@ca.ibm.com>





Xerces2 has the following bugs:

* "infoset" is not supported yet - LSParserConfig6
* "well-formed" value true is not supported yet.
* DOMInputSourceTest3 - is not passing inputEncoding appropriately
* DOMWriterFilterTest2 - not passing attribute nodes and their text nodes
to the filter.

I might be running an older version of the W3C Test suit (so some bugs
might have been fixed) but here is the list of the test cases with bugs:

1)
http://www.w3.org/2001/DOM-Test-Suite/level3/ls/DOMBuilderTest1
http://www.w3.org/2001/DOM-Test-Suite/level3/ls/DOMBuilderTest2
http://www.w3.org/2001/DOM-Test-Suite/level3/ls/DOMBuilderTest3
parseWithContext is optional, therefore DOMException should be accepted.


2) http://www.w3.org/2001/DOM-Test-Suite/level3/ls/DOMBuilderTest5
"supported-media-types-only" - the value "true" is optional but the test
requires parser to accept this value.

3) DOMImplementationLSTest1
Asynchronious loading is optional.

4) LSParserConfig8
The xml-declaration is not recognized by the parser (only by serializer),
thus impl is correct in throwing
[[
FEATURE_NOT_FOUND: The parameter xml-declaration is not recognized.
]]
The test on the other hand expects "NOT_SUPPORTED" exception

4) DOMBuilderTest7
The test expects the "parse" method to thrown an exception since empty
LSInput is passed. But this method should not throw exception but instead
report it via registered Error Handler.

5) CharacterStream1
createLSParser(0, null) -- 0 is not valid mode parameter (should
SYNCHONOUS)

6) SystemId1/ System2
A temp file to serialize to is created and the systemId of the file is
returned using
File.toURI().toExternalForm().  This returns a systemId (file:/D:/...) that
appears to cause a FileOutputStream exception thrown in
DOMSerializerImpl.write and thus write returns false and the Test cases
fail.

Again createLSParser(0, input) -- 0 is not valid mode parameter (should
SYNCHRONOUS)

SystemId2 fails for similar reasons.  In fact it goes a little further to
define the systemID as http://localhost:8080/domts/temp/...


7) LSSerializerConfig1
xml-declaration -default value is true, test case expects "false"

8) LSSerializerConfig2 -
Expects that number of recognized parameter was 23 -- but in fact,
schema-type and schema-location are optional and implementation can throw
unsupported exception (which Xerces does).

9) LSSerializerConfig6
ignore-unknown-character-denormalizations - default value is 'true' the
test expects false.

10) LSSerializerConfig8
This tests checks for "xml-declaration" parameter (both values "true" and
"false" must be supported). Therefore:
      canSet = config.canSetParameter(propertyName, Boolean.FALSE);
     >>> assertFalse("canSetFalse", canSet);
Should be:
>>>  assertTrue("canSetFalse", canSet);

Also:
[[
      {
         boolean success = false;
         try {
            config.setParameter(propertyName, Boolean.FALSE);
          } catch (DOMException ex) {
            success = (ex.code == DOMException.NOT_SUPPORTED_ERR);
         }
         assertTrue("throw_NOT_SUPPORTED_EXCEPTION", success);
      }
]]

>>> boolean success = true; (must be true, since value "false" is supported
and no exception will be thrown).


Thank you,
--
Elena Litani/ IBM Toronto
Received on Wednesday, 24 December 2003 11:49:57 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 6 April 2009 12:58:49 GMT