euv-core 0.22.2

A declarative, cross-platform UI framework for Rust with virtual DOM, reactive signals, and HTML macros for WebAssembly.
Documentation
use super::*;
#[test]
fn interval_handle_clear_does_not_panic_on_native() {
    let handle: IntervalHandle = IntervalHandle::default();
    let result: Result<(), String> = super::catch_unwind(super::AssertUnwindSafe(|| {
        handle.clear();
    }))
    .map_err(|_| "panic".to_string());
    assert!(result.is_err());
}

#[test]
fn interval_handle_default_yields_zero_interval_id() {
    let handle: IntervalHandle = IntervalHandle::default();
    let default_again: IntervalHandle = IntervalHandle::default();
    assert_eq!(handle, default_again);
    let real: IntervalHandle = IntervalHandle::new(7);
    assert_ne!(handle, real);
}

#[test]
fn interval_handle_is_copy() {
    let handle: IntervalHandle = IntervalHandle::new(11);
    let copy: IntervalHandle = handle;
    assert_eq!(handle, copy);
}

#[test]
fn interval_handle_is_eq_and_ne() {
    let a: IntervalHandle = IntervalHandle::new(3);
    let b: IntervalHandle = IntervalHandle::new(3);
    let c: IntervalHandle = IntervalHandle::new(4);
    assert_eq!(a, b);
    assert_ne!(a, c);
}

#[test]
fn interval_handle_clone() {
    let handle: IntervalHandle = IntervalHandle::new(5);
    let cloned: IntervalHandle = <IntervalHandle as Clone>::clone(&handle);
    assert_eq!(handle, cloned);
}

#[test]
fn interval_handle_is_hash_consistent_with_eq() {
    let a: IntervalHandle = IntervalHandle::new(42);
    let b: IntervalHandle = IntervalHandle::new(42);
    let c: IntervalHandle = IntervalHandle::new(43);
    let mut hasher_a: DefaultHasher = DefaultHasher::new();
    let mut hasher_b: DefaultHasher = DefaultHasher::new();
    let mut hasher_c: DefaultHasher = DefaultHasher::new();
    a.hash(&mut hasher_a);
    b.hash(&mut hasher_b);
    c.hash(&mut hasher_c);
    assert_eq!(hasher_a.finish(), hasher_b.finish());
    assert_ne!(hasher_a.finish(), hasher_c.finish());
}

#[test]
fn native_hook_context_default_does_not_panic() {
    let result: Result<(), ()> = super::catch_unwind(super::AssertUnwindSafe(|| {
        let _: HookContext = HookContext::default();
    }))
    .map_err(|_| ());
    assert!(result.is_ok());
}