1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- 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();
- }
|