forked from M-Labs/rust-fatfs
Allow opening files/dirs using short name
This commit is contained in:
parent
7355ac462c
commit
9f5f070955
@ -105,7 +105,7 @@ impl <'a, 'b> Dir<'a, 'b> {
|
|||||||
for r in self.iter() {
|
for r in self.iter() {
|
||||||
let e = r?;
|
let e = r?;
|
||||||
// compare name ignoring case
|
// compare name ignoring case
|
||||||
if e.file_name().eq_ignore_ascii_case(name) {
|
if e.file_name().eq_ignore_ascii_case(name) || e.short_file_name().eq_ignore_ascii_case(name) {
|
||||||
return Ok(e);
|
return Ok(e);
|
||||||
}
|
}
|
||||||
if let Some(ref mut gen) = short_name_gen {
|
if let Some(ref mut gen) = short_name_gen {
|
||||||
|
@ -123,6 +123,8 @@ fn test_get_dir_by_path(fs: FileSystem) {
|
|||||||
let root_names = root_dir2.iter().map(|r| r.unwrap().file_name()).collect::<Vec<String>>();
|
let root_names = root_dir2.iter().map(|r| r.unwrap().file_name()).collect::<Vec<String>>();
|
||||||
let root_names2 = root_dir.iter().map(|r| r.unwrap().file_name()).collect::<Vec<String>>();
|
let root_names2 = root_dir.iter().map(|r| r.unwrap().file_name()).collect::<Vec<String>>();
|
||||||
assert_eq!(root_names, root_names2);
|
assert_eq!(root_names, root_names2);
|
||||||
|
|
||||||
|
root_dir.open_dir("VERY-L~1").unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -147,10 +149,12 @@ fn test_get_file_by_path(fs: FileSystem) {
|
|||||||
file.read_to_end(&mut buf).unwrap();
|
file.read_to_end(&mut buf).unwrap();
|
||||||
assert_eq!(str::from_utf8(&buf).unwrap(), TEST_TEXT);
|
assert_eq!(str::from_utf8(&buf).unwrap(), TEST_TEXT);
|
||||||
|
|
||||||
// let mut file = root_dir.open_file("very-long-dir-name/very-long-file-name.txt").unwrap();
|
let mut file = root_dir.open_file("very-long-dir-name/very-long-file-name.txt").unwrap();
|
||||||
// let mut buf = Vec::new();
|
let mut buf = Vec::new();
|
||||||
// file.read_to_end(&mut buf).unwrap();
|
file.read_to_end(&mut buf).unwrap();
|
||||||
// assert_eq!(str::from_utf8(&buf).unwrap(), TEST_TEXT);
|
assert_eq!(str::from_utf8(&buf).unwrap(), TEST_TEXT);
|
||||||
|
|
||||||
|
root_dir.open_file("VERY-L~1/VERY-L~1.TXT").unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
Loading…
Reference in New Issue
Block a user