File: dir_cwd.rs

package info (click to toggle)
rustc-web 1.85.0%2Bdfsg3-1~deb12u3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bookworm-proposed-updates
  • size: 1,759,988 kB
  • sloc: xml: 158,127; python: 35,830; javascript: 19,497; cpp: 19,002; sh: 17,245; ansic: 13,127; asm: 4,376; makefile: 1,056; lisp: 29; perl: 29; ruby: 19; sql: 11
file content (36 lines) | stat: -rw-r--r-- 1,028 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
use crate::walk_utils::{collect, entryps, fixture, options};
use gix_dir::entry::Kind::File;
use gix_dir::entry::PathspecMatch::Prefix;
use gix_dir::entry::Status::Untracked;
use gix_dir::walk;
use pretty_assertions::assert_eq;
use std::path::Path;

pub mod walk_utils;

#[test]
fn prefixes_work_as_expected() -> gix_testtools::Result {
    let root = fixture("only-untracked");
    std::env::set_current_dir(root.join("d"))?;
    let troot = Path::new("..").join("d");
    let ((out, _root), entries) = collect(Path::new(".."), Some(&troot), |keep, ctx| {
        walk(Path::new(".."), ctx, options(), keep)
    });
    assert_eq!(
        out,
        walk::Outcome {
            read_dir_calls: 2,
            returned_entries: entries.len(),
            seen_entries: 3,
        }
    );
    assert_eq!(
        &entries,
        &[
            entryps("d/a", Untracked, File, Prefix),
            entryps("d/b", Untracked, File, Prefix),
            entryps("d/d/a", Untracked, File, Prefix),
        ]
    );
    Ok(())
}