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
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)
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?