| 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." |
| ); |
| } |