-- Leo's gemini proxy
-- Connecting to typed-hole.org:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini
commit bbdb1aba1d37a6c137ddaa0dbe489e32999023a1
Author: Julien Blanchard <julien@sideburns.eu>
Date: Sun Aug 25 16:19:22 2019 +0200
WIP: add some unit tests
diff --git a/src/main.rs b/src/main.rs
index 13367e6..fc42187 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -270,3 +270,64 @@ fn make_absolute(url: &str) -> Result<url::Url, url::ParseError> {
}
}
}
+
+#[test]
+fn test_make_absolute_full_url() {
+ history::append("gemini://typed-hole.org");
+ let url = "gemini://typed-hole.org/foo";
+ let expected_url = Url::parse("gemini://typed-hole.org/foo").unwrap();
+ let absolute_url = make_absolute(&url).unwrap();
+ assert_eq!(expected_url, absolute_url);
+}
+#[test]
+fn test_make_absolute_full_url_no_protocol() {
+ history::append("gemini://typed-hole.org");
+ let url = "//typed-hole.org/foo";
+ let expected_url = Url::parse("gemini://typed-hole.org/foo").unwrap();
+ let absolute_url = make_absolute(&url).unwrap();
+ assert_eq!(expected_url, absolute_url);
+}
+#[test]
+fn test_make_absolute_slash_path() {
+ history::append("gemini://typed-hole.org");
+ let url = "/foo";
+ let expected_url = Url::parse("gemini://typed-hole.org/foo").unwrap();
+ let absolute_url = make_absolute(&url).unwrap();
+ assert_eq!(expected_url, absolute_url);
+}
+#[test]
+fn test_make_absolute_just_path() {
+ history::append("gemini://typed-hole.org");
+ let url = "foo";
+ let expected_url = Url::parse("gemini://typed-hole.org/foo").unwrap();
+ let absolute_url = make_absolute(&url).unwrap();
+ assert_eq!(expected_url, absolute_url);
+}
+#[test]
+fn test_make_absolute_full_url_no_current_host() {
+ let url = "gemini://typed-hole.org/foo";
+ let expected_url = Url::parse("gemini://typed-hole.org/foo").unwrap();
+ let absolute_url = make_absolute(&url).unwrap();
+ assert_eq!(expected_url, absolute_url);
+}
+#[test]
+fn test_make_absolute_full_url_no_protocol_no_current_host() {
+ let url = "//typed-hole.org/foo";
+ let expected_url = Url::parse("gemini://typed-hole.org/foo").unwrap();
+ let absolute_url = make_absolute(&url).unwrap();
+ assert_eq!(expected_url, absolute_url);
+}
+#[test]
+fn test_make_absolute_slash_path_no_current_host() {
+ let url = "/foo";
+ let expected_url = Url::parse("gemini://typed-hole.org/foo").unwrap();
+ let absolute_url = make_absolute(&url).unwrap();
+ assert_eq!(expected_url, absolute_url);
+}
+#[test]
+fn test_make_absolute_just_path_no_current_host() {
+ let url = "foo";
+ let expected_url = Url::parse("gemini://typed-hole.org/foo").unwrap();
+ let absolute_url = make_absolute(&url).unwrap();
+ assert_eq!(expected_url, absolute_url);
+}
---
Served by Pollux Gemini Server.
-- Response ended
-- Page fetched on Sun May 19 10:02:51 2024