2018-08-02 02:11:29 +03:00
|
|
|
use wasm_bindgen::prelude::*;
|
2018-09-26 18:26:00 +03:00
|
|
|
use wasm_bindgen_test::*;
|
2018-08-02 02:11:29 +03:00
|
|
|
use web_sys::HtmlOptionsCollection;
|
|
|
|
|
|
|
|
#[wasm_bindgen(module = "./tests/wasm/element.js")]
|
2018-09-26 18:26:00 +03:00
|
|
|
extern "C" {
|
2018-08-02 02:11:29 +03:00
|
|
|
fn new_food_options_collection() -> HtmlOptionsCollection;
|
|
|
|
}
|
|
|
|
|
|
|
|
#[wasm_bindgen_test]
|
|
|
|
fn test_options_collection() {
|
|
|
|
let opt_collection = new_food_options_collection();
|
|
|
|
|
2018-09-26 18:26:00 +03:00
|
|
|
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."
|
|
|
|
);
|
2018-08-02 02:11:29 +03:00
|
|
|
|
2018-09-26 18:26:00 +03:00
|
|
|
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."
|
|
|
|
);
|
2018-08-02 02:11:29 +03:00
|
|
|
|
|
|
|
opt_collection.set_length(1234);
|
2018-09-26 18:26:00 +03:00
|
|
|
assert_eq!(
|
|
|
|
opt_collection.length(),
|
|
|
|
1234,
|
|
|
|
"Our option collections length should update after being set to 1234."
|
|
|
|
);
|
|
|
|
}
|