implement local tests

This commit is contained in:
yggverse 2025-01-25 21:27:42 +02:00
parent 37d30d700c
commit 67989dba63
3 changed files with 43 additions and 42 deletions

View file

@ -13,3 +13,18 @@ impl Gemini {
format!("{}\r\n", self.uri)
}
}
#[test]
fn header() {
use super::{super::Request, Gemini};
use glib::UriFlags;
const REQUEST: &str = "gemini://geminiprotocol.net/";
assert_eq!(
Request::Gemini(Gemini {
uri: Uri::parse(REQUEST, UriFlags::NONE).unwrap()
})
.header(),
format!("{REQUEST}\r\n")
);
}

View file

@ -31,3 +31,31 @@ impl Titan {
header
}
}
#[test]
fn header() {
use super::{super::Request, Titan};
use glib::UriFlags;
const DATA: &[u8] = &[1, 2, 3];
const MIME: &str = "plain/text";
const TOKEN: &str = "token";
assert_eq!(
Request::Titan(Titan {
uri: Uri::parse(
"titan://geminiprotocol.net/raw/path?key=value",
UriFlags::NONE
)
.unwrap(),
data: Bytes::from(DATA),
mime: Some(MIME.to_string()),
token: Some(TOKEN.to_string())
})
.header(),
format!(
"titan://geminiprotocol.net/raw/path;size={};mime={MIME};token={TOKEN}?key=value\r\n",
DATA.len(),
)
);
}

View file

@ -1,42 +0,0 @@
use gio::*;
use glib::*;
use ggemini::client::connection::Request;
#[test]
fn client_connection_request_gemini() {
const REQUEST: &str = "gemini://geminiprotocol.net/";
assert_eq!(
Request::Gemini(ggemini::client::connection::Gemini {
uri: Uri::parse(REQUEST, UriFlags::NONE).unwrap()
})
.header(),
format!("{REQUEST}\r\n")
);
}
#[test]
fn client_connection_request_titan() {
const DATA: &[u8] = &[1, 2, 3];
const MIME: &str = "plain/text";
const TOKEN: &str = "token";
assert_eq!(
Request::Titan(ggemini::client::connection::Titan {
uri: Uri::parse(
"titan://geminiprotocol.net/raw/Test?key=value",
UriFlags::NONE
)
.unwrap(),
data: Bytes::from(DATA),
mime: Some(MIME.to_string()),
token: Some(TOKEN.to_string())
})
.header(),
format!(
"titan://geminiprotocol.net/raw/Test;size={};mime={MIME};token={TOKEN}?key=value\r\n",
DATA.len(),
)
);
}
// @TODO