diff options
Diffstat (limited to 'src/zip/tests.rs')
| -rw-r--r-- | src/zip/tests.rs | 34 |
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 @@ | |||
| 1 | use crate::zip::cp437::{from_char, is_cp437, to_char, FromCp437}; | ||
| 1 | use crate::zip::{bit::DeflateMode, BitFlag}; | 2 | use 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] | ||
| 46 | fn 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 | } | ||
