test/test_pdd.rb in pdd-0.8 vs test/test_pdd.rb in pdd-0.9

- old
+ new

@@ -32,15 +32,11 @@ # Copyright:: Copyright (c) 2014 Yegor Bugayenko # License:: MIT class TestPDD < Minitest::Test def test_basic Dir.mktmpdir 'test' do |dir| - opts = Slop.parse ['-v', '-s', dir, '-e', '**/*.png'] do - on 'v', 'verbose' - on 's', 'source', argument: :required - on 'e', 'exclude', as: Array, argument: :required - end + opts = opts(['-v', '-s', dir, '-e', '**/*.png', '-r', 'max-estimate:15']) File.write(File.join(dir, 'a.txt'), '@todo #55 hello!') matches( Nokogiri::XML::Document.parse(PDD::Base.new(opts).xml), [ '/processing-instruction("xml-stylesheet")[contains(.,".xsl")]', @@ -48,9 +44,28 @@ '/puzzles/@date', '/puzzles[count(puzzle)=1]', '/puzzles/puzzle[file="a.txt"]' ] ) + end + end + + def test_rules_failure + Dir.mktmpdir 'test' do |dir| + opts = opts(['-v', '-s', dir, '-e', '**/*.png', '-r', 'min-estimate:30']) + File.write(File.join(dir, 'a.txt'), '@todo #90 hello!') + assert_raises RuntimeError do + PDD::Base.new(opts).xml + end + end + end + + def opts(args) + Slop.parse args do + on 'v', 'verbose' + on 's', 'source', argument: :required + on 'e', 'exclude', as: Array, argument: :required + on 'r', 'rule', as: Array, argument: :required end end def matches(xml, xpaths) xpaths.each do |xpath|