rofl_parser/
lib.rs

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}