MapIterator.rs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. use js_sys::*;
  2. use wasm_bindgen_test::*;
  3. #[wasm_bindgen_test]
  4. fn entries() {
  5. let map = Map::new();
  6. map.set(&"uno".into(), &1.into());
  7. let entries = map.entries();
  8. let next = entries.next().unwrap();
  9. assert_eq!(next.done(), false);
  10. assert!(next.value().is_object());
  11. assert_eq!(Reflect::get(&next.value(), &0.into()).unwrap(), "uno");
  12. assert_eq!(Reflect::get(&next.value(), &1.into()).unwrap(), 1);
  13. let next = entries.next().unwrap();
  14. assert!(next.done());
  15. assert!(next.value().is_undefined());
  16. }
  17. #[wasm_bindgen_test]
  18. fn keys() {
  19. let map = Map::new();
  20. map.set(&"uno".into(), &1.into());
  21. let keys = map.keys();
  22. let next = keys.next().unwrap();
  23. assert_eq!(next.done(), false);
  24. assert_eq!(next.value(), "uno");
  25. let next = keys.next().unwrap();
  26. assert!(next.done());
  27. assert!(next.value().is_undefined());
  28. }
  29. #[wasm_bindgen_test]
  30. fn values() {
  31. let map = Map::new();
  32. map.set(&"uno".into(), &1.into());
  33. let values = map.values();
  34. let next = values.next().unwrap();
  35. assert_eq!(next.done(), false);
  36. assert_eq!(next.value(), 1);
  37. let next = values.next().unwrap();
  38. assert!(next.done());
  39. assert!(next.value().is_undefined());
  40. }