diff options
| author | Diego Nehab <diego@tecgraf.puc-rio.br> | 2011-05-25 20:57:22 +0000 |
|---|---|---|
| committer | Diego Nehab <diego@tecgraf.puc-rio.br> | 2011-05-25 20:57:22 +0000 |
| commit | 3a8ba90dfb0c2eb224f317dd692ede426691e72a (patch) | |
| tree | fe1cc5379a2e0e031663fe9c15d908653844bc73 /test/urltest.lua | |
| parent | bce60be30fe8e9c1b0eb33128c23c93d7bca5303 (diff) | |
| download | luasocket-3a8ba90dfb0c2eb224f317dd692ede426691e72a.tar.gz luasocket-3a8ba90dfb0c2eb224f317dd692ede426691e72a.tar.bz2 luasocket-3a8ba90dfb0c2eb224f317dd692ede426691e72a.zip | |
Saving before big changes to support IPv6.
Diffstat (limited to 'test/urltest.lua')
| -rw-r--r-- | test/urltest.lua | 620 |
1 files changed, 310 insertions, 310 deletions
diff --git a/test/urltest.lua b/test/urltest.lua index 8dc0c14..d46cb03 100644 --- a/test/urltest.lua +++ b/test/urltest.lua | |||
| @@ -3,439 +3,439 @@ socket.url = require("socket.url") | |||
| 3 | dofile("testsupport.lua") | 3 | dofile("testsupport.lua") |
| 4 | 4 | ||
| 5 | local check_build_url = function(parsed) | 5 | local check_build_url = function(parsed) |
| 6 | local built = socket.url.build(parsed) | 6 | local built = socket.url.build(parsed) |
| 7 | if built ~= parsed.url then | 7 | if built ~= parsed.url then |
| 8 | print("built is different from expected") | 8 | print("built is different from expected") |
| 9 | print(built) | 9 | print(built) |
| 10 | print(expected) | 10 | print(expected) |
| 11 | exit() | 11 | exit() |
| 12 | end | 12 | end |
| 13 | end | 13 | end |
| 14 | 14 | ||
| 15 | local check_protect = function(parsed, path, unsafe) | 15 | local check_protect = function(parsed, path, unsafe) |
| 16 | local built = socket.url.build_path(parsed, unsafe) | 16 | local built = socket.url.build_path(parsed, unsafe) |
| 17 | if built ~= path then | 17 | if built ~= path then |
| 18 | print(built, path) | 18 | print(built, path) |
| 19 | print("path composition failed.") | 19 | print("path composition failed.") |
| 20 | exit() | 20 | exit() |
| 21 | end | 21 | end |
| 22 | end | 22 | end |
| 23 | 23 | ||
| 24 | local check_invert = function(url) | 24 | local check_invert = function(url) |
| 25 | local parsed = socket.url.parse(url) | 25 | local parsed = socket.url.parse(url) |
| 26 | parsed.path = socket.url.build_path(socket.url.parse_path(parsed.path)) | 26 | parsed.path = socket.url.build_path(socket.url.parse_path(parsed.path)) |
| 27 | local rebuilt = socket.url.build(parsed) | 27 | local rebuilt = socket.url.build(parsed) |
| 28 | if rebuilt ~= url then | 28 | if rebuilt ~= url then |
| 29 | print(url, rebuilt) | 29 | print(url, rebuilt) |
| 30 | print("original and rebuilt are different") | 30 | print("original and rebuilt are different") |
| 31 | exit() | 31 | exit() |
| 32 | end | 32 | end |
| 33 | end | 33 | end |
| 34 | 34 | ||
| 35 | local check_parse_path = function(path, expect) | 35 | local check_parse_path = function(path, expect) |
| 36 | local parsed = socket.url.parse_path(path) | 36 | local parsed = socket.url.parse_path(path) |
| 37 | for i = 1, math.max(table.getn(parsed), table.getn(expect)) do | 37 | for i = 1, math.max(table.getn(parsed), table.getn(expect)) do |
| 38 | if parsed[i] ~= expect[i] then | 38 | if parsed[i] ~= expect[i] then |
| 39 | print(path) | 39 | print(path) |
| 40 | exit() | 40 | exit() |
| 41 | end | 41 | end |
| 42 | end | 42 | end |
| 43 | if expect.is_directory ~= parsed.is_directory then | 43 | if expect.is_directory ~= parsed.is_directory then |
| 44 | print(path) | 44 | print(path) |
| 45 | print("is_directory mismatch") | 45 | print("is_directory mismatch") |
| 46 | exit() | 46 | exit() |
| 47 | end | 47 | end |
| 48 | if expect.is_absolute ~= parsed.is_absolute then | 48 | if expect.is_absolute ~= parsed.is_absolute then |
| 49 | print(path) | 49 | print(path) |
| 50 | print("is_absolute mismatch") | 50 | print("is_absolute mismatch") |
| 51 | exit() | 51 | exit() |
| 52 | end | 52 | end |
| 53 | local built = socket.url.build_path(expect) | 53 | local built = socket.url.build_path(expect) |
| 54 | if built ~= path then | 54 | if built ~= path then |
| 55 | print(built, path) | 55 | print(built, path) |
| 56 | print("path composition failed.") | 56 | print("path composition failed.") |
| 57 | exit() | 57 | exit() |
| 58 | end | 58 | end |
| 59 | end | 59 | end |
| 60 | 60 | ||
| 61 | local check_absolute_url = function(base, relative, absolute) | 61 | local check_absolute_url = function(base, relative, absolute) |
| 62 | local res = socket.url.absolute(base, relative) | 62 | local res = socket.url.absolute(base, relative) |
| 63 | if res ~= absolute then | 63 | if res ~= absolute then |
| 64 | io.write("absolute: In test for '", relative, "' expected '", | 64 | io.write("absolute: In test for '", relative, "' expected '", |
| 65 | absolute, "' but got '", res, "'\n") | 65 | absolute, "' but got '", res, "'\n") |
| 66 | exit() | 66 | exit() |
| 67 | end | 67 | end |
| 68 | end | 68 | end |
| 69 | 69 | ||
| 70 | local check_parse_url = function(gaba) | 70 | local check_parse_url = function(gaba) |
| 71 | local url = gaba.url | 71 | local url = gaba.url |
| 72 | gaba.url = nil | 72 | gaba.url = nil |
| 73 | local parsed = socket.url.parse(url) | 73 | local parsed = socket.url.parse(url) |
| 74 | for i, v in pairs(gaba) do | 74 | for i, v in pairs(gaba) do |
| 75 | if v ~= parsed[i] then | 75 | if v ~= parsed[i] then |
| 76 | io.write("parse: In test for '", url, "' expected ", i, " = '", | 76 | io.write("parse: In test for '", url, "' expected ", i, " = '", |
| 77 | v, "' but got '", tostring(parsed[i]), "'\n") | 77 | v, "' but got '", tostring(parsed[i]), "'\n") |
| 78 | for i,v in pairs(parsed) do print(i,v) end | 78 | for i,v in pairs(parsed) do print(i,v) end |
| 79 | exit() | 79 | exit() |
| 80 | end | 80 | end |
| 81 | end | 81 | end |
| 82 | for i, v in pairs(parsed) do | 82 | for i, v in pairs(parsed) do |
| 83 | if v ~= gaba[i] then | 83 | if v ~= gaba[i] then |
| 84 | io.write("parse: In test for '", url, "' expected ", i, " = '", | 84 | io.write("parse: In test for '", url, "' expected ", i, " = '", |
| 85 | tostring(gaba[i]), "' but got '", v, "'\n") | 85 | tostring(gaba[i]), "' but got '", v, "'\n") |
| 86 | for i,v in pairs(parsed) do print(i,v) end | 86 | for i,v in pairs(parsed) do print(i,v) end |
| 87 | exit() | 87 | exit() |
| 88 | end | 88 | end |
| 89 | end | 89 | end |
| 90 | end | 90 | end |
| 91 | 91 | ||
| 92 | print("testing URL parsing") | 92 | print("testing URL parsing") |
| 93 | check_parse_url{ | 93 | check_parse_url{ |
| 94 | url = "scheme://userinfo@host:port/path;params?query#fragment", | 94 | url = "scheme://userinfo@host:port/path;params?query#fragment", |
| 95 | scheme = "scheme", | 95 | scheme = "scheme", |
| 96 | authority = "userinfo@host:port", | 96 | authority = "userinfo@host:port", |
| 97 | host = "host", | 97 | host = "host", |
| 98 | port = "port", | 98 | port = "port", |
| 99 | userinfo = "userinfo", | 99 | userinfo = "userinfo", |
| 100 | user = "userinfo", | 100 | user = "userinfo", |
| 101 | path = "/path", | 101 | path = "/path", |
| 102 | params = "params", | 102 | params = "params", |
| 103 | query = "query", | 103 | query = "query", |
| 104 | fragment = "fragment" | 104 | fragment = "fragment" |
| 105 | } | 105 | } |
| 106 | 106 | ||
| 107 | check_parse_url{ | 107 | check_parse_url{ |
| 108 | url = "scheme://user:password@host:port/path;params?query#fragment", | 108 | url = "scheme://user:password@host:port/path;params?query#fragment", |
| 109 | scheme = "scheme", | 109 | scheme = "scheme", |
| 110 | authority = "user:password@host:port", | 110 | authority = "user:password@host:port", |
| 111 | host = "host", | 111 | host = "host", |
| 112 | port = "port", | 112 | port = "port", |
| 113 | userinfo = "user:password", | 113 | userinfo = "user:password", |
| 114 | user = "user", | 114 | user = "user", |
| 115 | password = "password", | 115 | password = "password", |
| 116 | path = "/path", | 116 | path = "/path", |
| 117 | params = "params", | 117 | params = "params", |
| 118 | query = "query", | 118 | query = "query", |
| 119 | fragment = "fragment", | 119 | fragment = "fragment", |
| 120 | } | 120 | } |
| 121 | 121 | ||
| 122 | check_parse_url{ | 122 | check_parse_url{ |
| 123 | url = "scheme://userinfo@host:port/path;params?query#", | 123 | url = "scheme://userinfo@host:port/path;params?query#", |
| 124 | scheme = "scheme", | 124 | scheme = "scheme", |
| 125 | authority = "userinfo@host:port", | 125 | authority = "userinfo@host:port", |
| 126 | host = "host", | 126 | host = "host", |
| 127 | port = "port", | 127 | port = "port", |
| 128 | userinfo = "userinfo", | 128 | userinfo = "userinfo", |
| 129 | user = "userinfo", | 129 | user = "userinfo", |
| 130 | path = "/path", | 130 | path = "/path", |
| 131 | params = "params", | 131 | params = "params", |
| 132 | query = "query", | 132 | query = "query", |
| 133 | fragment = "" | 133 | fragment = "" |
| 134 | } | 134 | } |
| 135 | 135 | ||
| 136 | check_parse_url{ | 136 | check_parse_url{ |
| 137 | url = "scheme://userinfo@host:port/path;params?#fragment", | 137 | url = "scheme://userinfo@host:port/path;params?#fragment", |
| 138 | scheme = "scheme", | 138 | scheme = "scheme", |
| 139 | authority = "userinfo@host:port", | 139 | authority = "userinfo@host:port", |
| 140 | host = "host", | 140 | host = "host", |
| 141 | port = "port", | 141 | port = "port", |
| 142 | userinfo = "userinfo", | 142 | userinfo = "userinfo", |
| 143 | user = "userinfo", | 143 | user = "userinfo", |
| 144 | path = "/path", | 144 | path = "/path", |
| 145 | params = "params", | 145 | params = "params", |
| 146 | query = "", | 146 | query = "", |
| 147 | fragment = "fragment" | 147 | fragment = "fragment" |
| 148 | } | 148 | } |
| 149 | 149 | ||
| 150 | check_parse_url{ | 150 | check_parse_url{ |
| 151 | url = "scheme://userinfo@host:port/path;params#fragment", | 151 | url = "scheme://userinfo@host:port/path;params#fragment", |
| 152 | scheme = "scheme", | 152 | scheme = "scheme", |
| 153 | authority = "userinfo@host:port", | 153 | authority = "userinfo@host:port", |
| 154 | host = "host", | 154 | host = "host", |
| 155 | port = "port", | 155 | port = "port", |
| 156 | userinfo = "userinfo", | 156 | userinfo = "userinfo", |
| 157 | user = "userinfo", | 157 | user = "userinfo", |
| 158 | path = "/path", | 158 | path = "/path", |
| 159 | params = "params", | 159 | params = "params", |
| 160 | fragment = "fragment" | 160 | fragment = "fragment" |
| 161 | } | 161 | } |
| 162 | 162 | ||
| 163 | check_parse_url{ | 163 | check_parse_url{ |
| 164 | url = "scheme://userinfo@host:port/path;?query#fragment", | 164 | url = "scheme://userinfo@host:port/path;?query#fragment", |
| 165 | scheme = "scheme", | 165 | scheme = "scheme", |
| 166 | authority = "userinfo@host:port", | 166 | authority = "userinfo@host:port", |
| 167 | host = "host", | 167 | host = "host", |
| 168 | port = "port", | 168 | port = "port", |
| 169 | userinfo = "userinfo", | 169 | userinfo = "userinfo", |
| 170 | user = "userinfo", | 170 | user = "userinfo", |
| 171 | path = "/path", | 171 | path = "/path", |
| 172 | params = "", | 172 | params = "", |
| 173 | query = "query", | 173 | query = "query", |
| 174 | fragment = "fragment" | 174 | fragment = "fragment" |
| 175 | } | 175 | } |
| 176 | 176 | ||
| 177 | check_parse_url{ | 177 | check_parse_url{ |
| 178 | url = "scheme://userinfo@host:port/path?query#fragment", | 178 | url = "scheme://userinfo@host:port/path?query#fragment", |
| 179 | scheme = "scheme", | 179 | scheme = "scheme", |
| 180 | authority = "userinfo@host:port", | 180 | authority = "userinfo@host:port", |
| 181 | host = "host", | 181 | host = "host", |
| 182 | port = "port", | 182 | port = "port", |
| 183 | userinfo = "userinfo", | 183 | userinfo = "userinfo", |
| 184 | user = "userinfo", | 184 | user = "userinfo", |
| 185 | path = "/path", | 185 | path = "/path", |
| 186 | query = "query", | 186 | query = "query", |
| 187 | fragment = "fragment" | 187 | fragment = "fragment" |
| 188 | } | 188 | } |
| 189 | 189 | ||
| 190 | check_parse_url{ | 190 | check_parse_url{ |
| 191 | url = "scheme://userinfo@host:port/;params?query#fragment", | 191 | url = "scheme://userinfo@host:port/;params?query#fragment", |
| 192 | scheme = "scheme", | 192 | scheme = "scheme", |
| 193 | authority = "userinfo@host:port", | 193 | authority = "userinfo@host:port", |
| 194 | host = "host", | 194 | host = "host", |
| 195 | port = "port", | 195 | port = "port", |
| 196 | userinfo = "userinfo", | 196 | userinfo = "userinfo", |
| 197 | user = "userinfo", | 197 | user = "userinfo", |
| 198 | path = "/", | 198 | path = "/", |
| 199 | params = "params", | 199 | params = "params", |
| 200 | query = "query", | 200 | query = "query", |
| 201 | fragment = "fragment" | 201 | fragment = "fragment" |
| 202 | } | 202 | } |
| 203 | 203 | ||
| 204 | check_parse_url{ | 204 | check_parse_url{ |
| 205 | url = "scheme://userinfo@host:port", | 205 | url = "scheme://userinfo@host:port", |
| 206 | scheme = "scheme", | 206 | scheme = "scheme", |
| 207 | authority = "userinfo@host:port", | 207 | authority = "userinfo@host:port", |
| 208 | host = "host", | 208 | host = "host", |
| 209 | port = "port", | 209 | port = "port", |
| 210 | userinfo = "userinfo", | 210 | userinfo = "userinfo", |
| 211 | user = "userinfo", | 211 | user = "userinfo", |
| 212 | } | 212 | } |
| 213 | 213 | ||
| 214 | check_parse_url{ | 214 | check_parse_url{ |
| 215 | url = "//userinfo@host:port/path;params?query#fragment", | 215 | url = "//userinfo@host:port/path;params?query#fragment", |
| 216 | authority = "userinfo@host:port", | 216 | authority = "userinfo@host:port", |
| 217 | host = "host", | 217 | host = "host", |
| 218 | port = "port", | 218 | port = "port", |
| 219 | userinfo = "userinfo", | 219 | userinfo = "userinfo", |
| 220 | user = "userinfo", | 220 | user = "userinfo", |
| 221 | path = "/path", | 221 | path = "/path", |
| 222 | params = "params", | 222 | params = "params", |
| 223 | query = "query", | 223 | query = "query", |
| 224 | fragment = "fragment" | 224 | fragment = "fragment" |
| 225 | } | 225 | } |
| 226 | 226 | ||
| 227 | check_parse_url{ | 227 | check_parse_url{ |
| 228 | url = "//userinfo@host:port/path", | 228 | url = "//userinfo@host:port/path", |
| 229 | authority = "userinfo@host:port", | 229 | authority = "userinfo@host:port", |
| 230 | host = "host", | 230 | host = "host", |
| 231 | port = "port", | 231 | port = "port", |
| 232 | userinfo = "userinfo", | 232 | userinfo = "userinfo", |
| 233 | user = "userinfo", | 233 | user = "userinfo", |
| 234 | path = "/path", | 234 | path = "/path", |
| 235 | } | 235 | } |
| 236 | 236 | ||
| 237 | check_parse_url{ | 237 | check_parse_url{ |
| 238 | url = "//userinfo@host/path", | 238 | url = "//userinfo@host/path", |
| 239 | authority = "userinfo@host", | 239 | authority = "userinfo@host", |
| 240 | host = "host", | 240 | host = "host", |
| 241 | userinfo = "userinfo", | 241 | userinfo = "userinfo", |
| 242 | user = "userinfo", | 242 | user = "userinfo", |
| 243 | path = "/path", | 243 | path = "/path", |
| 244 | } | 244 | } |
| 245 | 245 | ||
| 246 | check_parse_url{ | 246 | check_parse_url{ |
| 247 | url = "//user:password@host/path", | 247 | url = "//user:password@host/path", |
| 248 | authority = "user:password@host", | 248 | authority = "user:password@host", |
| 249 | host = "host", | 249 | host = "host", |
| 250 | userinfo = "user:password", | 250 | userinfo = "user:password", |
| 251 | password = "password", | 251 | password = "password", |
| 252 | user = "user", | 252 | user = "user", |
| 253 | path = "/path", | 253 | path = "/path", |
| 254 | } | 254 | } |
| 255 | 255 | ||
| 256 | check_parse_url{ | 256 | check_parse_url{ |
| 257 | url = "//user:@host/path", | 257 | url = "//user:@host/path", |
| 258 | authority = "user:@host", | 258 | authority = "user:@host", |
| 259 | host = "host", | 259 | host = "host", |
| 260 | userinfo = "user:", | 260 | userinfo = "user:", |
| 261 | password = "", | 261 | password = "", |
| 262 | user = "user", | 262 | user = "user", |
| 263 | path = "/path", | 263 | path = "/path", |
| 264 | } | 264 | } |
| 265 | 265 | ||
| 266 | check_parse_url{ | 266 | check_parse_url{ |
| 267 | url = "//user@host:port/path", | 267 | url = "//user@host:port/path", |
| 268 | authority = "user@host:port", | 268 | authority = "user@host:port", |
| 269 | host = "host", | 269 | host = "host", |
| 270 | userinfo = "user", | 270 | userinfo = "user", |
| 271 | user = "user", | 271 | user = "user", |
| 272 | port = "port", | 272 | port = "port", |
| 273 | path = "/path", | 273 | path = "/path", |
| 274 | } | 274 | } |
| 275 | 275 | ||
| 276 | check_parse_url{ | 276 | check_parse_url{ |
| 277 | url = "//host:port/path", | 277 | url = "//host:port/path", |
| 278 | authority = "host:port", | 278 | authority = "host:port", |
| 279 | port = "port", | 279 | port = "port", |
| 280 | host = "host", | 280 | host = "host", |
| 281 | path = "/path", | 281 | path = "/path", |
| 282 | } | 282 | } |
| 283 | 283 | ||
| 284 | check_parse_url{ | 284 | check_parse_url{ |
| 285 | url = "//host/path", | 285 | url = "//host/path", |
| 286 | authority = "host", | 286 | authority = "host", |
| 287 | host = "host", | 287 | host = "host", |
| 288 | path = "/path", | 288 | path = "/path", |
| 289 | } | 289 | } |
| 290 | 290 | ||
| 291 | check_parse_url{ | 291 | check_parse_url{ |
| 292 | url = "//host", | 292 | url = "//host", |
| 293 | authority = "host", | 293 | authority = "host", |
| 294 | host = "host", | 294 | host = "host", |
| 295 | } | 295 | } |
| 296 | 296 | ||
| 297 | check_parse_url{ | 297 | check_parse_url{ |
| 298 | url = "/path", | 298 | url = "/path", |
| 299 | path = "/path", | 299 | path = "/path", |
| 300 | } | 300 | } |
| 301 | 301 | ||
| 302 | check_parse_url{ | 302 | check_parse_url{ |
| 303 | url = "path", | 303 | url = "path", |
| 304 | path = "path", | 304 | path = "path", |
| 305 | } | 305 | } |
| 306 | 306 | ||
| 307 | print("testing URL building") | 307 | print("testing URL building") |
| 308 | check_build_url { | 308 | check_build_url { |
| 309 | url = "scheme://user:password@host:port/path;params?query#fragment", | 309 | url = "scheme://user:password@host:port/path;params?query#fragment", |
| 310 | scheme = "scheme", | 310 | scheme = "scheme", |
| 311 | host = "host", | 311 | host = "host", |
| 312 | port = "port", | 312 | port = "port", |
| 313 | user = "user", | 313 | user = "user", |
| 314 | password = "password", | 314 | password = "password", |
| 315 | path = "/path", | 315 | path = "/path", |
| 316 | params = "params", | 316 | params = "params", |
| 317 | query = "query", | 317 | query = "query", |
| 318 | fragment = "fragment" | 318 | fragment = "fragment" |
| 319 | } | 319 | } |
| 320 | 320 | ||
| 321 | check_build_url { | 321 | check_build_url { |
| 322 | url = "scheme://user:password@host/path;params?query#fragment", | 322 | url = "scheme://user:password@host/path;params?query#fragment", |
| 323 | scheme = "scheme", | 323 | scheme = "scheme", |
| 324 | host = "host", | 324 | host = "host", |
| 325 | user = "user", | 325 | user = "user", |
| 326 | password = "password", | 326 | password = "password", |
| 327 | path = "/path", | 327 | path = "/path", |
| 328 | params = "params", | 328 | params = "params", |
| 329 | query = "query", | 329 | query = "query", |
| 330 | fragment = "fragment" | 330 | fragment = "fragment" |
| 331 | } | 331 | } |
| 332 | 332 | ||
| 333 | check_build_url { | 333 | check_build_url { |
| 334 | url = "scheme://user@host/path;params?query#fragment", | 334 | url = "scheme://user@host/path;params?query#fragment", |
| 335 | scheme = "scheme", | 335 | scheme = "scheme", |
| 336 | host = "host", | 336 | host = "host", |
| 337 | user = "user", | 337 | user = "user", |
| 338 | path = "/path", | 338 | path = "/path", |
| 339 | params = "params", | 339 | params = "params", |
| 340 | query = "query", | 340 | query = "query", |
| 341 | fragment = "fragment" | 341 | fragment = "fragment" |
| 342 | } | 342 | } |
| 343 | 343 | ||
| 344 | check_build_url { | 344 | check_build_url { |
| 345 | url = "scheme://host/path;params?query#fragment", | 345 | url = "scheme://host/path;params?query#fragment", |
| 346 | scheme = "scheme", | 346 | scheme = "scheme", |
| 347 | host = "host", | 347 | host = "host", |
| 348 | path = "/path", | 348 | path = "/path", |
| 349 | params = "params", | 349 | params = "params", |
| 350 | query = "query", | 350 | query = "query", |
| 351 | fragment = "fragment" | 351 | fragment = "fragment" |
| 352 | } | 352 | } |
| 353 | 353 | ||
| 354 | check_build_url { | 354 | check_build_url { |
| 355 | url = "scheme://host/path;params#fragment", | 355 | url = "scheme://host/path;params#fragment", |
| 356 | scheme = "scheme", | 356 | scheme = "scheme", |
| 357 | host = "host", | 357 | host = "host", |
| 358 | path = "/path", | 358 | path = "/path", |
| 359 | params = "params", | 359 | params = "params", |
| 360 | fragment = "fragment" | 360 | fragment = "fragment" |
| 361 | } | 361 | } |
| 362 | 362 | ||
| 363 | check_build_url { | 363 | check_build_url { |
| 364 | url = "scheme://host/path#fragment", | 364 | url = "scheme://host/path#fragment", |
| 365 | scheme = "scheme", | 365 | scheme = "scheme", |
| 366 | host = "host", | 366 | host = "host", |
| 367 | path = "/path", | 367 | path = "/path", |
| 368 | fragment = "fragment" | 368 | fragment = "fragment" |
| 369 | } | 369 | } |
| 370 | 370 | ||
| 371 | check_build_url { | 371 | check_build_url { |
| 372 | url = "scheme://host/path", | 372 | url = "scheme://host/path", |
| 373 | scheme = "scheme", | 373 | scheme = "scheme", |
| 374 | host = "host", | 374 | host = "host", |
| 375 | path = "/path", | 375 | path = "/path", |
| 376 | } | 376 | } |
| 377 | 377 | ||
| 378 | check_build_url { | 378 | check_build_url { |
| 379 | url = "//host/path", | 379 | url = "//host/path", |
| 380 | host = "host", | 380 | host = "host", |
| 381 | path = "/path", | 381 | path = "/path", |
| 382 | } | 382 | } |
| 383 | 383 | ||
| 384 | check_build_url { | 384 | check_build_url { |
| 385 | url = "/path", | 385 | url = "/path", |
| 386 | path = "/path", | 386 | path = "/path", |
| 387 | } | 387 | } |
| 388 | 388 | ||
| 389 | check_build_url { | 389 | check_build_url { |
| 390 | url = "scheme://user:password@host:port/path;params?query#fragment", | 390 | url = "scheme://user:password@host:port/path;params?query#fragment", |
| 391 | scheme = "scheme", | 391 | scheme = "scheme", |
| 392 | host = "host", | 392 | host = "host", |
| 393 | port = "port", | 393 | port = "port", |
| 394 | user = "user", | 394 | user = "user", |
| 395 | userinfo = "not used", | 395 | userinfo = "not used", |
| 396 | password = "password", | 396 | password = "password", |
| 397 | path = "/path", | 397 | path = "/path", |
| 398 | params = "params", | 398 | params = "params", |
| 399 | query = "query", | 399 | query = "query", |
| 400 | fragment = "fragment" | 400 | fragment = "fragment" |
| 401 | } | 401 | } |
| 402 | 402 | ||
| 403 | check_build_url { | 403 | check_build_url { |
| 404 | url = "scheme://user:password@host:port/path;params?query#fragment", | 404 | url = "scheme://user:password@host:port/path;params?query#fragment", |
| 405 | scheme = "scheme", | 405 | scheme = "scheme", |
| 406 | host = "host", | 406 | host = "host", |
| 407 | port = "port", | 407 | port = "port", |
| 408 | user = "user", | 408 | user = "user", |
| 409 | userinfo = "not used", | 409 | userinfo = "not used", |
| 410 | authority = "not used", | 410 | authority = "not used", |
| 411 | password = "password", | 411 | password = "password", |
| 412 | path = "/path", | 412 | path = "/path", |
| 413 | params = "params", | 413 | params = "params", |
| 414 | query = "query", | 414 | query = "query", |
| 415 | fragment = "fragment" | 415 | fragment = "fragment" |
| 416 | } | 416 | } |
| 417 | 417 | ||
| 418 | check_build_url { | 418 | check_build_url { |
| 419 | url = "scheme://user:password@host:port/path;params?query#fragment", | 419 | url = "scheme://user:password@host:port/path;params?query#fragment", |
| 420 | scheme = "scheme", | 420 | scheme = "scheme", |
| 421 | host = "host", | 421 | host = "host", |
| 422 | port = "port", | 422 | port = "port", |
| 423 | userinfo = "user:password", | 423 | userinfo = "user:password", |
| 424 | authority = "not used", | 424 | authority = "not used", |
| 425 | path = "/path", | 425 | path = "/path", |
| 426 | params = "params", | 426 | params = "params", |
| 427 | query = "query", | 427 | query = "query", |
| 428 | fragment = "fragment" | 428 | fragment = "fragment" |
| 429 | } | 429 | } |
| 430 | 430 | ||
| 431 | check_build_url { | 431 | check_build_url { |
| 432 | url = "scheme://user:password@host:port/path;params?query#fragment", | 432 | url = "scheme://user:password@host:port/path;params?query#fragment", |
| 433 | scheme = "scheme", | 433 | scheme = "scheme", |
| 434 | authority = "user:password@host:port", | 434 | authority = "user:password@host:port", |
| 435 | path = "/path", | 435 | path = "/path", |
| 436 | params = "params", | 436 | params = "params", |
| 437 | query = "query", | 437 | query = "query", |
| 438 | fragment = "fragment" | 438 | fragment = "fragment" |
| 439 | } | 439 | } |
| 440 | 440 | ||
| 441 | -- standard RFC tests | 441 | -- standard RFC tests |
| @@ -488,11 +488,11 @@ print("testing path parsing and composition") | |||
| 488 | check_parse_path("/eu/tu/ele", { "eu", "tu", "ele"; is_absolute = 1 }) | 488 | check_parse_path("/eu/tu/ele", { "eu", "tu", "ele"; is_absolute = 1 }) |
| 489 | check_parse_path("/eu/", { "eu"; is_absolute = 1, is_directory = 1 }) | 489 | check_parse_path("/eu/", { "eu"; is_absolute = 1, is_directory = 1 }) |
| 490 | check_parse_path("eu/tu/ele/nos/vos/eles/", | 490 | check_parse_path("eu/tu/ele/nos/vos/eles/", |
| 491 | { "eu", "tu", "ele", "nos", "vos", "eles"; is_directory = 1}) | 491 | { "eu", "tu", "ele", "nos", "vos", "eles"; is_directory = 1}) |
| 492 | check_parse_path("/", { is_absolute = 1, is_directory = 1}) | 492 | check_parse_path("/", { is_absolute = 1, is_directory = 1}) |
| 493 | check_parse_path("", { }) | 493 | check_parse_path("", { }) |
| 494 | check_parse_path("eu%01/%02tu/e%03l%04e/nos/vos%05/e%12les/", | 494 | check_parse_path("eu%01/%02tu/e%03l%04e/nos/vos%05/e%12les/", |
| 495 | { "eu\1", "\2tu", "e\3l\4e", "nos", "vos\5", "e\18les"; is_directory = 1}) | 495 | { "eu\1", "\2tu", "e\3l\4e", "nos", "vos\5", "e\18les"; is_directory = 1}) |
| 496 | check_parse_path("eu/tu", { "eu", "tu" }) | 496 | check_parse_path("eu/tu", { "eu", "tu" }) |
| 497 | 497 | ||
| 498 | print("testing path protection") | 498 | print("testing path protection") |
