aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorFuwn <[email protected]>2022-06-02 07:31:20 +0000
committerFuwn <[email protected]>2022-06-02 07:31:20 +0000
commit53f1753db91fe9347155f8192052e30baaad9cbc (patch)
treef7053185a4a2e20a9a086ab96153bc074f7e5672 /tests
parentdocs(cargo): bump 0.2.3 -> 0.2.4 (diff)
downloadgerm-53f1753db91fe9347155f8192052e30baaad9cbc.tar.xz
germ-53f1753db91fe9347155f8192052e30baaad9cbc.zip
feat(ast): Ast::to_gemtext
Diffstat (limited to 'tests')
-rw-r--r--tests/ast.rs39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/ast.rs b/tests/ast.rs
index 8b3882d..5f6cd5c 100644
--- a/tests/ast.rs
+++ b/tests/ast.rs
@@ -20,6 +20,35 @@
mod test {
use germ::ast::{Ast, Node};
+ const EXAMPLE_GEMTEXT: &str = r#"```This is alt-text
+Here goes the pre-formatted text.
+
+This continues the pre-formatted text on a new line after a blank line.
+```
+
+# This is a heading
+
+This is some text.
+
+This is more text after a blank line.
+
+* This is a single list item.
+* This is the next list item.
+
+* This is a new list.
+* This is the next item on the new list.
+
+## This is a sub-heading
+
+> This is a blockquote.
+
+### This is a sub-sub-heading.
+
+=> gemini://gem.rest/ This is a link to GemRest
+=> /somewhere
+
+That was a link without text."#;
+
#[test]
fn build_multi_line_list_with_text() {
assert_eq!(
@@ -67,4 +96,14 @@ mod test {
},
);
}
+
+ #[test]
+ fn gemtext_to_ast_then_ast_to_gemtext() {
+ assert_eq!(
+ Ast::from_string(EXAMPLE_GEMTEXT).to_gemtext(),
+ // `to_gemtext` appends a newline to all responses, so let's make sure we
+ // account for that.
+ format!("{}\n", EXAMPLE_GEMTEXT),
+ );
+ }
}