Monday, January 23, 2006

Test::Unit::XML 0.1.4 Update

Time for a development diary entry.

I've just released Test::Unit::XML version 0.1.4, an XML test framework for the Ruby programming language. This release adds doctype comparisons to the assert_xml_equal assertion. There are also improvements to the documentation, and minor updates to the tutorial.

Barring bugs, assert_xml_equal is now finished. The next release will feature at one more assertion. I'm keeping the releases really small in order to provide new features as frequently as possible.)

Internally, the structure of the framework will change substantially. In version 0.1.4, the bulk of the functionality is in the xml_assertions.rb file. This includes a truck load of methods for comparing various elements. These will be factored out into a separate class. From release 0.1.5 onwards, xml_assertions.rb will delegate as much work as possible.

Version 0.1.4 has 17 tests, with a total of 67 assertions. That's a lot of tests for testing a single assertion. Still, I've had to comment out four assertions in two tests, because I hit a snag with the REXML parser when parsing notations. Under some (uncommon) conditions, the parser may miss the end of a notation declaration, with unpredictable results, and without reporting an error. I have reported the bug, so with luck, it may be fixed in the next release of REXML. Until then, I will keep the aforementioned assertions commented out.

The problem isn't serious. Apparently, the problem is so uncommon it doesn't even show up in the W3C test suite for XML parsers. (REXML handles all of those.)

Watch out for version 0.1.5 in a week or two.

1 comment:

Anonymous said...

also see for testing xml, it's quite powerful.