34 lines
871 B
Rust
34 lines
871 B
Rust
use std::path::PathBuf;
|
|
|
|
use natu::{FileStore, SourceFile};
|
|
|
|
fn source_file(path: &str, source: &str) -> SourceFile {
|
|
SourceFile {
|
|
path: PathBuf::from(path),
|
|
source: source.to_owned(),
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
fn added_file_can_be_retrieved_by_id() {
|
|
let mut store = FileStore::default();
|
|
|
|
let id = store.add(source_file("first.nix", "{ inherit foo; }"));
|
|
let file = store.get(id);
|
|
|
|
assert_eq!(PathBuf::from("first.nix"), file.path);
|
|
assert_eq!("{ inherit foo; }", file.source);
|
|
}
|
|
|
|
#[test]
|
|
fn file_ids_refer_to_their_added_files() {
|
|
let mut store = FileStore::default();
|
|
|
|
let first = store.add(source_file("first.nix", "first"));
|
|
let second = store.add(source_file("second.nix", "second"));
|
|
|
|
assert_ne!(first, second);
|
|
assert_eq!("first", store.get(first).source);
|
|
assert_eq!("second", store.get(second).source);
|
|
}
|