Hey- So, I assume that the people for whom this is relevant already read commit messages, but I thought I'd document an addition to our testing framework here anyway.
If you're writing tests for anything that does parsing of XML, I've added a method to Test.AnotherWay test objects that will be useful. The new xml_eq method is similar to html_eq except it works for generic xml (and works in Safari and FF3 where html_eq fails). Use is pretty straightforward. You can compare element nodes to element nodes, nodes to strings, or strings to strings. I added a single script to our run-tests.html page that extends Test.AnotherWay: http://trac.openlayers.org/browser/trunk/openlayers/tests/xml_eq.js Though I grimace when I see this much code in email, I'll paste a couple examples: // Pretend we're on a test page in a test function var format = new OpenLayers.Format.XML(); var doc, got, exp; // Create a doc and check that root is equivalent to some string doc = format.read( "<chicken>soup</chicken>" ); got = doc.documentElement; exp = "<chicken>soup</chicken>"; t.xml_eq(got, exp, "passes"); // See what happens with bad expectations exp = "<chicken>fat</chicken>"; t.xml_eq(got, exp, "fails"); // Fails with the following message: // Bad child 0 for element chicken: Node value mismatch: got soup // but expected fat // Test xml with different namespace aliases got = "<foo:chicken xmlns:foo='namespace'>soup</foo:chicken>"; exp = "<bar:chicken xmlns:bar='namespace'>soup</bar:chicken>"; t.xml_eq(got, exp, "passes"); // Assert that prefixes are equal t.xml_eq(got, exp, "fails", {prefix: true}); // Fails with the following message: // Node name mismatch: got foo:chicken but expected bar:chicken Etc. Tim _______________________________________________ Dev mailing list [email protected] http://openlayers.org/mailman/listinfo/dev
