diff options
| author | Brian Anderson <banderson@mozilla.com> | 2012-08-06 13:12:49 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2012-08-06 13:12:49 -0700 |
| commit | 1e3143b34e66ca5157b03d3658d64d7c01563186 (patch) | |
| tree | c2ee9f7547e3bd2d2e84aafffa1ee1af6e8918c6 /src/libstd | |
| parent | 03330baf9ca15d88e58753167b1eb40ca03cba78 (diff) | |
std: Parse underscores in url paths
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/net_url.rs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/libstd/net_url.rs b/src/libstd/net_url.rs index d43a8add1cc..a604f0ee4ec 100644 --- a/src/libstd/net_url.rs +++ b/src/libstd/net_url.rs @@ -537,7 +537,8 @@ fn get_path(rawurl: ~str, authority : bool) -> for str::each_chari(rawurl) |i,c| { match c { 'A' to 'Z' | 'a' to 'z' | '0' to '9' | '&' |'\'' | '(' | ')' | '.' - | '@' | ':' | '%' | '/' | '+' | '!' | '*' | ',' | ';' | '=' => { + | '@' | ':' | '%' | '/' | '+' | '!' | '*' | ',' | ';' | '=' + | '_' => { again; } '?' | '#' => { @@ -796,6 +797,14 @@ mod tests { } #[test] + fn test_url_with_underscores() { + 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")); } |
