Browse Source

Fix file:#frag test case

Valentin Gosu 9 years ago
parent
commit
a706400a94
2 changed files with 15 additions and 0 deletions
  1. 1 0
      src/parser.rs
  2. 14 0
      tests/urltestdata.json

+ 1 - 0
src/parser.rs

@@ -451,6 +451,7 @@ impl<'a> Parser<'a> {
                     let scheme_end = "file".len() as u32;
                     let path_start = "file://".len() as u32;
                     let fragment_start = "file:///".len() as u32;
+                    self.serialization.push('#');
                     self.parse_fragment(input_after_first_char);
                     Ok(Url {
                         serialization: self.serialization,

+ 14 - 0
tests/urltestdata.json

@@ -5371,6 +5371,20 @@
     "search": "?q=v",
     "hash": ""
   },
+  {
+    "input": "file:#frag",
+    "base": "about:blank",
+    "href": "file:///#frag",
+    "protocol": "file:",
+    "username": "",
+    "password": "",
+    "host": "",
+    "hostname": "",
+    "port": "",
+    "pathname": "/",
+    "search": "",
+    "hash": "#frag"
+  },
   "# IPv6 tests",
   {
     "input": "http://[1:0::]",