From 1b678fe81f81ad76b199a3ed1451c178ff0ee47e Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Fri, 25 Aug 2023 05:25:41 -0400 Subject: [PATCH] Add tests for detect_plain_list. --- src/parser/plain_list.rs | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/parser/plain_list.rs b/src/parser/plain_list.rs index 8d8ba367..41c64f44 100644 --- a/src/parser/plain_list.rs +++ b/src/parser/plain_list.rs @@ -419,4 +419,40 @@ dolar"#, "# ); } + + #[test] + fn detect_line_break() { + let input = OrgSource::new( + r#"+ +"#, + ); + let initial_context: ContextTree<'_, '_> = ContextTree::new(); + let result = detect_plain_list(&initial_context, input); + assert!(result.is_ok()); + } + + #[test] + fn detect_eof() { + let input = OrgSource::new(r#"+"#); + let initial_context: ContextTree<'_, '_> = ContextTree::new(); + let result = detect_plain_list(&initial_context, input); + assert!(result.is_ok()); + } + + #[test] + fn detect_no_gap() { + let input = OrgSource::new(r#"+foo"#); + let initial_context: ContextTree<'_, '_> = ContextTree::new(); + let result = detect_plain_list(&initial_context, input); + // Since there is no whitespace after the '+' this is a paragraph, not a plain list. + assert!(result.is_err()); + } + + #[test] + fn detect_with_gap() { + let input = OrgSource::new(r#"+ foo"#); + let initial_context: ContextTree<'_, '_> = ContextTree::new(); + let result = detect_plain_list(&initial_context, input); + assert!(result.is_ok()); + } }