aboutsummaryrefslogtreecommitdiff
path: root/src/zip/tests.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/zip/tests.rs')
-rw-r--r--src/zip/tests.rs34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/zip/tests.rs b/src/zip/tests.rs
index 92a9c3f..e24cdfe 100644
--- a/src/zip/tests.rs
+++ b/src/zip/tests.rs
@@ -1,3 +1,4 @@
1use crate::zip::cp437::{from_char, is_cp437, to_char, FromCp437};
1use crate::zip::{bit::DeflateMode, BitFlag}; 2use crate::zip::{bit::DeflateMode, BitFlag};
2 3
3#[test] 4#[test]
@@ -40,3 +41,36 @@ fn test_bit_flag() {
40 bit_flag.set_deflate_mode(DeflateMode::Normal); 41 bit_flag.set_deflate_mode(DeflateMode::Normal);
41 assert_eq!(bit_flag.deflate_mode(), DeflateMode::Normal); 42 assert_eq!(bit_flag.deflate_mode(), DeflateMode::Normal);
42} 43}
44
45#[test]
46fn test_cp437() {
47 for b in 0..=255 {
48 assert_eq!(from_char(to_char(b)).unwrap(), b);
49 assert!(is_cp437(to_char(b)), "byte: {}", b);
50 }
51
52 assert_eq!(from_char('Σ'), Some(228));
53 assert_eq!(from_char('§'), None);
54
55 assert!(is_cp437('Σ'));
56 assert!(!is_cp437('§'));
57
58 assert_eq!(
59 Vec::from_cp437("hello world").unwrap(),
60 [104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]
61 );
62 assert_eq!(
63 String::from_cp437([104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]),
64 "hello world"
65 );
66
67 assert_eq!(
68 Vec::from_cp437("ABCDEFGHIJKLMNOPQRSTUVWXYZ").unwrap(),
69 (65..=90).collect::<Vec<u8>>()
70 );
71
72 assert_eq!(
73 String::from_cp437((97..=122).collect::<Vec<u8>>()),
74 "abcdefghijklmnopqrstuvwxyz"
75 );
76}