use wasm_bindgen::prelude::*; use wasm_bindgen_test::*; use web_sys::HtmlScriptElement; #[wasm_bindgen(module = "/tests/wasm/element.js")] extern "C" { fn new_script() -> HtmlScriptElement; } #[wasm_bindgen_test] fn test_script_element() { let element = new_script(); assert_eq!(element.src(), "", "Shouldn't have a src"); element.set_src("https://example.com/script.js"); assert_eq!( element.src(), "https://example.com/script.js", "Should have a src" ); assert_eq!(element.type_(), "", "Shouldn't have a type"); element.set_type("application/javascript"); assert_eq!( element.type_(), "application/javascript", "Should have a type" ); assert!(!element.no_module(), "Shouldn't be a nomodule"); element.set_no_module(true); assert!(element.no_module(), "Should be a nomodule"); assert_eq!(element.charset(), "", "Shouldn't have a charset"); element.set_charset("UTF-8"); assert_eq!(element.charset(), "UTF-8", "Should have a charset"); assert!(element.r#async(), "Should be async"); element.set_async(false); assert!(!element.r#async(), "Shouldn't be a async"); assert!(!element.defer(), "Shouldn't be a defer"); element.set_defer(true); assert!(element.defer(), "Should be a defer"); assert!( element.cross_origin().is_none(), "Shouldn't have a crossorigin" ); element.set_cross_origin(Some("anonymous")); assert_eq!( element.cross_origin().unwrap(), "anonymous", "Should have a crossorigin" ); element.set_cross_origin(None); assert!( element.cross_origin().is_none(), "Shouldn't have a crossorigin" ); assert_eq!(element.text().unwrap(), "", "Shouldn't have text"); assert_eq!(element.set_text("text").unwrap(), ()); assert_eq!(element.text().unwrap(), "text", "Should have text"); assert_eq!(element.event(), "", "Shouldn't have an event"); element.set_event("ev"); assert_eq!(element.event(), "ev", "Should have an event"); assert_eq!(element.html_for(), "", "Shouldn't have an html_for"); element.set_html_for("hey"); assert_eq!(element.html_for(), "hey", "Should have an html_for"); assert_eq!(element.integrity(), "", "Shouldn't have an integrity"); element.set_integrity("integrity-val"); assert_eq!( element.integrity(), "integrity-val", "Should have an integrity" ); }