use wasm_bindgen_test::*; use web_sys::HtmlOptionElement; #[wasm_bindgen_test] fn test_option_element() { let option = HtmlOptionElement::new_using_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."); }