blob: 10661b29b49f57645f5e235c5e7c915465c4477b [file] [log] [blame]
use wasm_bindgen_test::*;
use web_sys::HtmlOptionElement;
#[wasm_bindgen_test]
fn test_option_element() {
let option = HtmlOptionElement::new_with_text_and_value_and_default_selected_and_selected(
"option_text",
"option_value",
false,
true,
)
.unwrap();
option.set_disabled(true);
assert_eq!(
option.disabled(),
true,
"Option should be disabled after we set it to be disabled."
);
option.set_disabled(false);
assert_eq!(
option.disabled(),
false,
"Option should not be disabled after we set it to be not-disabled."
);
assert!(
option.form().is_none(),
"Our option should not be associated with a form."
);
option.set_label("Well this truly is a neat option");
assert_eq!(
option.label(),
"Well this truly is a neat option",
"Option should have the label we gave it."
);
option.set_default_selected(true);
assert_eq!(
option.default_selected(),
true,
"Option should be default_selected after we set it to be default_selected."
);
option.set_default_selected(false);
assert_eq!(
option.default_selected(),
false,
"Option should not be default_selected after we set it to be not default_selected."
);
option.set_selected(true);
assert_eq!(
option.selected(),
true,
"Option should be selected after we set it to be selected."
);
option.set_selected(false);
assert_eq!(
option.selected(),
false,
"Option should not be selected after we set it to be not selected."
);
option.set_value("tomato");
assert_eq!(
option.value(),
"tomato",
"Option should have the value we gave it."
);
option.set_text("potato");
assert_eq!(
option.text(),
"potato",
"Option should have the text we gave it."
);
assert_eq!(
option.index(),
0,
"This should be the first option, since there are no other known options."
);
}