diff --git a/src/text.rs b/src/text.rs index cc56233..531656c 100644 --- a/src/text.rs +++ b/src/text.rs @@ -242,3 +242,28 @@ impl Text { } } } + +#[cfg(test)] +mod test { + use super::*; + + #[test] + fn test_cp437() { + let body = include_bytes!("../tests/CP437.txt"); + let mut text = Text::from("", body.to_vec(), &Config::default(), false); + text.mode = ui::Mode::Print; + + let res = text.render(); + assert!(!res.contains("╟")); + assert!(!res.contains("≈")); + assert!(!res.contains("Ω")); + assert!(!res.contains("Θ")); + + text.toggle_encoding(); + let res = text.render(); + assert!(res.contains("╟")); + assert!(res.contains("≈")); + assert!(res.contains("Ω")); + assert!(res.contains("Θ")); + } +} diff --git a/tests/CP437.png b/tests/CP437.png new file mode 100644 index 0000000..ebee607 Binary files /dev/null and b/tests/CP437.png differ diff --git a/tests/CP437.txt b/tests/CP437.txt new file mode 100644 index 0000000..03912c9 --- /dev/null +++ b/tests/CP437.txt @@ -0,0 +1,19 @@ +CP437 (Extended ASCII) + +Ŀ + +Ĵ + +Ĵ + +Ĵ + +Ĵ + +Ĵ + +Ĵ + +Ĵ + + \ No newline at end of file