1 use js_sys::*;
2 use wasm_bindgen::JsValue;
3 use wasm_bindgen_test::*;
4 
5 #[wasm_bindgen_test]
keys()6 fn keys() {
7     let array = Array::new();
8     array.push(&JsValue::from(1));
9     array.push(&JsValue::from(2));
10     array.push(&JsValue::from(3));
11     array.push(&JsValue::from(4));
12     array.push(&JsValue::from(5));
13 
14     let new_array = Array::from(&array.keys().into());
15 
16     let mut result = Vec::new();
17     new_array.for_each(&mut |i, _, _| result.push(i.as_f64().unwrap()));
18     assert_eq!(result, [0.0, 1.0, 2.0, 3.0, 4.0]);
19 }
20 
21 #[wasm_bindgen_test]
entries()22 fn entries() {
23     let array = Array::new();
24     array.push(&JsValue::from(1));
25     array.push(&JsValue::from(2));
26     array.push(&JsValue::from(3));
27     array.push(&JsValue::from(4));
28     array.push(&JsValue::from(5));
29 
30     let new_array = Array::from(&array.entries().into());
31 
32     new_array.for_each(&mut |a, i, _| {
33         assert!(a.is_object());
34         let array: Array = a.into();
35         assert_eq!(array.shift().as_f64().unwrap(), i as f64);
36         assert_eq!(array.shift().as_f64().unwrap(), (i + 1) as f64);
37         assert_eq!(array.length(), 0);
38     });
39 }
40