Skip to content

Commit

Permalink
auto merge of #6687 : catamorphism/rust/list_dir_empty, r=catamorphism
Browse files Browse the repository at this point in the history
r? @brson (Yes, this did happen in real life...)
  • Loading branch information
bors committed May 26, 2013
2 parents e2f8b51 + a243ea3 commit 510d0f2
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions src/libstd/os.rs
Original file line number Diff line number Diff line change
Expand Up @@ -675,6 +675,11 @@ pub fn mkdir_recursive(p: &Path, mode: c_int) -> bool {
/// Lists the contents of a directory
#[allow(non_implicitly_copyable_typarams)]
pub fn list_dir(p: &Path) -> ~[~str] {
if p.components.is_empty() && !p.is_absolute() {
// Not sure what the right behavior is here, but this
// prevents a bounds check failure later
return ~[];
}
unsafe {
#[cfg(target_os = "linux")]
#[cfg(target_os = "android")]
Expand Down Expand Up @@ -1596,6 +1601,26 @@ mod tests {
}
}

#[test]
fn list_dir_empty_path() {
let dirs = os::list_dir(&Path(""));
assert!(dirs.is_empty());
}

#[test]
#[cfg(not(windows))]
fn list_dir_root() {
let dirs = os::list_dir(&Path("/"));
assert!(dirs.len() > 1);
}
#[test]
#[cfg(windows)]
fn list_dir_root() {
let dirs = os::list_dir(&Path("C:\\"));
assert!(dirs.len() > 1);
}


#[test]
fn path_is_dir() {
assert!((os::path_is_dir(&Path("."))));
Expand Down

0 comments on commit 510d0f2

Please sign in to comment.