1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#[cfg(test)]
#[macro_use]
extern crate proptest;
#[cfg(test)]
extern crate hex;
mod encode;
pub use encode::{hex_string, hex_to};
#[cfg(test)]
mod tests {
use super::*;
use encode::hex_string;
use std::str;
fn _test_hex(s: &String) {
let mut buffer = vec![0; s.as_bytes().len() * 2];
hex_to(s.as_bytes(), &mut buffer).unwrap();
let encode = unsafe { str::from_utf8_unchecked(&buffer[..s.as_bytes().len() * 2]) };
let hex_string = hex_string(s.as_bytes()).unwrap();
assert_eq!(encode, hex::encode(s));
assert_eq!(hex_string, hex::encode(s));
}
proptest! {
#[test]
fn test_hex(ref s in ".*") {
_test_hex(s);
}
}
}