form_urlencoded.rs 762 B

1234567891011121314151617181920212223242526272829
  1. extern crate url;
  2. use url::form_urlencoded::*;
  3. #[test]
  4. fn test_form_urlencoded() {
  5. let pairs = &[
  6. ("foo".to_string(), "é&".to_string()),
  7. ("bar".to_string(), "".to_string()),
  8. ("foo".to_string(), "#".to_string())
  9. ];
  10. let encoded = serialize(pairs);
  11. assert_eq!(encoded, "foo=%C3%A9%26&bar=&foo=%23");
  12. assert_eq!(parse(encoded.as_bytes()), pairs.to_vec());
  13. }
  14. #[test]
  15. fn test_form_serialize() {
  16. let pairs = [("foo", "é&"),
  17. ("bar", ""),
  18. ("foo", "#")];
  19. let want = "foo=%C3%A9%26&bar=&foo=%23";
  20. // Works with referenced tuples
  21. assert_eq!(serialize(pairs.iter()), want);
  22. // Works with owned tuples
  23. assert_eq!(serialize(pairs.iter().map(|p| (p.0, p.1))), want);
  24. }