unixstring 0.2.3

An FFI-friendly null-terminated byte string
Documentation
use std::convert::TryFrom;
use std::ffi::CString;
use std::ffi::OsString;
use std::path::PathBuf;

use unixstring::UnixString;

#[test]
fn into_cstring() {
    let home = "/home/user";

    let cstring = CString::new(home).unwrap();
    let unx = UnixString::from(cstring.clone());

    assert_eq!(cstring.as_c_str(), unx.as_c_str());

    assert_eq!(cstring, unx.into_cstring());
}

#[test]
fn into_pathbuf() {
    let home = "/home/user";

    let pathbuf = PathBuf::from(home);
    let unx = UnixString::try_from(pathbuf.clone()).unwrap();

    assert_eq!(pathbuf.as_path(), unx.as_path());

    assert_eq!(pathbuf, unx.into_pathbuf());
}

#[test]
fn into_os_string() {
    let home = "/home/user";

    let os_string = OsString::from(home);
    let unx = UnixString::try_from(os_string.clone()).unwrap();

    assert_eq!(os_string.as_os_str(), unx.as_os_str());

    assert_eq!(os_string, unx.into_os_string());
}