]> OzVa Git service - ozva-cloud/commitdiff
fix: hide path by ext name (#126)
authorsigoden <sigoden@gmail.com>
Fri, 5 Aug 2022 23:48:34 +0000 (07:48 +0800)
committerGitHub <noreply@github.com>
Fri, 5 Aug 2022 23:48:34 +0000 (07:48 +0800)
src/utils.rs
tests/hidden.rs

index ca951fa9da62853be5d5aa9d893bd2cf6cc4f04c..995cfd699c766b57b9c778b22b250f8549ce7e10 100644 (file)
@@ -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"));
 }
index e9205d00189fd59ebf5a62bee21a785e2c6058b4..5b558c1d19f69ae7568e86ed573f1e5976309573 100644 (file)
@@ -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("<D:href>/dira/</D:href>"));
     assert_eq!(body.contains("<D:href>/.git/</D:href>"), exist);
     assert_eq!(body.contains("<D:href>/index.html</D:href>"), exist);
     Ok(())