in focus/util/src/sandbox/mod.rs [225:265]
fn file_naming() -> Result<()> {
let sandbox = Sandbox::new(true, None)?;
match sandbox.create_file(Some("hello"), Some("txt"), None) {
Ok((_, path, ser)) => {
assert_eq!(ser, 0);
let s = format!("hello-{:09}.txt", ser);
let expected = OsStr::new(&s);
assert_eq!(&path.file_name().unwrap(), &expected);
}
_ => bail!("expected a file"),
}
match sandbox.create_file(None, Some("txt"), None) {
Ok((_, path, ser)) => {
assert_eq!(ser, 1);
let s = format!("unknown-{:09}.txt", ser);
let expected = OsStr::new(&s);
assert_eq!(&path.file_name().unwrap(), &expected);
}
_ => bail!("expected a file"),
}
match sandbox.create_file(Some("adieu"), None, None) {
Ok((_, path, ser)) => {
assert_eq!(ser, 2);
let s = format!("adieu-{:09}", ser);
let expected = OsStr::new(&s);
assert_eq!(&path.file_name().unwrap(), &expected);
}
_ => bail!("expected a file"),
}
match sandbox.create_file(Some("adieu"), Some("too"), Some(2_usize)) {
Ok((_, path, ser)) => {
assert_eq!(ser, 2);
let s = format!("adieu-{:09}.too", ser);
let expected = OsStr::new(&s);
assert_eq!(&path.file_name().unwrap(), &expected);
}
_ => bail!("expected a file"),
}
Ok(())
}