diff --git a/src/str.rs b/src/str.rs index 056df39..56684d1 100644 --- a/src/str.rs +++ b/src/str.rs @@ -58,10 +58,23 @@ pub fn unescape(s: &str) -> Vec { } #[test] -fn test_unescape() { +fn escape_unescape() { let s = "\\000"; let unescaped = unescape(s); let escaped = escape(&unescaped); assert_eq!(escaped, "\\000"); assert_eq!(unescaped[0], 0); + // short string + let s = "\\00"; + let unescaped = unescape(s); + let escaped = escape(&unescaped); + assert_eq!(escaped, "\\00"); + assert_eq!(unescaped[0], 0); + // string containing upper and lower case hex + let s = "\\A0a"; + let unescaped = unescape(s); + let escaped = escape(&unescaped); + assert_eq!(escaped, "\\a0a"); + assert_eq!(unescaped[0], 160); // A0 + assert_eq!(unescaped[1], 97); // A }