summaryrefslogtreecommitdiffstats
path: root/third_party/rust/nom/tests/escaped.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/nom/tests/escaped.rs')
-rw-r--r--third_party/rust/nom/tests/escaped.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/third_party/rust/nom/tests/escaped.rs b/third_party/rust/nom/tests/escaped.rs
new file mode 100644
index 0000000000..47c6a71e52
--- /dev/null
+++ b/third_party/rust/nom/tests/escaped.rs
@@ -0,0 +1,28 @@
+use nom::bytes::complete::escaped;
+use nom::character::complete::digit1;
+use nom::character::complete::one_of;
+use nom::{error::ErrorKind, Err, IResult};
+
+fn esc(s: &str) -> IResult<&str, &str, (&str, ErrorKind)> {
+ escaped(digit1, '\\', one_of("\"n\\"))(s)
+}
+
+#[cfg(feature = "alloc")]
+fn esc_trans(s: &str) -> IResult<&str, String, (&str, ErrorKind)> {
+ use nom::bytes::complete::{escaped_transform, tag};
+ escaped_transform(digit1, '\\', tag("n"))(s)
+}
+
+#[test]
+fn test_escaped() {
+ assert_eq!(esc("abcd"), Err(Err::Error(("abcd", ErrorKind::Escaped))));
+}
+
+#[test]
+#[cfg(feature = "alloc")]
+fn test_escaped_transform() {
+ assert_eq!(
+ esc_trans("abcd"),
+ Err(Err::Error(("abcd", ErrorKind::EscapedTransform)))
+ );
+}