diff options
-rw-r--r-- | lib/pure/uri.nim | 36 |
1 files changed, 32 insertions, 4 deletions
diff --git a/lib/pure/uri.nim b/lib/pure/uri.nim index 3d0079924..ba745cfd3 100644 --- a/lib/pure/uri.nim +++ b/lib/pure/uri.nim @@ -461,11 +461,39 @@ when isMainModule: block: doAssert "www.google.com".parseUri().isAbsolute() == false doAssert "http://www.google.com".parseUri().isAbsolute() == true - doAssert "/search".parseUri().isAbsolute() == false doAssert "file:/dir/file".parseUri().isAbsolute() == true doAssert "file://localhost/dir/file".parseUri().isAbsolute() == true - doAssert "https://example.org/URI/resource.txt".parseUri().isAbsolute() == true doAssert "urn:ISSN:1535-3613".parseUri().isAbsolute() == true - doAssert "//domain.com/img/logo.png".parseUri().isAbsolute() == false - \ No newline at end of file + # path-relative URL *relative + doAssert "about".parseUri().isAbsolute == false + doAssert "about/staff.html".parseUri().isAbsolute == false + doAssert "about/staff.html?".parseUri().isAbsolute == false + doAssert "about/staff.html?parameters".parseUri().isAbsolute == false + + # absolute-path-relative URL *relative + doAssert "/".parseUri().isAbsolute == false + doAssert "/about".parseUri().isAbsolute == false + doAssert "/about/staff.html".parseUri().isAbsolute == false + doAssert "/about/staff.html?".parseUri().isAbsolute == false + doAssert "/about/staff.html?parameters".parseUri().isAbsolute == false + + # scheme-relative URL *relative + doAssert "//username:password@example.com:8888".parseUri().isAbsolute == false + doAssert "//username@example.com".parseUri().isAbsolute == false + doAssert "//example.com".parseUri().isAbsolute == false + doAssert "//example.com/".parseUri().isAbsolute == false + doAssert "//example.com/about".parseUri().isAbsolute == false + doAssert "//example.com/about/staff.html".parseUri().isAbsolute == false + doAssert "//example.com/about/staff.html?".parseUri().isAbsolute == false + doAssert "//example.com/about/staff.html?parameters".parseUri().isAbsolute == false + + # absolute URL *absolute + doAssert "https://username:password@example.com:8888".parseUri().isAbsolute == true + doAssert "https://username@example.com".parseUri().isAbsolute == true + doAssert "https://example.com".parseUri().isAbsolute == true + doAssert "https://example.com/".parseUri().isAbsolute == true + doAssert "https://example.com/about".parseUri().isAbsolute == true + doAssert "https://example.com/about/staff.html".parseUri().isAbsolute == true + doAssert "https://example.com/about/staff.html?".parseUri().isAbsolute == true + doAssert "https://example.com/about/staff.html?parameters".parseUri().isAbsolute == true \ No newline at end of file |