Sha256: 930498b116924eda0d40ea11c73adbfc049ffd0f11e259f1faf29e090eeea853
Contents?: true
Size: 1.4 KB
Versions: 11
Compression:
Stored size: 1.4 KB
Contents
use js_sys::*; use wasm_bindgen::prelude::*; use wasm_bindgen_test::*; #[wasm_bindgen] extern "C" { type SomeKey; #[wasm_bindgen(method, setter, structural)] fn set_some(this: &SomeKey, val: JsValue); } fn some_key() -> Object { let key = SomeKey::from(JsValue::from(Object::new())); key.set_some("key".into()); Object::from(JsValue::from(key)) } #[wasm_bindgen_test] fn new() { assert!(JsValue::from(WeakMap::new()).is_object()); } #[wasm_bindgen_test] fn get_and_set() { let map = WeakMap::new(); let key = some_key(); map.set(&key, &"value".into()); assert_eq!(map.get(&key), "value"); assert_eq!(map.get(&Object::new()), JsValue::undefined()); assert_eq!(map.get(&some_key()), JsValue::undefined()); } #[wasm_bindgen_test] fn has() { let map = WeakMap::new(); let key = some_key(); map.set(&key, &"value".into()); assert!(map.has(&key)); assert!(!map.has(&Object::new())); assert!(!map.has(&some_key())); } #[wasm_bindgen_test] fn delete() { let map = WeakMap::new(); let key = some_key(); assert!(!map.has(&key)); map.set(&key, &"value".into()); assert!(map.has(&key)); map.delete(&key); assert!(!map.has(&key)); } #[wasm_bindgen_test] fn weakmap_inheritance() { let map = WeakMap::new(); assert!(map.is_instance_of::<WeakMap>()); assert!(map.is_instance_of::<Object>()); let _: &Object = map.as_ref(); }
Version data entries
11 entries across 11 versions & 1 rubygems