august 2.4.0

A crate & program for converting HTML to plain text.
Documentation
use august;
use std::fs;
use std::path::Path;
use std::io::Read;

fn test_sample(html_path: &Path, txt_path: &Path) {
    let mut html_file = fs::File::open(html_path).expect(
        "Unable to open HTML sample");
    let mut html_contents = String::new();
    html_file.read_to_string(&mut html_contents).expect(
        "Unable to read HTML sample");

    let mut txt_file = fs::File::open(txt_path).expect(
        "Unable to open text sample");
    let mut txt_contents = String::new();
    txt_file.read_to_string(&mut txt_contents).expect(
        "Unable to read text sample");
    assert_eq!(august::convert(html_contents.as_str(), 79), txt_contents)
}

#[test]
fn test_blockquote() {
    let html_path = Path::new("tests/samples/blockquote.html");
    let txt_path = Path::new("tests/samples/blockquote.txt");
    test_sample(&html_path, &txt_path);
}

#[test]
fn test_break() {
    let html_path = Path::new("tests/samples/break.html");
    let txt_path = Path::new("tests/samples/break.txt");
    test_sample(&html_path, &txt_path);
}

#[test]
fn test_garden() {
    let html_path = Path::new("tests/samples/garden.html");
    let txt_path = Path::new("tests/samples/garden.txt");
    test_sample(&html_path, &txt_path);
}

#[test]
fn test_inline() {
    let html_path = Path::new("tests/samples/inline.html");
    let txt_path = Path::new("tests/samples/inline.txt");
    test_sample(&html_path, &txt_path);
}

#[test]
fn test_invoice() {
    let html_path = Path::new("tests/samples/invoice.html");
    let txt_path = Path::new("tests/samples/invoice.txt");
    test_sample(&html_path, &txt_path);
}

#[test]
fn test_pre() {
    let html_path = Path::new("tests/samples/pre.html");
    let txt_path = Path::new("tests/samples/pre.txt");
    test_sample(&html_path, &txt_path);
}

#[test]
fn test_table() {
    let html_path = Path::new("tests/samples/table.html");
    let txt_path = Path::new("tests/samples/table.txt");
    test_sample(&html_path, &txt_path);
}

#[test]
fn test_weird() {
    let html_path = Path::new("tests/samples/weird.html");
    let txt_path = Path::new("tests/samples/weird.txt");
    test_sample(&html_path, &txt_path);
}