article-date-extractor 0.1.1

A library for extracting the publication date from an article or a blog post.
Documentation
extern crate article_date_extractor;
extern crate chrono;

#[test]
fn integration_test() {
    use article_date_extractor::extract_date::extract_article_published_date;
    use chrono::NaiveDate;

    let link_1 = "http://edition.cnn.\
                  com/2015/11/28/opinions/sutter-cop21-paris-preview-two-degrees/index.html";
    let body_1 = include_str!("fixtures/cnn.html");

    let link_2 = "https://www.nytimes.\
                  com/2017/03/15/style/meditation-studio-sound-baths-mndfl-new-york.html";
    let body_2 = include_str!("fixtures/nytimes.html");

    let link_3 = "http://www.bbc.com/news/world-middle-east-39298218";
    let body_3 = include_str!("fixtures/bbc.html");

    let link_4 = "https://research.googleblog.com/2017/03/announcing-guetzli-new-open-source-jpeg.\
                  html";
    let body_4 = include_str!("fixtures/google_blog.html");

    let link_5 = "http://theklog.co/type-of-water-to-wash-face-with/";
    let body_5 = include_str!("fixtures/klog.html");

    assert_eq!(NaiveDate::from_ymd(2015, 11, 28),
               extract_article_published_date(&link_1, body_1).unwrap());

    assert_eq!(NaiveDate::from_ymd(2017, 03, 15),
               extract_article_published_date(&link_2, body_2).unwrap());

    assert_eq!(NaiveDate::from_ymd(2017, 03, 16),
               extract_article_published_date(&link_3, body_3).unwrap());

    assert_eq!(NaiveDate::from_ymd(2017, 03, 16),
               extract_article_published_date(&link_4, body_4).unwrap());

    assert_eq!(NaiveDate::from_ymd(2017, 03, 16),
               extract_article_published_date(&link_5, body_5).unwrap());

    assert!((extract_article_published_date("", "")).is_err());
}