1
0
mirror of https://github.com/fluencelabs/wasm-bindgen synced 2025-07-29 19:11:56 +00:00
Files
.cargo
crates
backend
cli
cli-support
futures
gc
js-sys
macro
macro-support
shared
test
test-macro
threads-xform
typescript
wasm-interpreter
web-sys
src
tests
wasm
anchor_element.rs
body_element.rs
br_element.rs
button_element.rs
console.rs
div_element.rs
dom_point.rs
element.js
element.rs
event.js
event.rs
head_element.rs
headers.js
headers.rs
heading_element.rs
history.rs
hr_element.rs
html_element.rs
html_html_element.rs
indexeddb.rs
input_element.rs
location.rs
main.rs
menu_element.rs
menu_item_element.rs
meta_element.rs
meter_element.rs
mod_elements.rs
olist_element.rs
optgroup_element.rs
option_element.rs
options_collection.rs
output_element.rs
paragraph_element.rs
param_element.rs
performance.rs
pre_element.rs
progress_element.rs
quote_element.rs
response.js
response.rs
script_element.rs
select_element.rs
slot_element.rs
span_element.rs
style_element.rs
table_element.rs
title_element.rs
xpath_result.rs
webidls
Cargo.toml
README.md
build.rs
webidl
webidl-tests
examples
guide
releases
src
tests
.appveyor.yml
.gitattributes
.gitignore
.travis.yml
CHANGELOG.md
CONTRIBUTING.md
Cargo.toml
LICENSE-APACHE
LICENSE-MIT
README.md
build.rs
package.json
publish.rs
wasm-bindgen/crates/web-sys/tests/wasm/event.rs

33 lines
995 B
Rust
Raw Normal View History

use futures::future::Future;
use js_sys::{Object, Promise};
use wasm_bindgen::prelude::*;
use wasm_bindgen::JsCast;
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() -> impl Future<Item = (), Error = JsValue> {
JsFuture::from(new_event()).map(Event::from).map(|event| {
// 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());
})
}