htmd 0.2.2

A turndown.js inspired HTML to Markdown converter.
Documentation
#[cfg(test)]
mod table_tests_1 {
    use htmd::convert;

    #[test]
    fn test_simple_table() {
        let html = r#"
        <table>
            <tr>
                <th>Header 1</th>
                <th>Header 2</th>
            </tr>
            <tr>
                <td>Cell 1</td>
                <td>Cell 2</td>
            </tr>
            <tr>
                <td>Cell 3</td>
                <td>Cell 4</td>
            </tr>
        </table>
        "#;

        let expected = r#"
| Cell 1 | Cell 2 |
| Cell 3 | Cell 4 |
"#
        .trim();

        let markdown = convert(html).unwrap();
        let result = markdown.trim();
        assert_eq!(expected, result);
    }

    #[test]
    fn test_table_with_thead_tbody() {
        let html = r#"
        <table>
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Age</th>
                    <th>Location</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>John</td>
                    <td>35</td>
                    <td>New York</td>
                </tr>
                <tr>
                    <td>Jane</td>
                    <td>28</td>
                    <td>San Francisco</td>
                </tr>
            </tbody>
        </table>
        "#;

        let expected = r#"
| Name | Age | Location      |
| ---- | --- | ------------- |
| John | 35  | New York      |
| Jane | 28  | San Francisco |
"#
        .trim();

        let markdown = convert(html).unwrap();
        let result = markdown.trim();
        assert_eq!(expected, result);
    }

    #[test]
    fn test_table_with_caption() {
        let html = r#"
        <table>
            <caption>Sample Table</caption>
            <tbody>
                <tr>
                    <td>John</td>
                    <td>35</td>
                    <td>New York</td>
                </tr>
                <tr>
                    <td>Jane</td>
                    <td>28</td>
                    <td>San Francisco</td>
                </tr>
            </tbody>
        </table>
        "#;

        let expected = r#"
Sample Table
| John | 35 | New York      |
| Jane | 28 | San Francisco |
"#
        .trim();

        let markdown = convert(html).unwrap();
        let result = markdown.trim();
        assert_eq!(expected, result);
    }

    #[test]
    fn test_empty_table() {
        let html = "<table></table>";
        let markdown = convert(html).unwrap();
        let result = markdown.trim();
        assert_eq!("", result);
    }
}