12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- use js_sys::*;
- use wasm_bindgen::JsCast;
- use wasm_bindgen_test::*;
- #[wasm_bindgen_test]
- fn clear() {
- let map = Map::new();
- map.set(&"foo".into(), &"bar".into());
- map.set(&"bar".into(), &"baz".into());
- assert_eq!(map.size(), 2);
- map.clear();
- assert_eq!(map.size(), 0);
- map.clear();
- assert_eq!(map.size(), 0);
- }
- #[wasm_bindgen_test]
- fn delete() {
- let map = Map::new();
- map.set(&"foo".into(), &"bar".into());
- assert_eq!(map.size(), 1);
- assert_eq!(map.delete(&"foo".into()), true);
- assert_eq!(map.delete(&"bar".into()), false);
- assert_eq!(map.size(), 0);
- }
- #[wasm_bindgen_test]
- fn for_each() {
- let map = Map::new();
- map.set(&1.into(), &true.into());
- map.set(&2.into(), &false.into());
- map.set(&3.into(), &"awoo".into());
- map.set(&4.into(), &100.into());
- map.set(&5.into(), &Array::new().into());
- map.set(&6.into(), &Object::new().into());
- let mut res = Vec::new();
- map.for_each(&mut |value, key| {
- if value.as_bool().is_some() {
- res.push((key, value));
- }
- });
- assert_eq!(map.size(), 6);
- assert_eq!(res.len(), 2);
- assert_eq!(res[0].0, 1);
- assert_eq!(res[0].1, true);
- assert_eq!(res[1].0, 2);
- assert_eq!(res[1].1, false);
- }
- #[wasm_bindgen_test]
- fn get() {
- let map = Map::new();
- map.set(&"foo".into(), &"bar".into());
- map.set(&1.into(), &2.into());
- assert_eq!(map.get(&"foo".into()), "bar");
- assert_eq!(map.get(&1.into()), 2);
- assert!(map.get(&2.into()).is_undefined());
- }
- #[wasm_bindgen_test]
- fn has() {
- let map = Map::new();
- map.set(&"foo".into(), &"bar".into());
- assert_eq!(map.has(&"foo".into()), true);
- assert_eq!(map.has(&"bar".into()), false);
- }
- #[wasm_bindgen_test]
- fn new() {
- assert_eq!(Map::new().size(), 0);
- }
- #[wasm_bindgen_test]
- fn set() {
- let map = Map::new();
- let new = map.set(&"foo".into(), &"bar".into());
- assert_eq!(map.has(&"foo".into()), true);
- assert_eq!(new.has(&"foo".into()), true);
- }
- #[wasm_bindgen_test]
- fn size() {
- let map = Map::new();
- map.set(&"foo".into(), &"bar".into());
- map.set(&"bar".into(), &"baz".into());
- assert_eq!(map.size(), 2);
- }
- #[wasm_bindgen_test]
- fn map_inheritance() {
- let map = Map::new();
- assert!(map.is_instance_of::<Map>());
- assert!(map.is_instance_of::<Object>());
- let _: &Object = map.as_ref();
- }
|