wasm-bindgen 0.2.38

Easy support for interacting between JS and Rust.
Documentation
# Writing Asynchronous Tests

Not all tests can execute immediately and some may need to do "blocking" work
like fetching resources and/or other bits and pieces. To accommodate this
asynchronous tests are also supported through the `futures` and
`wasm-bindgen-futures` crates.

To write an asynchronous test:

1. Change `#[wasm_bindgen_test]` into `#[wasm_bindgen_test(async)]`

2. Change the return type of the test function to `impl Future<Item = (), Error
   = JsValue>`

The test will pass if the future resolves without panicking or returning an
error, and otherwise the test will fail.

## Example

```rust
extern crate futures;
extern crate js_sys;
extern crate wasm_bindgen_futures;

use futures::Future;
use wasm_bindgen::prelude::*;
use wasm_bindgen_futures::JsFuture;

#[wasm_bindgen_test(async)]
fn my_async_test() -> impl Future<Item = (), Error = JsValue> {
    // Create a promise that is ready on the next tick of the micro task queue.
    let promise = js_sys::Promise::resolve(&JsValue::from(42));

    // Convert that promise into a future and make the test wait on it.
    JsFuture::from(promise)
        .map(|x| {
            assert_eq!(x, 42);
        })
        .map_err(|_| unreachable!())
}
```