mirror of
https://github.com/veeso/termscp.git
synced 2025-12-07 09:36:00 -08:00
FsEntry::is_hidden() method
This commit is contained in:
@@ -208,6 +208,13 @@ impl FsEntry {
|
|||||||
matches!(self, FsEntry::File(_))
|
matches!(self, FsEntry::File(_))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// ### is_hidden
|
||||||
|
///
|
||||||
|
/// Returns whether FsEntry is hidden
|
||||||
|
pub fn is_hidden(&self) -> bool {
|
||||||
|
self.get_name().starts_with(".")
|
||||||
|
}
|
||||||
|
|
||||||
/// ### get_realfile
|
/// ### get_realfile
|
||||||
///
|
///
|
||||||
/// Return the real file pointed by a `FsEntry`
|
/// Return the real file pointed by a `FsEntry`
|
||||||
@@ -353,6 +360,54 @@ mod tests {
|
|||||||
assert_eq!(entry.is_file(), true);
|
assert_eq!(entry.is_file(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_fs_fsentry_hidden_files() {
|
||||||
|
let t_now: SystemTime = SystemTime::now();
|
||||||
|
let entry: FsEntry = FsEntry::File(FsFile {
|
||||||
|
name: String::from("bar.txt"),
|
||||||
|
abs_path: PathBuf::from("/bar.txt"),
|
||||||
|
last_change_time: t_now,
|
||||||
|
last_access_time: t_now,
|
||||||
|
creation_time: t_now,
|
||||||
|
size: 8192,
|
||||||
|
readonly: false,
|
||||||
|
ftype: Some(String::from("txt")),
|
||||||
|
symlink: None, // UNIX only
|
||||||
|
user: Some(0), // UNIX only
|
||||||
|
group: Some(0), // UNIX only
|
||||||
|
unix_pex: Some((6, 4, 4)), // UNIX only
|
||||||
|
});
|
||||||
|
assert_eq!(entry.is_hidden(), false);
|
||||||
|
let entry: FsEntry = FsEntry::File(FsFile {
|
||||||
|
name: String::from(".gitignore"),
|
||||||
|
abs_path: PathBuf::from("/.gitignore"),
|
||||||
|
last_change_time: t_now,
|
||||||
|
last_access_time: t_now,
|
||||||
|
creation_time: t_now,
|
||||||
|
size: 8192,
|
||||||
|
readonly: false,
|
||||||
|
ftype: Some(String::from("txt")),
|
||||||
|
symlink: None, // UNIX only
|
||||||
|
user: Some(0), // UNIX only
|
||||||
|
group: Some(0), // UNIX only
|
||||||
|
unix_pex: Some((6, 4, 4)), // UNIX only
|
||||||
|
});
|
||||||
|
assert_eq!(entry.is_hidden(), true);
|
||||||
|
let entry: FsEntry = FsEntry::Directory(FsDirectory {
|
||||||
|
name: String::from(".git"),
|
||||||
|
abs_path: PathBuf::from("/.git"),
|
||||||
|
last_change_time: t_now,
|
||||||
|
last_access_time: t_now,
|
||||||
|
creation_time: t_now,
|
||||||
|
readonly: false,
|
||||||
|
symlink: None, // UNIX only
|
||||||
|
user: Some(0), // UNIX only
|
||||||
|
group: Some(0), // UNIX only
|
||||||
|
unix_pex: Some((7, 5, 5)), // UNIX only
|
||||||
|
});
|
||||||
|
assert_eq!(entry.is_hidden(), true);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_fs_fsentry_realfile_none() {
|
fn test_fs_fsentry_realfile_none() {
|
||||||
let t_now: SystemTime = SystemTime::now();
|
let t_now: SystemTime = SystemTime::now();
|
||||||
|
|||||||
Reference in New Issue
Block a user