more isAbsolute tests for uri.nim

Signed-off-by: enthus1ast <enthus1ast>
This commit is contained in:
enthus1ast
2017-01-21 02:54:38 +01:00
parent 46ac235715
commit f2ce8eb372

View File

@@ -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
# 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