[rspec-users] Comparing two XML documents
Kam Dahlin
haxie1 at me.com
Wed Jan 26 14:19:45 EST 2011
Aaron Patterson (author of Nokogiri) addressed this issue directly here: http://rubyforge.org/pipermail/nokogiri-talk/2009-April/000258.html
I don't think document comparison was ever implemented in Nokogiri though.
Cheers,
kam
On Jan 26, 2011, at 7:26 AM, Matt Wynne wrote:
> I have a problem. I have a test that needs to assert that one XML document looks exactly like another XML document.
>
> I couldn't find a way to compare them as Nokogiri::XML::Documents, so I converted them both to strings with #to_xml and compared the strings.
>
> Trouble is, sometimes the attributes one of the nodes are rendered into the string in a different order to the other one, so you get an error of the form:
>
> Diff:
> @@ -5,7 +5,7 @@
> <Description/>
> <Context>
> <BackgroundLabels>
> - <Label mode="FILTER" name="included"/>
> + <Label name="included" mode="FILTER"/>
> </BackgroundLabels>
> </Context>
> <LookAndFeel nonprofit="false"/>
> (RSpec::Expectations::ExpectationNotMetError)
>
> Most annoying.
>
> I've seen a couple of RSpec matchers in blog posts that walk and compare XML fragments but I'm surprised there isn't something more concrete that already exists. I feel like I'm missing a way to do it within an XML library, for example.
>
> Any clues out there?
>
> cheers,
> Matt
>
> matt at mattwynne.net
> 07974 430184
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
More information about the rspec-users
mailing list