use url_encoded_data::UrlEncodedData;
fn main() {
let url = "https://google.com/?q=rust&ei=code";
let q = UrlEncodedData::from(url);
assert_eq!(
q.to_string_of_original_order(),
"https://google.com/?q=rust&ei=code"
);
assert_eq!(
q.to_string_of_sorted_order(),
"https://google.com/?ei=code&q=rust"
);
assert_eq!(q.len(), 2);
assert_eq!(q.keys_length(), 2);
assert!(q.keys().contains(&"q"));
assert!(q.keys().contains(&"ei"));
let url = "https://google.com/?q=rust&ei=code";
let q = UrlEncodedData::parse_str(url)
.set_one("q", "rust-lang")
.set("vector", &vec!["1", "2"])
.set_one("a", "1")
.set_one("b", "2")
.set_one("hello", "world")
.set("whole", &vec!["world", "世界"]) .delete("ei") .push("b", "3")
.done(); let q = q;
assert_eq!(q.keys_of_original_order()[0].as_ref(), "q");
println!("{}", q.to_final_string());
println!("{}", q.to_string_of_original_order());
println!("{}", q.to_string_of_sorted_order());
}