[jdom-interest] Surrogate pair output support (unit test)

Olivier Jaquemet olivier.jaquemet at jalios.com
Thu May 7 06:35:34 PDT 2009

Hi all,

In December 2007, Dave Byrne submitted a patch to add support for 
surrogate pair output :

Unfortunately this patch has never made into any JDOM release, nor in 
the cvs (as far as I could find)...

A simple test case for this bug is attached and end of this mail.
As of version 1.1, the test will fail with the following error :
    expected: <root>&#x10000; &#65536;</root>
    but was: <root>&#xd800;&#xdc00; &#xd800;&#xdc00;</root>
With the patch submitted by Dave, everything works fine.

Could you add his patch for the next release of JDOM ?
Thank your for you answer !

Olivier Jaquemet

The unit test :

  public void testHighSurrogatePair() throws JDOMException, IOException {
    SAXBuilder builder = new SAXBuilder();
    Document doc = builder.build(new StringReader("<?xml 
version=\"1.0\"?><root>&#x10000; &#65536;</root>"));
    Format format = Format.getCompactFormat().setEncoding("ISO-8859-1");
    XMLOutputter outputter = new XMLOutputter(format);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    outputter.output(doc, baos);
    String xml = baos.toString();
    assertEquals("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" + 
format.getLineSeparator() +
                 "<root>&#x10000; &#x10000;</root>" + 
format.getLineSeparator(), xml);

More information about the jdom-interest mailing list