1pub mod rofl;
2
3#[cfg(test)]
4mod tests {
5 use std::{fs::File, io::Read};
6
7 use crate::rofl::Rofl;
8
9 #[test]
10 fn only_new() {
11 let rofl = Rofl::new();
12
13 assert!(rofl.get_rofl_json().is_none());
14 }
15
16 #[test]
17 fn parse_rofl_file_v12_3() -> anyhow::Result<()> {
18 let mut rofl = Rofl::new();
19 let _ = rofl.parse_rofl_file("KR-5736537983.rofl")?;
20
21 let rofl_json = rofl.get_rofl_json();
22
23 if let Some(rofl_json) = rofl_json {
24 let parsed = serde_json::to_string_pretty(rofl_json)?;
25 let parsed: String = parsed.split_whitespace().collect();
26
27 let mut f = File::open("rofl.json").expect("Can't open file.");
28 let mut buf = String::new();
29 f.read_to_string(&mut buf).expect("Can't read file.");
30 let buf: String = buf.split_whitespace().collect();
31
32 assert_eq!(parsed, buf);
33 }
34
35 assert!(rofl_json.is_some());
36
37 Ok(())
38 }
39
40 #[test]
41 fn parse_rofl_file_v13_3() -> anyhow::Result<()> {
42 let mut rofl = Rofl::new();
43 let _ = rofl.parse_rofl_file("KR-6363178603.rofl")?;
44
45 let rofl_json = rofl.get_rofl_json();
46
47 if let Some(rofl_json) = rofl_json {
48 let parsed = serde_json::to_string_pretty(rofl_json)?;
49 let parsed: String = parsed.split_whitespace().collect();
50
51 let mut f = File::open("rofl2.json").expect("Can't open file.");
52 let mut buf = String::new();
53 f.read_to_string(&mut buf).expect("Can't read file.");
54 let buf: String = buf.split_whitespace().collect();
55
56 assert_eq!(parsed, buf);
57 }
58
59 assert!(rofl_json.is_some());
60
61 Ok(())
62 }
63}