wasm-bindgen/crates/web-sys/tests/wasm/options_collection.rs

44 lines
1.2 KiB
Rust
Raw Normal View History

use wasm_bindgen::prelude::*;
use wasm_bindgen_test::*;
use web_sys::HtmlOptionsCollection;
#[wasm_bindgen(module = "./tests/wasm/element.js")]
extern "C" {
fn new_food_options_collection() -> HtmlOptionsCollection;
}
#[wasm_bindgen_test]
fn test_options_collection() {
let opt_collection = new_food_options_collection();
assert!(
opt_collection.length() == 4,
"Our option collection should have four options."
);
assert!(
opt_collection.remove(0).is_ok(),
"We should be able to successfully remove an element from an option collection."
);
assert!(
opt_collection.length() == 3,
"Our option collection should have three options after removing one."
);
assert!(
opt_collection.set_selected_index(1).is_ok(),
"Should be able to set the selected index of an option collection if it is valid."
);
assert_eq!(
opt_collection.selected_index().unwrap(),
1,
"The second option should be selected in our option collection."
);
opt_collection.set_length(1234);
assert_eq!(
opt_collection.length(),
1234,
"Our option collections length should update after being set to 1234."
);
}