From 3ae75d35586638e9de2aa653868a2f0210ba5642 Mon Sep 17 00:00:00 2001 From: sigoden Date: Sat, 6 Aug 2022 07:48:34 +0800 Subject: [PATCH] fix: hide path by ext name (#126) --- src/utils.rs | 5 ++++- tests/hidden.rs | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/utils.rs b/src/utils.rs index ca951fa..995cfd6 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -39,7 +39,7 @@ pub fn glob(source: &str, target: &str) -> bool { continue 'outer; } } - return true; + return false; } None => return true, }, @@ -80,4 +80,7 @@ fn test_glob_key() { assert!(!glob("abc", "adc")); assert!(!glob("abc", "abcd")); assert!(!glob("a?c", "abbc")); + assert!(!glob("*.log", "log")); + assert!(glob("*.log", ".log")); + assert!(glob("*.log", "a.log")); } diff --git a/tests/hidden.rs b/tests/hidden.rs index e9205d0..5b558c1 100644 --- a/tests/hidden.rs +++ b/tests/hidden.rs @@ -11,11 +11,25 @@ fn hidden_get_dir(#[case] server: TestServer, #[case] exist: bool) -> Result<(), let resp = reqwest::blocking::get(server.url())?; assert_eq!(resp.status(), 200); let paths = utils::retrieve_index_paths(&resp.text()?); + assert!(paths.contains("dira/")); assert_eq!(paths.contains(".git/"), exist); assert_eq!(paths.contains("index.html"), exist); Ok(()) } +#[rstest] +#[case(server(&[] as &[&str]), true)] +#[case(server(&["--hidden", "*.html"]), false)] +fn hidden_get_dir2(#[case] server: TestServer, #[case] exist: bool) -> Result<(), Error> { + let resp = reqwest::blocking::get(server.url())?; + assert_eq!(resp.status(), 200); + let paths = utils::retrieve_index_paths(&resp.text()?); + assert!(paths.contains("dira/")); + assert_eq!(paths.contains("index.html"), exist); + assert_eq!(paths.contains("test.html"), exist); + Ok(()) +} + #[rstest] #[case(server(&[] as &[&str]), true)] #[case(server(&["--hidden", ".git,index.html"]), false)] @@ -23,6 +37,7 @@ fn hidden_propfind_dir(#[case] server: TestServer, #[case] exist: bool) -> Resul let resp = fetch!(b"PROPFIND", server.url()).send()?; assert_eq!(resp.status(), 207); let body = resp.text()?; + assert!(body.contains("/dira/")); assert_eq!(body.contains("/.git/"), exist); assert_eq!(body.contains("/index.html"), exist); Ok(())