diff options
| author | Igor Tolmachev <me@igorek.dev> | 2024-07-14 16:01:10 +0900 |
|---|---|---|
| committer | Igor Tolmachev <me@igorek.dev> | 2024-07-14 16:01:10 +0900 |
| commit | 75f4a84e977a1f409e6580056dc31343e15bbf3e (patch) | |
| tree | f342f5df0b3b5d98ded4ebd7db097c0d89e4532b /src/zip/tests.rs | |
| parent | 8261afbb5981c62d970c045ecc97cab81000e8e2 (diff) | |
| download | archivator-75f4a84e977a1f409e6580056dc31343e15bbf3e.tar.gz archivator-75f4a84e977a1f409e6580056dc31343e15bbf3e.zip | |
Add support of cp437 encoding
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 | } | ||
