diff options
| author | Igor Tolmachev <me@igorek.dev> | 2024-06-25 23:23:19 +0900 |
|---|---|---|
| committer | Igor Tolmachev <me@igorek.dev> | 2024-06-25 23:23:19 +0900 |
| commit | 3c6dffa5ccfc72804a76f2090738721b90b10ce8 (patch) | |
| tree | 1026d7ea77f938aaf22470741eae3f01eced7ce9 /src/zip/tests.rs | |
| parent | a4e92ed9bec1f5879eb1c20dfe281c4d25ed5f89 (diff) | |
| download | archivator-3c6dffa5ccfc72804a76f2090738721b90b10ce8.tar.gz archivator-3c6dffa5ccfc72804a76f2090738721b90b10ce8.zip | |
Add bit flag logic
Diffstat (limited to 'src/zip/tests.rs')
| -rw-r--r-- | src/zip/tests.rs | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/zip/tests.rs b/src/zip/tests.rs new file mode 100644 index 0000000..d64e626 --- /dev/null +++ b/src/zip/tests.rs | |||
| @@ -0,0 +1,42 @@ | |||
| 1 | use crate::zip::file::{bit::DeflateMode, BitFlag}; | ||
| 2 | |||
| 3 | #[test] | ||
| 4 | fn test_bit_flag() { | ||
| 5 | macro_rules! bit_flag { | ||
| 6 | ($($get:ident $set:ident)+) => { | ||
| 7 | $( | ||
| 8 | let mut bit_flag = BitFlag::new(0); | ||
| 9 | |||
| 10 | assert_eq!(bit_flag.$get(), false); | ||
| 11 | bit_flag.$set(true); | ||
| 12 | assert_eq!(bit_flag.$get(), true); | ||
| 13 | bit_flag.$set(false); | ||
| 14 | assert_eq!(bit_flag.$get(), false); | ||
| 15 | )+ | ||
| 16 | }; | ||
| 17 | } | ||
| 18 | |||
| 19 | bit_flag!( | ||
| 20 | is_encrypted set_encrypted | ||
| 21 | is_imploding_8k set_imploding_8k | ||
| 22 | is_imploding_3sf_trees set_imploding_3sf_trees | ||
| 23 | is_lzma_has_eos_marker set_lzma_has_eos_marker | ||
| 24 | is_has_data_descriptor set_has_data_descriptor | ||
| 25 | is_patched_data set_patched_data | ||
| 26 | is_strong_encryption set_strong_encryption | ||
| 27 | is_utf8 set_utf8 | ||
| 28 | is_cd_encryption set_cd_encryption | ||
| 29 | ); | ||
| 30 | |||
| 31 | let mut bit_flag = BitFlag::new(0); | ||
| 32 | |||
| 33 | assert_eq!(bit_flag.deflate_mode(), DeflateMode::Normal); | ||
| 34 | bit_flag.set_deflate_mode(DeflateMode::Maximum); | ||
| 35 | assert_eq!(bit_flag.deflate_mode(), DeflateMode::Maximum); | ||
| 36 | bit_flag.set_deflate_mode(DeflateMode::Fast); | ||
| 37 | assert_eq!(bit_flag.deflate_mode(), DeflateMode::Fast); | ||
| 38 | bit_flag.set_deflate_mode(DeflateMode::SuperFast); | ||
| 39 | assert_eq!(bit_flag.deflate_mode(), DeflateMode::SuperFast); | ||
| 40 | bit_flag.set_deflate_mode(DeflateMode::Normal); | ||
| 41 | assert_eq!(bit_flag.deflate_mode(), DeflateMode::Normal); | ||
| 42 | } | ||
