1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
#!/usr/bin/ruby -w
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
require 'test/unit'
require 'feedparser'
class TextWrappedOutputTest < Test::Unit::TestCase
if File::directory?('test/source')
SRCDIR = 'test/source'
DSTDIR = 'test/textwrapped_output'
elsif File::directory?('source')
SRCDIR = 'source'
DSTDIR = 'textwrapped_output'
else
raise 'source directory not found.'
end
def test_parser
allok = true
Dir.foreach(SRCDIR) do |f|
next if f !~ /.xml$/
next if ENV['SOURCE'] != nil and ENV['SOURCE'] != f
puts "Checking #{f}"
str = File::read(SRCDIR + '/' + f)
chan = FeedParser::Feed::new(str)
chanstr = chan.to_text(false, 72) # localtime set to false
if File::exist?(DSTDIR + '/' + f.gsub(/.xml$/, '.output'))
output = File::read(DSTDIR + '/' + f.gsub(/.xml$/, '.output'))
if output != chanstr
File::open(DSTDIR + '/' + f.gsub(/.xml$/, '.output.new'), "w") do |fd|
fd.print(chanstr)
end
puts "Test failed for #{f}."
puts " Check: diff -u #{DSTDIR + '/' + f.gsub(/.xml$/, '.output')}{,.new}"
puts " Commit: mv -f #{DSTDIR + '/' + f.gsub(/.xml$/, '.output')}{.new,}"
allok = false
end
else
puts "Missing #{DSTDIR + '/' + f.gsub(/.xml$/, '.output')}. Writing it, but check manually!"
File::open(DSTDIR + '/' + f.gsub(/.xml$/, '.output'), "w") do |f|
f.print(chanstr)
end
allok = false
end
end
assert(allok)
end
end
|