aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorFuwn <[email protected]>2022-06-14 08:45:09 +0000
committerFuwn <[email protected]>2022-06-14 08:45:09 +0000
commitb5703a59c59bfe95143cf8dc6cc54f20f67fb4fd (patch)
tree44022e3944119c39df5b9082aaac3a77841c8c10 /tests
parentfix(ast): list ast construction (diff)
downloadgerm-b5703a59c59bfe95143cf8dc6cc54f20f67fb4fd.tar.xz
germ-b5703a59c59bfe95143cf8dc6cc54f20f67fb4fd.zip
feat(macros): general utility macros
Diffstat (limited to 'tests')
-rw-r--r--tests/ast.rs109
-rw-r--r--tests/convert.rs61
-rw-r--r--tests/meta.rs101
-rw-r--r--tests/status.rs32
4 files changed, 0 insertions, 303 deletions
diff --git a/tests/ast.rs b/tests/ast.rs
deleted file mode 100644
index 5f6cd5c..0000000
--- a/tests/ast.rs
+++ /dev/null
@@ -1,109 +0,0 @@
-// This file is part of Germ <https://github.com/gemrest/germ>.
-// Copyright (C) 2022-2022 Fuwn <[email protected]>
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, version 3.
-//
-// This program is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-//
-// Copyright (C) 2022-2022 Fuwn <[email protected]>
-// SPDX-License-Identifier: GPL-3.0-only
-
-#[cfg(test)]
-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!(
- *Ast::from_string("* item1\n* 2\nhi text").inner(),
- vec![
- Node::List(vec!["item1".to_string(), "2".to_string()]),
- Node::Text("hi text".to_string()),
- ],
- );
- }
-
- #[test]
- fn build_multi_line_vec() {
- assert_eq!(
- *Ast::from_string("=> /test hi\nhi there\n> hi").inner(),
- vec![
- Node::Link {
- to: "/test".to_string(),
- text: Some("hi".to_string()),
- },
- Node::Text("hi there".to_string()),
- Node::Blockquote("hi".to_string()),
- ],
- );
- }
-
- #[test]
- fn build_single_0th_from_vec() {
- assert_eq!(
- Ast::from_string("=> /test hi").inner(),
- &vec![Node::Link {
- to: "/test".to_string(),
- text: Some("hi".to_string()),
- }],
- );
- }
-
- #[test]
- fn build_single_element() {
- assert_eq!(
- Ast::from_string("=> /test hi").inner().get(0).unwrap(),
- &Node::Link {
- to: "/test".to_string(),
- text: Some("hi".to_string()),
- },
- );
- }
-
- #[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),
- );
- }
-}
diff --git a/tests/convert.rs b/tests/convert.rs
deleted file mode 100644
index 40f337d..0000000
--- a/tests/convert.rs
+++ /dev/null
@@ -1,61 +0,0 @@
-// This file is part of Germ <https://github.com/gemrest/germ>.
-// Copyright (C) 2022-2022 Fuwn <[email protected]>
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, version 3.
-//
-// This program is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-//
-// Copyright (C) 2022-2022 Fuwn <[email protected]>
-// SPDX-License-Identifier: GPL-3.0-only
-
-#[cfg(test)]
-mod test {
- use germ::convert::{from_string, Target};
-
- #[test]
- fn convert_from_string_to_html_single_line() {
- assert_eq!(from_string("hi", &Target::HTML), "<p>hi</p>",);
- }
-
- #[test]
- fn convert_from_string_to_html_multi_line() {
- assert_eq!(
- from_string("hi\n# hi", &Target::HTML),
- "<p>hi</p><h1>hi</h1>",
- );
- }
-
- #[test]
- fn convert_from_string_to_html_single_link() {
- assert_eq!(
- from_string("=> /to hello !", &Target::HTML),
- "<a href=\"/to\">hello !</a><br>",
- );
- }
-
- #[test]
- fn convert_from_string_to_markdown_single_line() {
- assert_eq!(from_string("hi", &Target::Markdown), "hi\n",);
- }
-
- #[test]
- fn convert_from_string_to_markdown_multi_line() {
- assert_eq!(from_string("hi\n# hi", &Target::Markdown), "hi\n# hi\n",);
- }
-
- #[test]
- fn convert_from_string_to_markdown_single_link() {
- assert_eq!(
- from_string("=> /to hello !", &Target::Markdown),
- "[hello !](/to)\n",
- );
- }
-}
diff --git a/tests/meta.rs b/tests/meta.rs
deleted file mode 100644
index 70c8adc..0000000
--- a/tests/meta.rs
+++ /dev/null
@@ -1,101 +0,0 @@
-// This file is part of Germ <https://github.com/gemrest/germ>.
-// Copyright (C) 2022-2022 Fuwn <[email protected]>
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, version 3.
-//
-// This program is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-//
-// Copyright (C) 2022-2022 Fuwn <[email protected]>
-// SPDX-License-Identifier: GPL-3.0-only
-
-#[cfg(test)]
-mod test {
- use germ::meta::Meta;
-
- #[test]
- fn construct_meta_with_mime() {
- let mut meta = Meta::new();
-
- *meta.mime_mut() = "text/gemini".to_string();
-
- assert_eq!(meta.to_string(), "text/gemini");
- }
-
- #[test]
- fn construct_meta_with_mime_and_parameters() {
- let mut meta = Meta::new();
- let mut parameters = std::collections::HashMap::new();
-
- parameters.insert("hi".to_string(), "2".to_string());
- parameters.insert("hi2".to_string(), "string=2".to_string());
-
- *meta.mime_mut() = "text/gemini".to_string();
- *meta.parameters_mut() = parameters;
-
- assert_eq!(meta.to_string(), "text/gemini; hi=2; hi2=string=2");
- }
-
- #[test]
- fn meta_to_string_without_parameters() {
- let original_string = "text/gemini";
-
- assert_eq!(
- Meta::from_string(original_string).to_string(),
- original_string
- );
- }
-
- #[test]
- fn meta_to_string_with_parameters() {
- let original_string = "text/gemini; hi=2; hi2=string=2";
-
- assert_eq!(
- Meta::from_string(original_string).to_string(),
- original_string
- );
- }
-
- #[test]
- fn meta_to_mime_without_parameters() {
- let meta = Meta::from_string("text/gemini");
-
- assert_eq!(meta.mime(), "text/gemini");
- assert_eq!(meta.parameters().len(), 0);
- }
-
- #[test]
- fn meta_to_map_mime() {
- assert_eq!(
- Meta::from_string("text/gemini; hi=2; hi2=string=2").mime(),
- "text/gemini",
- );
- }
-
- #[test]
- fn meta_to_map_with_parameters() {
- assert_eq!(
- Meta::from_string("text/gemini; hi=2; hi2=string=2")
- .parameters()
- .get("hi2"),
- Some(&"string=2".to_string()),
- );
- }
-
- #[test]
- fn meta_to_map_length() {
- assert_eq!(
- Meta::from_string("text/gemini; hi=2; hi2=string=2")
- .parameters()
- .len(),
- 2,
- );
- }
-}
diff --git a/tests/status.rs b/tests/status.rs
deleted file mode 100644
index 51f3f66..0000000
--- a/tests/status.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-// This file is part of Germ <https://github.com/gemrest/germ>.
-// Copyright (C) 2022-2022 Fuwn <[email protected]>
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, version 3.
-//
-// This program is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-//
-// Copyright (C) 2022-2022 Fuwn <[email protected]>
-// SPDX-License-Identifier: GPL-3.0-only
-
-#[cfg(test)]
-mod test {
- use germ::request::Status;
-
- #[test]
- fn status_from_i32() {
- assert_eq!(Status::from(10), Status::Input);
- }
-
- #[test]
- fn i32_from_status() {
- assert_eq!(i32::from(Status::Input), 10);
- }
-}