auto merge of #9927 : chris-morgan/rust/fix-url-to_str-so-it-includes-the-port, r=huonw

Fixes #9451.
Fixes chris-morgan/rust-http#16.
This commit is contained in:
bors 2013-10-18 07:21:25 -07:00
commit a1848bc755

View file

@ -671,9 +671,13 @@ pub fn to_str(url: &Url) -> ~str {
};
let authority = if url.host.is_empty() {
// If port is Some, we're in a nonsensical situation. Too bad.
~""
} else {
format!("//{}{}", user, url.host)
match url.port {
Some(ref port) => format!("//{}{}:{}", user, url.host, *port),
None => format!("//{}{}", user, url.host),
}
};
let query = if url.query.is_empty() {
@ -895,6 +899,12 @@ mod tests {
assert_eq!(from_str(url).unwrap().to_str(), url);
}
#[test]
fn test_url_with_port_parse_and_format() {
let url = ~"http://rust-lang.org:80/doc";
assert_eq!(from_str(url).unwrap().to_str(), url);
}
#[test]
fn test_scheme_host_only_url_parse_and_format() {
let url = ~"http://rust-lang.org";