headers.rs 962 B

12345678910111213141516171819202122232425262728293031
  1. use wasm_bindgen::prelude::*;
  2. use wasm_bindgen_test::*;
  3. use web_sys::Headers;
  4. #[wasm_bindgen(module = "/tests/wasm/headers.js")]
  5. extern "C" {
  6. fn new_headers() -> Headers;
  7. }
  8. #[wasm_bindgen_test]
  9. fn headers() {
  10. let headers = new_headers();
  11. assert_eq!(headers.get("foo").unwrap(), None);
  12. assert_eq!(
  13. headers.get("content-type").unwrap(),
  14. Some("text/plain".to_string()),
  15. );
  16. assert_eq!(
  17. headers.get("Content-Type").unwrap(),
  18. Some("text/plain".to_string()),
  19. );
  20. assert!(headers.get("").is_err());
  21. assert!(headers.set("", "").is_err());
  22. assert!(headers.set("x", "").is_ok());
  23. assert_eq!(headers.get("x").unwrap(), Some(String::new()));
  24. assert!(headers.delete("x").is_ok());
  25. assert_eq!(headers.get("x").unwrap(), None);
  26. assert!(headers.append("a", "y").is_ok());
  27. assert!(headers.append("a", "z").is_ok());
  28. assert_eq!(headers.get("a").unwrap(), Some("y, z".to_string()));
  29. }