about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-08-06 15:17:08 -0700
committerBrian Anderson <banderson@mozilla.com>2012-08-06 15:17:08 -0700
commitd3a9bb1bd4a1d510bbaca2ab1121e4c85a239247 (patch)
tree3f70e3af0df8d0884a577e1739ab8c881b693a74 /src/libstd
parent74370042aa698c0360aadf356ccc4305cc2c0cd2 (diff)
downloadrust-d3a9bb1bd4a1d510bbaca2ab1121e4c85a239247.tar.gz
rust-d3a9bb1bd4a1d510bbaca2ab1121e4c85a239247.zip
std: URL paths can contain dashes
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/net_url.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/libstd/net_url.rs b/src/libstd/net_url.rs
index a604f0ee4ec..b8c1b318841 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;
           }
           '?' | '#' => {
@@ -805,6 +805,14 @@ mod tests {
     }
 
     #[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"));
     }