require 'inky' def reformat_html(html) html .gsub(/\s+/, ' ') # Compact all whitespace to a single space .gsub(/> *\n<") # Use returns between tags .gsub(%r{<(\w+)([^>]*)>\n}, '<\1\2/>') # Auto close empty tags, e.g.
\n =>
.gsub(/ "/, '"').gsub(/\=" /, '="') # Remove leading/trailing spaces inside attributes .gsub(/ /, '>') # Remove leading/trailing spaces inside tags end def compare(input, expected) inky = Inky::Core.new output = inky.release_the_kraken(input) # TODO: Figure out a better way to do html compare in ruby.. # this is overly dependent on things like class ordering, making it # fragile expect(reformat_html(output)).to eql(reformat_html(expected)) end