keypropdecode 2.0.3

A library for decoding Windows file system elements attributes constants
Documentation
use keypropdecode::props::*;
#[test]
fn read_only_and_hidden_archive_from_number() {
    let mut props = Props::default();
    props.change_element_type(ArcDir::Archive(ArchiveProps::default()));
    props.read_only(true).unwrap();
    props.hidden(true);
    assert_eq!(props, Props::from(0b100011))
}
#[test]
fn hidden_directory_string() {
    let mut props = Props::default();
    props.change_element_type(ArcDir::Directory);
    props.hidden(true);
    assert_eq!(props.to_string(), "d--h--".to_string())
}
#[test]
fn recall_on_data_access_and_recall_on_open() {
    let mut props = Props::default();
    props.recall_on_data_access(true);
    props.recall_on_open(true);
    assert_eq!(props, Props::from((1 << 22) + (1 << 21)));
}
#[test]
fn get_most_common_attributes() {
    let props = Props::from(0b10000100111);
    assert_eq!(props.is_read_only(), Ok(true));
    assert_eq!(props.is_hidden(), true);
    assert_eq!(props.is_system(), true);
    assert_eq!(props.is_directory(), false);
    assert_eq!(props.is_archive(), true);
    assert_eq!(props.is_reparse(), true);
}
#[test]
#[ignore = "Just here to see if it would compile, won't provide it with a real file name"]
#[cfg(windows)]
fn readme_test() {
    let mut props = Props::default();
    props.change_element_type(ArcDir::Archive(ArchiveProps::default()));
    props.hidden(true);
    assert_eq!(Props::try_from(r"hidden_file_example.txt").unwrap(), props);
}