2007-09-15 04:41:28 +00:00
|
|
|
require "fileutils"
|
2005-07-22 05:41:33 +00:00
|
|
|
|
2004-03-21 10:03:17 +00:00
|
|
|
require "rss-testcase"
|
|
|
|
|
2004-01-28 03:46:13 +00:00
|
|
|
require "rss/1.0"
|
2004-07-06 17:43:05 +00:00
|
|
|
require "rss/dublincore"
|
2004-03-21 10:03:17 +00:00
|
|
|
|
|
|
|
module RSS
|
2004-10-16 04:51:15 +00:00
|
|
|
class TestParser < TestCase
|
|
|
|
def setup
|
|
|
|
@_default_parser = Parser.default_parser
|
2005-07-22 05:41:33 +00:00
|
|
|
@rss10 = make_RDF(<<-EOR)
|
|
|
|
#{make_channel}
|
|
|
|
#{make_item}
|
|
|
|
#{make_textinput}
|
|
|
|
#{make_image}
|
|
|
|
EOR
|
|
|
|
@rss_file = "rss10.rdf"
|
|
|
|
File.open(@rss_file, "w") {|f| f.print(@rss10)}
|
2004-10-16 04:51:15 +00:00
|
|
|
end
|
2007-08-05 03:03:05 +00:00
|
|
|
|
2004-10-16 04:51:15 +00:00
|
|
|
def teardown
|
|
|
|
Parser.default_parser = @_default_parser
|
2005-07-22 05:41:33 +00:00
|
|
|
FileUtils.rm_f(@rss_file)
|
2004-10-16 04:51:15 +00:00
|
|
|
end
|
2004-01-28 03:46:13 +00:00
|
|
|
|
2004-10-16 04:51:15 +00:00
|
|
|
def test_default_parser
|
2005-07-22 05:41:33 +00:00
|
|
|
assert_nothing_raised do
|
2004-10-16 04:51:15 +00:00
|
|
|
Parser.default_parser = RSS::AVAILABLE_PARSERS.first
|
|
|
|
end
|
2004-01-28 03:46:13 +00:00
|
|
|
|
2004-10-16 04:51:15 +00:00
|
|
|
assert_raise(RSS::NotValidXMLParser) do
|
|
|
|
Parser.default_parser = RSS::Parser
|
|
|
|
end
|
|
|
|
end
|
2004-01-31 16:10:53 +00:00
|
|
|
|
2005-07-22 05:41:33 +00:00
|
|
|
def test_parse
|
|
|
|
assert_not_nil(RSS::Parser.parse(@rss_file))
|
|
|
|
|
|
|
|
garbage_rss_file = @rss_file + "-garbage"
|
|
|
|
if RSS::Parser.default_parser.name == "RSS::XMLParserParser"
|
|
|
|
assert_raise(RSS::NotWellFormedError) do
|
|
|
|
RSS::Parser.parse(garbage_rss_file)
|
|
|
|
end
|
|
|
|
else
|
|
|
|
assert_nil(RSS::Parser.parse(garbage_rss_file))
|
|
|
|
end
|
|
|
|
end
|
2004-10-16 04:51:15 +00:00
|
|
|
end
|
2004-01-28 03:46:13 +00:00
|
|
|
end
|