diff options
Diffstat (limited to 'rand/tests/wasm_bindgen')
-rw-r--r-- | rand/tests/wasm_bindgen/Cargo.toml | 16 | ||||
-rw-r--r-- | rand/tests/wasm_bindgen/js/index.js | 7 | ||||
-rw-r--r-- | rand/tests/wasm_bindgen/src/lib.rs | 49 |
3 files changed, 72 insertions, 0 deletions
diff --git a/rand/tests/wasm_bindgen/Cargo.toml b/rand/tests/wasm_bindgen/Cargo.toml new file mode 100644 index 0000000..e83c174 --- /dev/null +++ b/rand/tests/wasm_bindgen/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "rand_wasm_bindgen_test" +description = "Minimal crate to test that rand can be build for web assembly target" +version = "0.1.0" +authors = ["The Rand Project Developers"] +publish = false +license = "MIT OR Apache-2.0" +edition = "2018" + +[lib] +crate-type = ["cdylib"] + +[dependencies] +rand = { path = "../..", features = ["wasm-bindgen"] } +wasm-bindgen = "0.2" +wasm-bindgen-test = "0.2" diff --git a/rand/tests/wasm_bindgen/js/index.js b/rand/tests/wasm_bindgen/js/index.js new file mode 100644 index 0000000..a02fb59 --- /dev/null +++ b/rand/tests/wasm_bindgen/js/index.js @@ -0,0 +1,7 @@ +'use strict'; + +const rand_wasm_bindgen_test = require('./rand_wasm_bindgen_test'); + +console.log(rand_wasm_bindgen_test.generate_from_entropy()); +console.log(rand_wasm_bindgen_test.generate_from_os_rand()); +console.log(rand_wasm_bindgen_test.generate_from_seed()); diff --git a/rand/tests/wasm_bindgen/src/lib.rs b/rand/tests/wasm_bindgen/src/lib.rs new file mode 100644 index 0000000..9af0b9e --- /dev/null +++ b/rand/tests/wasm_bindgen/src/lib.rs @@ -0,0 +1,49 @@ +// Copyright 2018 Developers of the Rand project. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// Crate to test WASM with the `wasm-bindgen` lib. + +#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk.png")] + +use rand::rngs::{OsRng, StdRng}; +use rand::{Rng, SeedableRng}; +use wasm_bindgen::prelude::*; + +#[wasm_bindgen] +pub fn generate_from_seed(seed: u32) -> i32 { + StdRng::seed_from_u64(seed as u64).gen() +} + +#[wasm_bindgen] +pub fn generate_from_os_rand() -> i32 { + OsRng.gen() +} + +#[wasm_bindgen] +pub fn generate_from_entropy() -> i32 { + StdRng::from_entropy().gen() +} + +pub mod tests { + use wasm_bindgen_test::*; + + #[wasm_bindgen_test] + fn generate_from_seed() { + let _ = super::generate_from_seed(42); + } + + #[wasm_bindgen_test] + fn generate_from_os_rand() { + let _ = super::generate_from_os_rand(); + } + + #[wasm_bindgen_test] + fn generate_from_entropy() { + let _ = super::generate_from_entropy(); + } +} |