1mod check_gir;
6mod errors;
7mod utils;
8
9pub use check_gir::{check_gir_content, check_gir_file};
10pub use errors::Errors;
11
12#[test]
13fn simple_check() {
14 let content = r#"something = [
15 test1,
16 test3,
17 test2,
18]"#;
19
20 let errors = check_gir_content(content);
21 assert_eq!(errors.nb_errors, 1);
22}
23
24#[test]
25fn simple_check2() {
26 let content = r#"
27[[object]]
28name = "abc"
29 [[object.func]]
30 data = "lol"
31
32[[object]]
33name = "aac"
34 [[object.func]]
35 data = "another"
36"#;
37
38 let errors = check_gir_content(content);
39 assert_eq!(errors.nb_errors, 1);
40}
41
42#[test]
43fn simple_check3() {
44 let content = r#"something = [
45 test1,
46 test2,
47 test2
48]"#;
49
50 let errors = check_gir_content(content);
51 assert_eq!(errors.nb_errors, 0);
52}
53
54#[test]
55fn simple_check4() {
56 let content = r#"something = [
57 "test1",
58 "test3",
59 "test2",
60]"#;
61
62 let errors = check_gir_content(content);
63 assert_eq!(errors.nb_errors, 1);
64}
65
66#[test]
67fn check_order_with_comments() {
68 let content = r#"something = [
69 "test1",
70 #just a comment
71 # on multiple lines
72 "test3",
73 "test2",
74]"#;
75
76 let errors = check_gir_content(content);
77 assert_eq!(errors.nb_errors, 1);
78 assert_eq!(
79 errors.to_string(),
80 r#"ERROR: "test3" should be after "test2"
81
82== Expected output ==
83something = [
84 "test1",
85 "test2",
86 #just a comment
87 # on multiple lines
88 "test3",
89]"#
90 );
91}
92
93#[test]
94fn check_order_with_comments2() {
95 let content = r#"something = [
96 #just a comment
97 # on multiple lines
98 "test3",
99 "test1",
100 "test2",
101]"#;
102
103 let errors = check_gir_content(content);
104 assert_eq!(errors.nb_errors, 1);
105 assert_eq!(
106 errors.to_string(),
107 r#"ERROR: "test3" should be after "test1"
108
109== Expected output ==
110something = [
111 "test1",
112 "test2",
113 #just a comment
114 # on multiple lines
115 "test3",
116]"#
117 );
118}
119
120#[test]
121fn check_order_with_comments3() {
122 let content = r#"something = [
123 #just a comment
124 # on multiple lines
125 "test3",
126 # another comment!
127 "test1",
128 "test2",
129]"#;
130
131 let errors = check_gir_content(content);
132 assert_eq!(errors.nb_errors, 1);
133 assert_eq!(
134 errors.to_string(),
135 r#"ERROR: "test3" should be after "test1"
136
137== Expected output ==
138something = [
139 # another comment!
140 "test1",
141 "test2",
142 #just a comment
143 # on multiple lines
144 "test3",
145]"#
146 );
147}