irongit

A rust macro that allows regular expression creation through independent files. Allows fully typed named groups.

44 lines1.2 KBRust
1use regex_folder_macro::load_regex_files;
2
3load_regex_files!("./regex");
4
5#[test]
6pub fn events_vec() {
7 let events = EventRE::vec_from_file("./samples/events.txt");
8 assert!(events.unwrap().len() == 13);
9}
10
11#[test]
12pub fn events_iter() {
13 let mut buf = String::new();
14 let events = EventRE::iter_from_file(&mut buf, "./samples/events.txt").unwrap();
15 assert_eq!(events.count(), 13);
16}
17
18#[test]
19pub fn first_event() {
20 let event = EventRE::from_file("samples/events.txt").unwrap().unwrap();
21 assert_eq!(event.val, "7:30–8:00 AM Wake up + hydrate + light stretch");
22}
23
24#[test]
25pub fn first_event_captures() {
26 let mut content = String::new();
27 let captures = EventRE::captures_from_file(&mut content, "samples/events.txt")
28 .unwrap()
29 .unwrap();
30 assert_eq!(
31 captures.get(0).unwrap().as_str(),
32 "7:30–8:00 AM Wake up + hydrate + light stretch"
33 );
34 assert_eq!(captures.name("end").unwrap().as_str(), "8:00");
35 assert_eq!(captures.name("end").unwrap().start(), 57);
36}
37
38#[test]
39pub fn event_captures_iter() {
40 let mut content = String::new();
41 let captures_iter =
42 EventRE::captures_iter_from_file(&mut content, "samples/events.txt").unwrap();
43 assert_eq!(captures_iter.count(), 13);
44}