#[test]
fn decoder_example() {
let hid_descriptor_bytes = [0x05, 0x01, 0x09, 0x02];
let mut output = Vec::new();
hid_decode::decode(&mut output, &hid_descriptor_bytes).expect("write error");
let output = String::try_from(output).expect("non-UTF8 output");
assert_eq!(
output,
concat!("Usage Page: GenericDesktop\n", "Usage: Mouse\n")
);
}
#[test]
fn structured_decoder() {
use hid_types::id::usage::{KnownUsagePage, UsagePage, generic_desktop};
use hid_types::item::usage::{KnownUsage, Usage};
use hid_types::item::{Global, Item, Local};
let hid_descriptor_bytes = [0x05, 0x01, 0x09, 0x02];
let items = hid_decode::decode_items(&hid_descriptor_bytes).expect("decode failed");
assert_eq!(
items,
[
Item::Global(Global::UsagePage(UsagePage::Known(
KnownUsagePage::GenericDesktop
))),
Item::Local(Local::Usage(Usage::Known(KnownUsage::GenericDesktop(
generic_desktop::KnownUsage::Mouse
)))),
]
);
}