]> git.proxmox.com Git - rustc.git/blob - vendor/generic-array-0.12.3/tests/hex.rs
New upstream version 1.51.0+dfsg1
[rustc.git] / vendor / generic-array-0.12.3 / tests / hex.rs
1 #[macro_use]
2 extern crate generic_array;
3 extern crate typenum;
4
5 use generic_array::GenericArray;
6 use std::str::from_utf8;
7 use typenum::U2048;
8
9 #[test]
10 fn short_lower_hex() {
11 let ar = arr![u8; 10, 20, 30];
12 assert_eq!(format!("{:x}", ar), "0a141e");
13 }
14
15 #[test]
16 fn short_upper_hex() {
17 let ar = arr![u8; 30, 20, 10];
18 assert_eq!(format!("{:X}", ar), "1E140A");
19 }
20
21 #[test]
22 fn long_lower_hex() {
23 let ar = GenericArray::<u8, U2048>::default();
24 assert_eq!(format!("{:x}", ar), from_utf8(&[b'0'; 4096]).unwrap());
25 }
26
27 #[test]
28 fn long_lower_hex_truncated() {
29 let ar = GenericArray::<u8, U2048>::default();
30 assert_eq!(format!("{:.3001x}", ar), from_utf8(&[b'0'; 3001]).unwrap());
31 }
32
33 #[test]
34 fn long_upper_hex() {
35 let ar = GenericArray::<u8, U2048>::default();
36 assert_eq!(format!("{:X}", ar), from_utf8(&[b'0'; 4096]).unwrap());
37 }
38
39 #[test]
40 fn long_upper_hex_truncated() {
41 let ar = GenericArray::<u8, U2048>::default();
42 assert_eq!(format!("{:.2777X}", ar), from_utf8(&[b'0'; 2777]).unwrap());
43 }
44
45 #[test]
46 fn truncated_lower_hex() {
47 let ar = arr![u8; 10, 20, 30, 40, 50];
48 assert_eq!(format!("{:.2x}", ar), "0a");
49 assert_eq!(format!("{:.3x}", ar), "0a1");
50 assert_eq!(format!("{:.4x}", ar), "0a14");
51 }
52
53 #[test]
54 fn truncated_upper_hex() {
55 let ar = arr![u8; 30, 20, 10, 17, 0];
56 assert_eq!(format!("{:.4X}", ar), "1E14");
57 assert_eq!(format!("{:.5X}", ar), "1E140");
58 assert_eq!(format!("{:.6X}", ar), "1E140A");
59 assert_eq!(format!("{:.7X}", ar), "1E140A1");
60 assert_eq!(format!("{:.8X}", ar), "1E140A11");
61 }