-- 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