mirror of
https://github.com/rustwasm/wasm-bindgen.git
synced 2025-01-05 19:53:55 +03:00
3efe51eb8b
This commit is a large-ish scale reorganization of our examples. The main goal here is to have a dedicated section of the guide for example, and all examples will be listed there. Each example's `README` is now just boilerplate pointing at the guide along with a blurb about how to run it. Some examples like `math` and `smorgasboard` have been deleted as they didn't really serve much purpose, and others like `closures` have been rewritten with `web-sys` instead of hand-bound bindings. Overall it's hoped that this puts us in a good and consistent state for our examples, with all of them being described in the guide, excerpts are in the guide, and they're all relatively idiomatically using `web-sys`. |
||
---|---|---|
.. | ||
src | ||
ui-tests | ||
Cargo.toml | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
README.md |
wasm-bindgen-macro
Implementation of the #[wasm_bindgen]
attribute. See the wasm-bindgen
documentation for more information about what this macro does.
Testing
Testing of this macro is done through "ui tests" in the ui-tests
subdirectory
of this crate. Each Rust file in this folder is compiled with the wasm_bindgen
crate, and the *.stderr
file sitting next to it is the asserted output of the
compiler. If the output matches, the test passes, and if the output doesn't
match the test fails. Note that it is also considered a failure if a test
actually compiles successfully.
To add a test:
- Create
ui-tests/my-awesome-test.rs
- Write an invalid
#[wasm_bindgen]
invocation, testing the error you're generating - Execute
cargo test -p ui-tests
, the test will fail - From within the
ui-tests
folder, execute./update-all-references.sh
. This should create amy-awesome-test.stderr
file. - Inspect
my-awesome-test.stderr
to make sure it looks ok - Rerun
cargo test -p ui-tests
and your tests should pass!
Testing here is a work in progress, see #601 for more information.