wasm-bindgen/crates/js-sys/tests/wasm/ArrayIterator.rs

40 lines
1.1 KiB
Rust
Raw Normal View History

use wasm_bindgen::JsValue;
use wasm_bindgen_test::*;
use js_sys::*;
#[wasm_bindgen_test]
fn keys() {
let array = Array::new();
array.push(&JsValue::from(1));
array.push(&JsValue::from(2));
array.push(&JsValue::from(3));
array.push(&JsValue::from(4));
array.push(&JsValue::from(5));
let new_array = Array::from(&array.keys().into());
let mut result = Vec::new();
new_array.for_each(&mut |i, _, _| result.push(i.as_f64().unwrap()));
assert_eq!(result, [0.0, 1.0, 2.0, 3.0, 4.0]);
}
#[wasm_bindgen_test]
fn entries() {
let array = Array::new();
array.push(&JsValue::from(1));
array.push(&JsValue::from(2));
array.push(&JsValue::from(3));
array.push(&JsValue::from(4));
array.push(&JsValue::from(5));
let new_array = Array::from(&array.entries().into());
new_array.for_each(&mut |a, i, _| {
assert!(a.is_object());
let array: Array = a.into();
assert_eq!(array.shift().as_f64().unwrap(), i as f64);
assert_eq!(array.shift().as_f64().unwrap(), (i + 1) as f64);
assert_eq!(array.length(), 0);
});
}