123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- use wasm_bindgen::prelude::*;
- use wasm_bindgen_test::*;
- use web_sys::{HtmlTableCaptionElement, HtmlTableElement, HtmlTableSectionElement};
- #[wasm_bindgen(module = "/tests/wasm/element.js")]
- extern "C" {
- fn new_table() -> HtmlTableElement;
- fn new_caption() -> HtmlTableCaptionElement;
- fn new_thead() -> HtmlTableSectionElement;
- fn new_tfoot() -> HtmlTableSectionElement;
- }
- #[wasm_bindgen_test]
- fn test_table_element() {
- let table = new_table();
- assert!(
- table.caption().is_none(),
- "New table element should have no caption element."
- );
- table.create_caption();
- assert!(
- table.caption().is_some(),
- "Table element should have caption element after create caption."
- );
- table.delete_caption();
- assert!(
- table.caption().is_none(),
- "Table element should have no caption element after delete caption."
- );
- table.set_caption(Some(&new_caption()));
- assert!(
- table.caption().is_some(),
- "Table element should have caption element after set."
- );
- assert!(
- table.t_head().is_none(),
- "New table element should have no thead element."
- );
- table.create_t_head();
- assert!(
- table.t_head().is_some(),
- "Table element should have thead element after create thead."
- );
- table.delete_t_head();
- assert!(
- table.t_head().is_none(),
- "Table element should have no thead element after delete thead."
- );
- table.set_t_head(Some(&new_thead()));
- assert!(
- table.t_head().is_some(),
- "Table element should have thead element after set."
- );
- assert!(
- table.t_foot().is_none(),
- "New table element should have no tfoot element."
- );
- table.create_t_foot();
- assert!(
- table.t_foot().is_some(),
- "Table element should have tfoot element after create tfoot."
- );
- table.delete_t_foot();
- assert!(
- table.t_foot().is_none(),
- "Table element should have no tfoot element after delete tfoot."
- );
- table.set_t_foot(Some(&new_tfoot()));
- assert!(
- table.t_foot().is_some(),
- "Table element should have tfoot element after set."
- );
- assert!(
- table.t_bodies().length() == 0,
- "New table element should have no tbody element."
- );
- table.create_t_body();
- assert!(
- table.t_bodies().length() == 1,
- "Table element should have tbody element after create tbody."
- );
- assert!(
- table.rows().length() == 0,
- "New table element should have no rows."
- );
- table
- .insert_row_with_index(0)
- .expect("Failed to insert row at index 0");
- assert!(
- table.rows().length() == 1,
- "Table element should have rows after insert row."
- );
- table
- .delete_row(0)
- .expect("Failed to delete row at index 0");
- assert!(
- table.rows().length() == 0,
- "Table element should have no rows after delete row."
- );
- table.set_align("left");
- assert_eq!(
- table.align(),
- "left",
- "Table element should have an align property of 'left'"
- );
- table.set_border("10");
- assert_eq!(
- table.border(),
- "10",
- "Table element should have a border property of '10'"
- );
- table.set_frame("above");
- assert_eq!(
- table.frame(),
- "above",
- "Table element should have an frame property of 'above'"
- );
- table.set_rules("none");
- assert_eq!(
- table.rules(),
- "none",
- "Table element should have an rules property of 'none'"
- );
- table.set_summary("summary");
- assert_eq!(
- table.summary(),
- "summary",
- "Table element should have an summary property of 'summary'"
- );
- table.set_width("1000");
- assert_eq!(
- table.width(),
- "1000",
- "Table element should have a width property of '1000'"
- );
- table.set_bg_color("#ffffff");
- assert_eq!(
- table.bg_color(),
- "#ffffff",
- "Table element should have an bgColor property of '#ffffff'"
- );
- table.set_cell_padding("1");
- assert_eq!(
- table.cell_padding(),
- "1",
- "Table element should have an cellPadding property of '1'"
- );
- table.set_cell_spacing("1");
- assert_eq!(
- table.cell_spacing(),
- "1",
- "Table element should have an cellSpacing property of '1'"
- );
- }
|