irongit

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

43 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 events = EventRE::iter_from_file("./samples/events.txt").unwrap();
14 assert_eq!(events.count(), 13);
15}
16
17#[test]
18pub fn first_event() {
19 let event = EventRE::from_file("samples/events.txt").unwrap().unwrap();
20 assert_eq!(event.val, "7:30–8:00 AM Wake up + hydrate + light stretch");
21}
22
23#[test]
24pub fn first_event_captures() {
25 let mut content = String::new();
26 let captures = EventRE::captures_from_file(&mut content, "samples/events.txt")
27 .unwrap()
28 .unwrap();
29 assert_eq!(
30 captures.get(0).unwrap().as_str(),
31 "7:30–8:00 AM Wake up + hydrate + light stretch"
32 );
33 assert_eq!(captures.name("end").unwrap().as_str(), "8:00");
34 assert_eq!(captures.name("end").unwrap().start(), 57);
35}
36
37#[test]
38pub fn event_captures_iter() {
39 let mut content = String::new();
40 let captures_iter =
41 EventRE::captures_iter_from_file(&mut content, "samples/events.txt").unwrap();
42 assert_eq!(captures_iter.count(), 13);
43}