50 lines
1.2 KiB
Rust
50 lines
1.2 KiB
Rust
mod common;
|
|
|
|
use common::client::ClientTest;
|
|
use nextsync::store::indexer::Indexer;
|
|
use nextsync::commands::status::{get_obj_changes, StatusArgs};
|
|
use nextsync::config::config::Config;
|
|
use std::io;
|
|
use std::path::PathBuf;
|
|
|
|
const DEFAULT_STATUS_ARG: StatusArgs = StatusArgs { nostyle: false };
|
|
|
|
fn indexed_expected(indexer: &Indexer, expected: Vec<&str>) {
|
|
let objs = indexer.get_indexed_objs();
|
|
|
|
assert_eq!(objs.len(), expected.len());
|
|
|
|
for obj in expected {
|
|
assert!(objs
|
|
.iter()
|
|
.position(|e| { e.path == PathBuf::from(obj) })
|
|
.is_some());
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
fn add_ignored_file() -> io::Result<()> {
|
|
let mut client = ClientTest::new("add__simple_file").init();
|
|
client.add_ignore_rule("foo");
|
|
client.add_file("foo", "foo")?;
|
|
|
|
let mut indexer = Indexer::new(client.get_config().get_root_unsafe());
|
|
|
|
client.exec_ok("add foo");
|
|
let _ = indexer.load();
|
|
indexed_expected(&indexer, vec![]);
|
|
|
|
client.exec_ok("add foo -f");
|
|
let _ = indexer.load();
|
|
indexed_expected(&indexer, vec!["foo"]);
|
|
|
|
client.ok()
|
|
}
|
|
|
|
// add double globbing
|
|
// add all
|
|
// add folders
|
|
// add part of folders
|
|
// add all folder
|
|
// add automatic ignored if is tracked
|