mirror of
https://github.com/YGGverse/Yoda.git
synced 2025-03-13 06:01:21 +00:00
implement test_referrers
This commit is contained in:
parent
eb90a60162
commit
123be8c97e
@ -151,12 +151,23 @@ impl Request {
|
|||||||
/// Recursively count referrers of `Self`
|
/// Recursively count referrers of `Self`
|
||||||
/// * useful to apply redirection rules by protocol driver selected
|
/// * useful to apply redirection rules by protocol driver selected
|
||||||
pub fn referrers(&self) -> usize {
|
pub fn referrers(&self) -> usize {
|
||||||
let count = match self {
|
match self {
|
||||||
Request::Gemini { referrer, .. } => referrer,
|
Request::Gemini { referrer, .. } => referrer,
|
||||||
Request::Titan { referrer, .. } => referrer,
|
Request::Titan { referrer, .. } => referrer,
|
||||||
}
|
}
|
||||||
.as_ref()
|
.as_ref()
|
||||||
.map_or(0, |request| request.referrers());
|
.map_or(0, |request| request.referrers())
|
||||||
1 + count
|
+ 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_referrers() {
|
||||||
|
const QUERY: &str = "gemini://geminiprotocol.net";
|
||||||
|
|
||||||
|
let r1 = Request::parse(QUERY, None).unwrap();
|
||||||
|
let r2 = Request::parse(QUERY, Some(r1)).unwrap();
|
||||||
|
let r3 = Request::parse(QUERY, Some(r2)).unwrap();
|
||||||
|
|
||||||
|
assert_eq!(r3.referrers(), 3);
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user