From d3a9bb1bd4a1d510bbaca2ab1121e4c85a239247 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 6 Aug 2012 15:17:08 -0700 Subject: [PATCH] std: URL paths can contain dashes --- src/libstd/net_url.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/libstd/net_url.rs b/src/libstd/net_url.rs index a604f0ee4ec5..b8c1b3188419 100644 --- a/src/libstd/net_url.rs +++ b/src/libstd/net_url.rs @@ -538,7 +538,7 @@ fn get_path(rawurl: ~str, authority : bool) -> match c { 'A' to 'Z' | 'a' to 'z' | '0' to '9' | '&' |'\'' | '(' | ')' | '.' | '@' | ':' | '%' | '/' | '+' | '!' | '*' | ',' | ';' | '=' - | '_' => { + | '_' | '-' => { again; } '?' | '#' => { @@ -804,6 +804,14 @@ mod tests { assert url.path == ~"/file_name.html"; } + #[test] + fn test_url_with_dashes() { + let urlstr = ~"http://dotcom.com/file-name.html"; + let url = from_str(urlstr).get(); + #debug("url: %?", url); + assert url.path == ~"/file-name.html"; + } + #[test] fn test_no_scheme() { assert result::is_err(get_scheme(~"noschemehere.html"));