script_element.rs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. use wasm_bindgen::prelude::*;
  2. use wasm_bindgen_test::*;
  3. use web_sys::HtmlScriptElement;
  4. #[wasm_bindgen(module = "/tests/wasm/element.js")]
  5. extern "C" {
  6. fn new_script() -> HtmlScriptElement;
  7. }
  8. #[wasm_bindgen_test]
  9. fn test_script_element() {
  10. let element = new_script();
  11. assert_eq!(element.src(), "", "Shouldn't have a src");
  12. element.set_src("https://example.com/script.js");
  13. assert_eq!(
  14. element.src(),
  15. "https://example.com/script.js",
  16. "Should have a src"
  17. );
  18. assert_eq!(element.type_(), "", "Shouldn't have a type");
  19. element.set_type("application/javascript");
  20. assert_eq!(
  21. element.type_(),
  22. "application/javascript",
  23. "Should have a type"
  24. );
  25. assert!(!element.no_module(), "Shouldn't be a nomodule");
  26. element.set_no_module(true);
  27. assert!(element.no_module(), "Should be a nomodule");
  28. assert_eq!(element.charset(), "", "Shouldn't have a charset");
  29. element.set_charset("UTF-8");
  30. assert_eq!(element.charset(), "UTF-8", "Should have a charset");
  31. assert!(element.r#async(), "Should be async");
  32. element.set_async(false);
  33. assert!(!element.r#async(), "Shouldn't be a async");
  34. assert!(!element.defer(), "Shouldn't be a defer");
  35. element.set_defer(true);
  36. assert!(element.defer(), "Should be a defer");
  37. assert!(
  38. element.cross_origin().is_none(),
  39. "Shouldn't have a crossorigin"
  40. );
  41. element.set_cross_origin(Some("anonymous"));
  42. assert_eq!(
  43. element.cross_origin().unwrap(),
  44. "anonymous",
  45. "Should have a crossorigin"
  46. );
  47. element.set_cross_origin(None);
  48. assert!(
  49. element.cross_origin().is_none(),
  50. "Shouldn't have a crossorigin"
  51. );
  52. assert_eq!(element.text().unwrap(), "", "Shouldn't have text");
  53. assert_eq!(element.set_text("text").unwrap(), ());
  54. assert_eq!(element.text().unwrap(), "text", "Should have text");
  55. assert_eq!(element.event(), "", "Shouldn't have an event");
  56. element.set_event("ev");
  57. assert_eq!(element.event(), "ev", "Should have an event");
  58. assert_eq!(element.html_for(), "", "Shouldn't have an html_for");
  59. element.set_html_for("hey");
  60. assert_eq!(element.html_for(), "hey", "Should have an html_for");
  61. assert_eq!(element.integrity(), "", "Shouldn't have an integrity");
  62. element.set_integrity("integrity-val");
  63. assert_eq!(
  64. element.integrity(),
  65. "integrity-val",
  66. "Should have an integrity"
  67. );
  68. }