about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-08-05 13:48:26 -0700
committerBrian Anderson <banderson@mozilla.com>2012-08-05 13:48:29 -0700
commitdbf58716dfe1dd502ea37d5a613847406a9736c9 (patch)
tree319410b82bf670fab4d96f7dca50157733fd196f /src
parenta52f6d26db810b947f5ff515ffae18a31e9479c0 (diff)
std: URLs without schemes parse as errors. Closes #3112
Diffstat (limited to 'src')
-rw-r--r--src/libstd/net_url.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libstd/net_url.rs b/src/libstd/net_url.rs
index 5b089474486..ac9d4b389f9 100644
--- a/src/libstd/net_url.rs
+++ b/src/libstd/net_url.rs
@@ -353,7 +353,7 @@ fn get_scheme(rawurl: ~str) -> result::result<(~str, ~str), @~str> {
           }
         }
     };
-    return result::ok((copy rawurl, ~""));
+    return result::err(@~"url: Scheme must be terminated with a colon.");
 }
 
 // returns userinfo, host, port, and unparsed part, or an error
@@ -780,6 +780,11 @@ mod tests {
     }
 
     #[test]
+    fn test_no_scheme() {
+        assert result::is_err(get_scheme(~"noschemehere.html"));
+    }
+
+    #[test]
     fn test_invalid_scheme_errors() {
         assert result::is_err(from_str(~"99://something"));
         assert result::is_err(from_str(~"://something"));