#[cfg(feature = "property")]
pub mod property {
extern crate ical;
use std::fs::File;
use std::io::BufRead;
use std::io::BufReader;
#[test]
fn ical() {
let input = BufReader::new(File::open("./tests/ressources/ical_input.ics").unwrap());
let mut valids =
BufReader::new(File::open("./tests/ressources/ical_property.res").unwrap()).lines();
let reader = ical::PropertyParser::from_reader(input);
for res in reader {
let calendar = match res {
Ok(res) => res,
Err(err) => panic!("Throw errror: {}", err),
};
let output = format!("{:?}", calendar);
assert_eq!(output, valids.next().unwrap().unwrap());
}
}
#[test]
fn vcard() {
let input = BufReader::new(File::open("./tests/ressources/vcard_input.vcf").unwrap());
let mut valids =
BufReader::new(File::open("./tests/ressources/vcard_property.res").unwrap()).lines();
let reader = ical::PropertyParser::from_reader(input);
for res in reader {
let contact = match res {
Ok(res) => res,
Err(err) => panic!("Throw errror: {}", err),
};
let output = format!("{:?}", contact);
assert_eq!(output, valids.next().unwrap().unwrap());
}
}
#[test]
fn errors() {
let input = BufReader::new(File::open("./tests/ressources/property_error.vcf").unwrap());
let mut valids =
BufReader::new(File::open("./tests/ressources/property_error.res").unwrap()).lines();
let reader = ical::PropertyParser::from_reader(input);
for res in reader {
let error = match res {
Ok(res) => panic!("Should return an error: {:?}", res),
Err(err) => err,
};
let output = format!("{}", error);
assert_eq!(output, valids.next().unwrap().unwrap());
}
}
}
#[cfg(feature = "line")]
pub mod line {
extern crate ical;
use std::fs::File;
use std::io::BufRead;
use std::io::BufReader;
#[test]
fn ical() {
let input = BufReader::new(File::open("./tests/ressources/ical_input.ics").unwrap());
let mut valids =
BufReader::new(File::open("./tests/ressources/ical_line.res").unwrap()).lines();
let reader = ical::LineReader::new(input);
for line in reader {
let output = format!("{:?}", line);
assert_eq!(output, valids.next().unwrap().unwrap());
}
}
#[test]
fn vcard() {
let input = BufReader::new(File::open("./tests/ressources/vcard_input.vcf").unwrap());
let mut valids =
BufReader::new(File::open("./tests/ressources/vcard_line.res").unwrap()).lines();
let reader = ical::LineReader::new(input);
for line in reader {
let output = format!("{:?}", line);
assert_eq!(output, valids.next().unwrap().unwrap());
}
}
}
#[cfg(any(feature = "ical", feature = "vcard"))]
pub mod parser {
extern crate ical;
use std::fs::File;
use std::io::BufRead;
use std::io::BufReader;
#[test]
fn ical() {
let input = BufReader::new(File::open("./tests/ressources/ical_input.ics").unwrap());
let mut valids =
BufReader::new(File::open("./tests/ressources/ical_parser.res").unwrap()).lines();
let reader = ical::IcalParser::new(input);
for res in reader {
let calendar = match res {
Ok(res) => res,
Err(err) => panic!("Throw errror: {}", err),
};
let output = format!("{:?}", calendar);
assert_eq!(output, valids.next().unwrap().unwrap());
}
}
#[test]
fn ical_example_1() {
let input = BufReader::new(File::open("./tests/ressources/ical_example_1.ics").unwrap());
let valids = std::fs::read_to_string("./tests/ressources/ical_example_1.res").unwrap().replace('\n', "");
let reader = ical::IcalParser::new(input);
for res in reader {
let calendar = match res {
Ok(res) => res,
Err(err) => panic!("{}", err),
};
let output = format!("{:?}", calendar);
assert_eq!(output, valids);
}
}
#[test]
fn vcard() {
let input = BufReader::new(File::open("./tests/ressources/vcard_input.vcf").unwrap());
let mut valids =
BufReader::new(File::open("./tests/ressources/vcard_parser.res").unwrap()).lines();
let reader = ical::VcardParser::new(input);
for res in reader {
let contact = match res {
Ok(res) => res,
Err(err) => panic!("Throw errror: {}", err),
};
let output = format!("{:?}", contact);
assert_eq!(output, valids.next().unwrap().unwrap());
}
}
#[test]
fn vcard_lowercase() {
let input = BufReader::new(File::open("./tests/ressources/vcard_lowercase.vcf").unwrap());
let mut valids =
BufReader::new(File::open("./tests/ressources/vcard_lowercase.res").unwrap()).lines();
let reader = ical::VcardParser::new(input);
for res in reader {
let contact = match res {
Ok(res) => res,
Err(err) => panic!("Throw error: {:?}", err),
};
let output = format!("{:?}", contact);
assert_eq!(output, valids.next().unwrap().unwrap());
}
}
}