This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
The deep-equal function is fairly complex, but there is pretty minimal test coverave. Most of the tests compare atomic items, and those are useful. There are a few tests for non-singleton atomic sequences, but not many. Worst, the few tests for comparing nodes and nodes sequences are pretty useless. They seesm to fit this pattern: deep-equal($input-context1/PATH, $input-context1/PATH) I.e. the same expression yielding the same *identical* nodes for both arguments. An implementation that just tests node identity would pass.
Thanks for bringing this to our attention. I've added test cases fn-deep-equal-node-args-1 to fn-deep-equal-node-args-5 to the test suite. These test cases pass sequences of nodes that do not have the same identity to fn:deep-equal. Please close this bug report if you agree with this resolution.
Yes, this does provide some more meaningful testing. (It caught one silly bug in the Qexo implementation!) Thanks.