fn file_naming()

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(())
    }