File: event.rs

package info (click to toggle)
rustc-web 1.78.0%2Bdfsg1-2~deb12u3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,245,420 kB
  • sloc: xml: 147,985; javascript: 18,022; sh: 11,083; python: 10,265; ansic: 6,172; cpp: 5,023; asm: 4,390; makefile: 4,269
file content (30 lines) | stat: -rw-r--r-- 875 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
use js_sys::{Object, Promise};
use wasm_bindgen::prelude::*;
use wasm_bindgen_futures::JsFuture;
use wasm_bindgen_test::*;
use web_sys::Event;

#[wasm_bindgen(module = "/tests/wasm/event.js")]
extern "C" {
    fn new_event() -> Promise;
}

#[wasm_bindgen_test]
async fn event() {
    let result = JsFuture::from(new_event()).await.unwrap();
    let event = Event::from(result);
    // All DOM interfaces should inherit from `Object`.
    assert!(event.is_instance_of::<Object>());
    let _: &Object = event.as_ref();

    // These should match `new Event`.
    assert!(event.bubbles());
    assert!(event.cancelable());
    assert!(event.composed());

    // The default behavior not initially prevented, but after
    // we call `prevent_default` it better be.
    assert!(!event.default_prevented());
    event.prevent_default();
    assert!(event.default_prevented());
}