1
Fork 0

libstd: Make net_url::encode no longer require a unique string

This commit is contained in:
Patrick Walton 2012-09-03 12:33:51 -07:00
parent c2f8cf9dc1
commit 07ee2997e6

View file

@ -42,7 +42,7 @@ fn userinfo(-user: ~str, -pass: Option<~str>) -> UserInfo {
{user: user, pass: pass} {user: user, pass: pass}
} }
fn encode_inner(s: ~str, full_url: bool) -> ~str { fn encode_inner(s: &str, full_url: bool) -> ~str {
do io::with_str_reader(s) |rdr| { do io::with_str_reader(s) |rdr| {
let mut out = ~""; let mut out = ~"";
@ -87,7 +87,7 @@ fn encode_inner(s: ~str, full_url: bool) -> ~str {
* *
* This function is compliant with RFC 3986. * This function is compliant with RFC 3986.
*/ */
fn encode(s: ~str) -> ~str { fn encode(s: &str) -> ~str {
encode_inner(s, true) encode_inner(s, true)
} }
@ -97,7 +97,7 @@ fn encode(s: ~str) -> ~str {
* *
* This function is compliant with RFC 3986. * This function is compliant with RFC 3986.
*/ */
fn encode_component(s: ~str) -> ~str { fn encode_component(s: &str) -> ~str {
encode_inner(s, false) encode_inner(s, false)
} }
@ -917,30 +917,30 @@ mod tests {
#[test] #[test]
fn test_encode() { fn test_encode() {
assert encode(~"") == ~""; assert encode("") == ~"";
assert encode(~"http://example.com") == ~"http://example.com"; assert encode("http://example.com") == ~"http://example.com";
assert encode(~"foo bar% baz") == ~"foo%20bar%25%20baz"; assert encode("foo bar% baz") == ~"foo%20bar%25%20baz";
assert encode(~" ") == ~"%20"; assert encode(" ") == ~"%20";
assert encode(~"!") == ~"!"; assert encode("!") == ~"!";
assert encode(~"\"") == ~"\""; assert encode("\"") == ~"\"";
assert encode(~"#") == ~"#"; assert encode("#") == ~"#";
assert encode(~"$") == ~"$"; assert encode("$") == ~"$";
assert encode(~"%") == ~"%25"; assert encode("%") == ~"%25";
assert encode(~"&") == ~"&"; assert encode("&") == ~"&";
assert encode(~"'") == ~"%27"; assert encode("'") == ~"%27";
assert encode(~"(") == ~"("; assert encode("(") == ~"(";
assert encode(~")") == ~")"; assert encode(")") == ~")";
assert encode(~"*") == ~"*"; assert encode("*") == ~"*";
assert encode(~"+") == ~"+"; assert encode("+") == ~"+";
assert encode(~",") == ~","; assert encode(",") == ~",";
assert encode(~"/") == ~"/"; assert encode("/") == ~"/";
assert encode(~":") == ~":"; assert encode(":") == ~":";
assert encode(~";") == ~";"; assert encode(";") == ~";";
assert encode(~"=") == ~"="; assert encode("=") == ~"=";
assert encode(~"?") == ~"?"; assert encode("?") == ~"?";
assert encode(~"@") == ~"@"; assert encode("@") == ~"@";
assert encode(~"[") == ~"["; assert encode("[") == ~"[";
assert encode(~"]") == ~"]"; assert encode("]") == ~"]";
} }
#[test] #[test]