summaryrefslogtreecommitdiffstats
path: root/vendor/js-sys/tests/wasm/SharedArrayBuffer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/js-sys/tests/wasm/SharedArrayBuffer.rs')
-rw-r--r--vendor/js-sys/tests/wasm/SharedArrayBuffer.rs59
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();
+}