Skip to content

Commit 854462b

Browse files
committed
implementing stricter testing
1 parent 7ec2fce commit 854462b

File tree

1 file changed

+24
-20
lines changed

1 file changed

+24
-20
lines changed

src/lib.rs

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -153,16 +153,16 @@ fn test_with_deny_list_from_files() {
153153
generated_docs.iter().next().unwrap().0,
154154
PathBuf::from("sql_files/with_mixed_comments.sql")
155155
);
156-
let table_names = vec!["users", "posts"];
156+
let table_names = ["users", "posts"];
157157
let table_comments =
158-
vec!["Users table stores user account information", "Posts table stores blog posts"];
158+
["Users table stores user account information", "Posts table stores blog posts"];
159159
for (i, (_, sqldoc)) in generated_docs.iter().enumerate() {
160160
assert_eq!(sqldoc.tables()[i].name(), table_names[i]);
161161
assert_eq!(sqldoc.tables()[i].doc().as_ref().unwrap(), table_comments[i]);
162162
}
163-
let user_columns = vec!["id", "username", "email", "created_at"];
163+
let user_columns = ["id", "username", "email", "created_at"];
164164
let user_columns_comments =
165-
vec!["Primary key", "Username for login", "Email address", "When the user registered"];
165+
["Primary key", "Username for login", "Email address", "When the user registered"];
166166
for (i, column) in generated_docs[0].1.tables()[0].columns().iter().enumerate() {
167167
assert_eq!(column.name(), user_columns[i]);
168168
assert_eq!(column.doc().as_ref().unwrap(), user_columns_comments[i]);
@@ -172,28 +172,34 @@ fn test_with_deny_list_from_files() {
172172
#[test]
173173
fn test_with_no_deny_list_from_files() {
174174
let generated_docs = generate_docs_from_dir_no_deny("sql_files").unwrap();
175-
let expected_paths = vec![
175+
let expected_paths = [
176176
"sql_files/without_comments.sql",
177177
"sql_files/with_multiline_comments.sql",
178178
"sql_files/with_single_line_comments.sql",
179179
"sql_files/with_mixed_comments.sql",
180180
];
181-
let table_names = vec!["users", "posts"];
181+
let table_names = ["users", "posts"];
182182
let table_comments =
183-
vec!["Users table stores user account information", "Posts table stores blog posts"];
184-
let user_columns = vec!["id", "username", "email", "created_at"];
183+
["Users table stores user account information", "Posts table stores blog posts"];
184+
let user_columns = ["id", "username", "email", "created_at"];
185185
let user_columns_comments =
186-
vec!["Primary key", "Username for login", "Email address", "When the user registered"];
186+
["Primary key", "Username for login", "Email address", "When the user registered"];
187187
for (i, (buf, sql_docs)) in generated_docs.iter().enumerate() {
188188
assert_eq!(buf, expected_paths[i]);
189189
if buf == "sql_files/with_mixed_comments.sql" {
190190
for (i, table) in sql_docs.tables().iter().enumerate() {
191191
assert_eq!(table.name(), table_names[i]);
192-
assert_eq!(table.doc().as_ref().unwrap(), table_comments[i]);
192+
match table.doc().as_ref() {
193+
Some(val) => assert_eq!(val, table_comments[i]),
194+
None => panic!("There should be a value for the table doc")
195+
}
193196
if table.name() == "users" {
194197
for (i, column) in table.columns().iter().enumerate() {
195198
assert_eq!(column.name(), user_columns[i]);
196-
assert_eq!(column.doc().as_ref().unwrap(), user_columns_comments[i]);
199+
match column.doc().as_ref() {
200+
Some(val) => assert_eq!(val, user_columns_comments[i]),
201+
None => panic!("there should be a value for the doc column")
202+
}
197203
}
198204
}
199205
}
@@ -205,11 +211,10 @@ fn test_doc_errors() {
205211
use std::fs;
206212

207213
use crate::comments::Location;
208-
let invalid_dir = "INVALID";
209-
let io_error = fs::read_dir(invalid_dir).unwrap_err();
214+
let Err(io_error) = fs::read_dir("INVALID") else { panic!("there should not be a directory called INVALID") };
210215
let io_error_str = io_error.to_string();
211216
let read_error = DocError::FileReadError(io_error);
212-
let expected_read_error = "file read error: ".to_owned().to_string() + &io_error_str;
217+
let expected_read_error = "file read error: ".to_owned() + &io_error_str;
213218
assert!(read_error.to_string().contains(&expected_read_error));
214219

215220
let comment_error = DocError::CommentError(CommentError::UnmatchedMultilineCommentStart {
@@ -229,8 +234,7 @@ fn test_doc_errors_from() {
229234
use std::fs;
230235

231236
use crate::comments::Location;
232-
let invalid_dir = "INVALID";
233-
let io_error = fs::read_dir(invalid_dir).unwrap_err();
237+
let Err(io_error) = fs::read_dir("INVALID") else { panic!("there should not be a directory called INVALID") };
234238
let io_kind = io_error.kind();
235239
let doc_io_error = DocError::from(io_error);
236240
match doc_io_error {
@@ -262,21 +266,21 @@ fn test_doc_error_source() {
262266

263267
use crate::comments::Location;
264268

265-
let io_err = fs::read_dir("INVALID").unwrap_err();
269+
let Err(io_err) = fs::read_dir("INVALID") else { panic!("there should not be a directory called INVALID") };
266270
let io_err_str = io_err.to_string();
267271
let doc_io = DocError::FileReadError(io_err);
268-
let src = doc_io.source().expect("expected Some(source) for FileReadError");
272+
let src = doc_io.source().map_or_else(|| panic!("expected Some(source) for FileReadError"), |source| source);
269273
assert_eq!(src.to_string(), io_err_str);
270274

271275
let comment = CommentError::UnmatchedMultilineCommentStart { location: Location::default() };
272276
let comment_str = comment.to_string();
273277
let doc_comment = DocError::CommentError(comment);
274-
let src = doc_comment.source().expect("expected Some(source) for CommentError");
278+
let src = doc_comment.source().map_or_else(|| panic!("expected Some(source) for CommentError"), |source| source);
275279
assert_eq!(src.to_string(), comment_str);
276280

277281
let parser = ParserError::RecursionLimitExceeded;
278282
let parser_str = parser.to_string();
279283
let doc_parser = DocError::SqlParserError(parser);
280-
let src = doc_parser.source().expect("expected Some(source) for SqlParserError");
284+
let src = doc_parser.source().map_or_else(|| panic!("expected Some(source) for SqlParserError"), |source| source);
281285
assert_eq!(src.to_string(), parser_str);
282286
}

0 commit comments

Comments
 (0)