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 buf = String::new();
27 let captures = EventRE::captures_from_file(&mut buf, "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 let end = captures.name("end").unwrap();
35 assert_eq!(end.as_str(), "8:00");
36 assert_eq!(end.start(), 57);
37}
38
39#[test]
40pub fn event_captures_iter() {
41 let mut buf = String::new();
42 let captures_iter = EventRE::captures_iter_from_file(&mut buf, "samples/events.txt").unwrap();
43 assert_eq!(captures_iter.count(), 13);
44}