1 use nom::{Err, error::ErrorKind, IResult};
2 use nom::character::complete::digit1;
3 use nom::bytes::complete::escaped;
4 use nom::character::complete::one_of;
5 
6 fn esc(s: &str) -> IResult<&str, &str> {
7     escaped(digit1, '\\', one_of("\"n\\"))(s)
8 }
9 
10 #[cfg(feature="alloc")]
11 fn esc_trans(s: &str) -> IResult<&str, String> {
12     use nom::bytes::complete::{escaped_transform, tag};
13     escaped_transform(digit1, '\\', |i: &str| tag("n")(i))(s)
14 }
15 
16 #[test]
17 fn test_escaped() {
18     assert_eq!(esc("abcd"), Err(Err::Error(("abcd", ErrorKind::Escaped))));
19 }
20 
21 #[test]
22 #[cfg(feature="alloc")]
23 fn test_escaped_transform() {
24     assert_eq!(esc_trans("abcd"), Err(Err::Error(("abcd", ErrorKind::EscapedTransform))));
25 }
26