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.rs42
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 @@
1use crate::zip::file::{bit::DeflateMode, BitFlag};
2
3#[test]
4fn 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}