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::()); assert!(buf.is_instance_of::()); let _: &Object = buf.as_ref(); }