File: options_collection.rs

package info (click to toggle)
rustc-web 1.78.0%2Bdfsg1-2~deb12u3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,245,420 kB
  • sloc: xml: 147,985; javascript: 18,022; sh: 11,083; python: 10,265; ansic: 6,172; cpp: 5,023; asm: 4,390; makefile: 4,269
file content (43 lines) | stat: -rw-r--r-- 1,247 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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."
    );
}