use super::*;
#[cfg(all(feature = "js", not(windows)))]
use crate::WebEventKind;
#[test] #[rustfmt::skip]
fn sizes_of() {
#[cfg(not(feature = "alloc"))] {
assert_eq![64, size_of::<Event>()]; assert_eq![36, size_of::<EventKind>()]; assert_eq![16, size_of::<EventWindow>()]; assert![size_of::<Event>() == size_of::<Option<Event>>()];
assert![size_of::<EventKind>() == size_of::<Option<EventKind>>()];
assert![size_of::<EventWindow>() == size_of::<Option<EventWindow>>()];
}
#[cfg(feature = "alloc")] {
assert_eq![64, size_of::<Event>()]; assert_eq![40, size_of::<EventKind>()]; assert_eq![24, size_of::<EventWindow>()]; assert![size_of::<Event>() == size_of::<Option<Event>>()];
assert![size_of::<EventKind>() == size_of::<Option<EventKind>>()];
assert![size_of::<EventWindow>() == size_of::<Option<EventWindow>>()];
}
assert_eq![24, size_of::<EventKey>()]; assert![size_of::<EventKey>() == size_of::<Option<EventKey>>()];
#[cfg(ffi··)] {
assert_eq![24, size_of::<EventKeyFfi>()]; assert![size_of::<EventKeyFfi>() == size_of::<Option<EventKeyFfi>>()];
}
assert_eq![8, size_of::<Key>()]; assert![size_of::<Key>() == size_of::<Option<Key>>()];
#[cfg(ffi··)] {
assert_eq![8, size_of::<KeyFfi>()]; assert![size_of::<KeyFfi>() == size_of::<Option<KeyFfi>>()];
}
assert_eq![1, size_of::<KeyDead>()]; assert_eq![1, size_of::<KeyMedia>()]; assert_eq![1, size_of::<KeyMod>()]; assert_eq![2, size_of::<KeyMods>()]; assert_eq![1, size_of::<KeyPad>()]; assert_eq![1, size_of::<KeyState>()]; assert![size_of::<KeyDead>() == size_of::<Option<KeyDead>>()];
assert![size_of::<KeyMedia>() == size_of::<Option<KeyMedia>>()];
assert![size_of::<KeyMod>() == size_of::<Option<KeyMod>>()];
assert![size_of::<KeyMods>() != size_of::<Option<KeyMods>>()]; assert![size_of::<KeyPad>() == size_of::<Option<KeyPad>>()];
assert![size_of::<KeyState>() == size_of::<Option<KeyState>>()];
assert_eq![16, size_of::<EventMouse>()]; assert_eq![02, size_of::<EventButton>()]; assert_eq![01, size_of::<EventButtonState>()]; assert_eq![36, size_of::<EventPointer>()]; assert_eq![01, size_of::<EventPointerType>()]; assert_eq![20, size_of::<EventWheel>()]; assert![size_of::<EventMouse>() == size_of::<Option<EventMouse>>()];
assert![size_of::<EventButton>() == size_of::<Option<EventButton>>()];
assert![size_of::<EventButtonState>() == size_of::<Option<EventButtonState>>()];
assert![size_of::<EventPointer>() == size_of::<Option<EventPointer>>()];
assert![size_of::<EventPointerType>() == size_of::<Option<EventPointerType>>()];
assert![size_of::<EventWheel>() != size_of::<Option<EventWheel>>()];
assert_eq![4, size_of::<EventTimestamp>()]; assert![size_of::<EventTimestamp>() == size_of::<Option<EventTimestamp>>()];
}
#[test]
#[cfg(all(feature = "js", not(windows)))]
fn key_state_to_js_event() {
assert_eq!(KeyState::Press.to_js(), WebEventKind::KeyDown);
assert_eq!(KeyState::Release.to_js(), WebEventKind::KeyUp);
}
#[test]
#[cfg(all(feature = "js", not(windows)))]
fn js_event_to_key_state() {
assert_eq!(KeyState::from_js(WebEventKind::KeyDown, false), Some(KeyState::Press));
assert_eq!(KeyState::from_js(WebEventKind::KeyUp, false), Some(KeyState::Release));
assert_eq!(KeyState::from_js(WebEventKind::KeyDown, true), Some(KeyState::Repeat));
assert_eq!(KeyState::from_js(WebEventKind::KeyUp, true), Some(KeyState::Release));
assert_eq!(KeyState::from_js(WebEventKind::Click, false), None);
assert_eq!(KeyState::from_js(WebEventKind::Click, true), None);
}