wasm-bindgen/crates/web-sys/tests/wasm/option_element.rs
Alex Crichton 90579416cf Add WebIDL support for the object type
This maps to the `Object` type in the `js_sys` crate.
2018-08-05 01:04:28 -05:00

44 lines
1.7 KiB
Rust

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