Files
EWF/library/text/parser/feed/tests/application.e
Jocelyn Fiat e2c70e6d70 Updated a few comments.
Renamed generator to follow *_FEED_GENERATOR naming.
Renamed feed entry as feed item.
Made FEED conforms to ITERABLE [FEED_ITEM] for convenience.
2015-09-16 10:02:09 +02:00

92 lines
1.6 KiB
Plaintext

note
description: "Summary description for {APPLICATION}."
author: ""
date: "$Date$"
revision: "$Revision$"
class
APPLICATION
create
make
feature -- Initialization
make
-- New test routine
do
test_file ("data_rss_1_0.rss")
test_web ("https://bertrandmeyer.com/feed/")
end
test_file (fn: READABLE_STRING_GENERAL)
local
t: STRING
f: PLAIN_TEXT_FILE
do
create f.make_with_name (fn)
f.open_read
create t.make_empty
from
f.read_stream_thread_aware (1_024)
until
f.last_string.count < 1024
loop
t.append (f.last_string)
f.read_stream_thread_aware (1_024)
end
t.append (f.last_string)
f.close
test_feed (t)
end
test_feed (t: READABLE_STRING_8)
local
feed_parser: FEED_DEFAULT_PARSERS
vis: FEED_TO_STRING_32_DEBUG_VISITOR
gen: RSS_2_FEED_GENERATOR
atom_gen: ATOM_FEED_GENERATOR
s: STRING_32
s8: STRING_8
pp: XML_PRETTY_PRINT_FILTER
do
create feed_parser
if attached feed_parser.feed_from_string (t) as l_feed then
create s.make_empty
create vis.make (s)
l_feed.accept (vis)
print (s)
create s8.make_empty
create gen.make (s8)
l_feed.accept (gen)
print (s8)
create s8.make_empty
create atom_gen.make (s8)
l_feed.accept (atom_gen)
print (s8)
end
end
test_web (a_url: READABLE_STRING_8)
local
cl: LIBCURL_HTTP_CLIENT
sess: HTTP_CLIENT_SESSION
do
create cl.make
sess := cl.new_session (a_url)
sess.set_is_insecure (True)
if attached sess.get ("", Void) as resp then
if
not resp.error_occurred and then
attached resp.body as l_feed
then
test_feed (l_feed)
end
end
end
end