SetIterator.rs 990 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. use js_sys::*;
  2. use wasm_bindgen::prelude::*;
  3. use wasm_bindgen_test::*;
  4. #[wasm_bindgen_test]
  5. fn entries() {
  6. let s = Set::new(&JsValue::undefined());
  7. s.add(&1.into());
  8. let iter = s.entries();
  9. let obj = iter.next().unwrap();
  10. assert!(!obj.done());
  11. let array = Array::from(&obj.value());
  12. assert_eq!(array.length(), 2);
  13. array.for_each(&mut |a, _, _| {
  14. assert_eq!(a, 1);
  15. });
  16. assert!(iter.next().unwrap().done());
  17. }
  18. #[wasm_bindgen_test]
  19. fn keys() {
  20. let s = Set::new(&JsValue::undefined());
  21. s.add(&1.into());
  22. let iter = s.keys();
  23. let obj = iter.next().unwrap();
  24. assert!(!obj.done());
  25. assert_eq!(obj.value(), 1);
  26. assert!(iter.next().unwrap().done());
  27. }
  28. #[wasm_bindgen_test]
  29. fn values() {
  30. let s = Set::new(&JsValue::undefined());
  31. s.add(&1.into());
  32. let iter = s.values();
  33. let obj = iter.next().unwrap();
  34. assert!(!obj.done());
  35. assert_eq!(obj.value(), 1);
  36. assert!(iter.next().unwrap().done());
  37. }