test/test_pdd.rb in pdd-0.4.1 vs test/test_pdd.rb in pdd-0.5
- old
+ new
@@ -38,11 +38,24 @@
on 'v', 'verbose'
on 's', 'source', argument: :required
on 'e', 'exclude', as: Array, argument: :required
end
File.write(File.join(dir, 'a.txt'), '@todo #55 hello!')
- xml = Nokogiri::XML::Document.parse(PDD::Base.new(opts).xml)
- assert_equal 1, xml.xpath('/puzzles/@version').size
- assert_equal 1, xml.xpath('/puzzles/puzzle[file="a.txt"]').size
+ matches(
+ Nokogiri::XML::Document.parse(PDD::Base.new(opts).xml),
+ [
+ '/processing-instruction("xml-stylesheet")[contains(.,".xsl")]',
+ '/puzzles/@version',
+ '/puzzles/@date',
+ '/puzzles[count(puzzle)=1]',
+ '/puzzles/puzzle[file="a.txt"]'
+ ]
+ )
+ end
+ end
+
+ def matches(xml, xpaths)
+ xpaths.each do |xpath|
+ fail "doesn't match '#{xpath}': #{xml}" unless xml.xpath(xpath).size == 1
end
end
end