use html_entity_fix::fix;
#[test]
fn decodes_named_entities() {
assert_eq!(fix("AT&T"), "AT&T");
assert_eq!(fix("<a>"), "<a>");
assert_eq!(fix("she said "hi""), "she said \"hi\"");
assert_eq!(fix("don't"), "don't");
}
#[test]
fn decodes_decimal_numeric() {
assert_eq!(fix("'hello'"), "'hello'");
assert_eq!(fix("–"), "–");
}
#[test]
fn decodes_hex_numeric() {
assert_eq!(fix("'"), "'");
assert_eq!(fix("'"), "'");
}
#[test]
fn decodes_nbsp_and_typography() {
assert_eq!(fix("a b"), "a\u{00A0}b");
assert_eq!(fix("…"), "…");
assert_eq!(fix("—"), "—");
assert_eq!(fix("“hi”"), "“hi”");
}
#[test]
fn unknown_entity_passes_through() {
assert_eq!(fix("&foo;"), "&foo;");
}
#[test]
fn passes_plain_text() {
assert_eq!(fix("no entities here"), "no entities here");
}
#[test]
fn preserves_unicode() {
assert_eq!(fix("café résumé"), "café résumé");
}
#[test]
fn open_amp_without_semi_passes() {
assert_eq!(fix("rock & roll"), "rock & roll");
}