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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
extern crate atom_syndication as atom;
use std::fs::File;
use std::io::BufReader;
use crate::atom::{Content, Entry, Feed};
macro_rules! feed {
($f:expr) => {{
let file = File::open($f).unwrap();
let reader = BufReader::new(file);
Feed::read_from(reader).unwrap()
}};
}
#[test]
fn write_feed() {
let feed = feed!("tests/data/feed.xml");
assert_eq!(feed.to_string().parse::<Feed>().unwrap(), feed);
}
#[test]
fn write_entry() {
let feed = feed!("tests/data/entry.xml");
assert_eq!(feed.to_string().parse::<Feed>().unwrap(), feed);
}
#[test]
fn write_category() {
let feed = feed!("tests/data/category.xml");
assert_eq!(feed.to_string().parse::<Feed>().unwrap(), feed);
}
#[test]
fn write_generator() {
let feed = feed!("tests/data/generator.xml");
assert_eq!(feed.to_string().parse::<Feed>().unwrap(), feed);
}
#[test]
fn write_link() {
let feed = feed!("tests/data/link.xml");
assert_eq!(feed.to_string().parse::<Feed>().unwrap(), feed);
}
#[test]
fn write_person() {
let feed = feed!("tests/data/person.xml");
assert_eq!(feed.to_string().parse::<Feed>().unwrap(), feed);
}
#[test]
fn write_source() {
let feed = feed!("tests/data/source.xml");
assert_eq!(feed.to_string().parse::<Feed>().unwrap(), feed);
}
#[test]
fn write_extension() {
let feed = feed!("tests/data/extension.xml");
assert_eq!(feed.to_string().parse::<Feed>().unwrap(), feed);
}
#[test]
fn write_content_roundtrip() {
let mut content = Content::default();
content.set_base("http://example.com/blog/".to_string());
content.set_content_type("html".to_string());
content.set_value("<a href=\"2021-05-31/article.html\">Read more</a>".to_string());
let mut entry = Entry::default();
entry.set_content(content);
let mut feed = Feed::default();
feed.set_entries(vec![entry]);
assert_eq!(feed.to_string().parse::<Feed>().unwrap(), feed);
}
|