diff options
Diffstat (limited to 'vendor/js-sys/tests/wasm/SharedArrayBuffer.rs')
-rw-r--r-- | vendor/js-sys/tests/wasm/SharedArrayBuffer.rs | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/vendor/js-sys/tests/wasm/SharedArrayBuffer.rs b/vendor/js-sys/tests/wasm/SharedArrayBuffer.rs new file mode 100644 index 000000000..fdfd55d9b --- /dev/null +++ b/vendor/js-sys/tests/wasm/SharedArrayBuffer.rs @@ -0,0 +1,59 @@ +use js_sys::*; +use wasm_bindgen::prelude::*; +use wasm_bindgen::JsCast; +use wasm_bindgen_test::*; + +#[wasm_bindgen(module = "tests/wasm/SharedArrayBuffer.js")] +extern "C" { + fn is_shared_array_buffer_supported() -> bool; +} + +#[wasm_bindgen_test] +fn new() { + if !is_shared_array_buffer_supported() { + return; + } + let x = SharedArrayBuffer::new(42); + let y: JsValue = x.into(); + assert!(y.is_object()); +} + +#[wasm_bindgen_test] +fn byte_length() { + if !is_shared_array_buffer_supported() { + return; + } + let buf = SharedArrayBuffer::new(42); + assert_eq!(buf.byte_length(), 42); +} + +#[wasm_bindgen_test] +fn slice() { + if !is_shared_array_buffer_supported() { + return; + } + let buf = SharedArrayBuffer::new(4); + let slice = buf.slice(2); + assert!(JsValue::from(slice).is_object()); +} + +#[wasm_bindgen_test] +fn slice_with_end() { + if !is_shared_array_buffer_supported() { + return; + } + let buf = SharedArrayBuffer::new(4); + let slice = buf.slice_with_end(1, 2); + assert!(JsValue::from(slice).is_object()); +} + +#[wasm_bindgen_test] +fn sharedarraybuffer_inheritance() { + if !is_shared_array_buffer_supported() { + return; + } + let buf = SharedArrayBuffer::new(4); + assert!(buf.is_instance_of::<SharedArrayBuffer>()); + assert!(buf.is_instance_of::<Object>()); + let _: &Object = buf.as_ref(); +} |