• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #![cfg(feature = "stream")]
2 
3 #[macro_use]
4 extern crate nom;
5 
6 use nom::{not_line_ending, IResult};
7 
8 use std::fmt::Debug;
9 
10 /*
11 #[test]
12 #[allow(unused_must_use)]
13 fn tag() {
14   FileProducer::new("assets/links.txt", 20).map(|producer: FileProducer| {
15     let mut p = producer;
16     p.refill();
17 
18     consumer_from_parser!(PrintConsumer<()>, flat_map!(map_res!(tag!("https!"), str::from_utf8), print));
19     let mut cs = PrintConsumer::new();
20     for _ in 1..4 {
21       p.apply(&mut cs);
22     }
23   });
24 }
25 */
26 
print<T: Debug>(input: T) -> IResult<T, ()>27 pub fn print<T: Debug>(input: T) -> IResult<T, ()> {
28   println!("{:?}", input);
29   Ok((input, ()))
30 }
31 
32 #[test]
is_not()33 fn is_not() {
34   //is_not!(foo b"\r\n");
35   named!(foo<&[u8],&[u8]>, is_not!(&b"\r\n"[..]));
36   let a = &b"ab12cd\nefgh"[..];
37   assert_eq!(foo(a), Ok((&b"\nefgh"[..], &b"ab12cd"[..])));
38 }
39 
40 #[test]
exported_public_method_defined_by_macro()41 fn exported_public_method_defined_by_macro() {
42   let a = &b"ab12cd\nefgh"[..];
43   assert_eq!(not_line_ending(a), Ok((&b"\nefgh"[..], &b"ab12cd"[..])));
44 }
45