summaryrefslogtreecommitdiffstats
path: root/vendor/js-sys/tests/wasm/WeakSet.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 12:41:35 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 12:41:35 +0000
commit7e5d7eea9c580ef4b41a765bde624af431942b96 (patch)
tree2c0d9ca12878fc4525650aa4e54d77a81a07cc09 /vendor/js-sys/tests/wasm/WeakSet.rs
parentAdding debian version 1.70.0+dfsg1-9. (diff)
downloadrustc-7e5d7eea9c580ef4b41a765bde624af431942b96.tar.xz
rustc-7e5d7eea9c580ef4b41a765bde624af431942b96.zip
Merging upstream version 1.70.0+dfsg2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/js-sys/tests/wasm/WeakSet.rs')
-rw-r--r--vendor/js-sys/tests/wasm/WeakSet.rs51
1 files changed, 51 insertions, 0 deletions
diff --git a/vendor/js-sys/tests/wasm/WeakSet.rs b/vendor/js-sys/tests/wasm/WeakSet.rs
new file mode 100644
index 000000000..094038b5f
--- /dev/null
+++ b/vendor/js-sys/tests/wasm/WeakSet.rs
@@ -0,0 +1,51 @@
+use js_sys::*;
+use wasm_bindgen::prelude::*;
+use wasm_bindgen::JsCast;
+use wasm_bindgen_test::*;
+
+#[wasm_bindgen]
+extern "C" {
+ type SomeValue;
+ #[wasm_bindgen(method, setter, structural)]
+ fn set_some(this: &SomeValue, val: JsValue);
+}
+
+fn some_value() -> Object {
+ let value = SomeValue::from(JsValue::from(Object::new()));
+ value.set_some("value".into());
+ Object::from(JsValue::from(value))
+}
+
+#[wasm_bindgen_test]
+fn new() {
+ assert!(JsValue::from(WeakSet::new()).is_object())
+}
+
+#[wasm_bindgen_test]
+fn has() {
+ let set = WeakSet::new();
+ let value = some_value();
+ assert!(!set.has(&value));
+ set.add(&value);
+ assert!(set.has(&value));
+ assert!(!set.has(&some_value()));
+}
+
+#[wasm_bindgen_test]
+fn delete() {
+ let set = WeakSet::new();
+ let value = some_value();
+ set.add(&value);
+ assert!(set.has(&value));
+ assert!(set.delete(&value));
+ assert!(!set.has(&value));
+ assert!(!set.delete(&value));
+}
+
+#[wasm_bindgen_test]
+fn weakset_inheritance() {
+ let set = WeakSet::new();
+ assert!(set.is_instance_of::<WeakSet>());
+ assert!(set.is_instance_of::<Object>());
+ let _: &Object = set.as_ref();
+}