summary refs log tree commit diff stats
path: root/lib/pure/uri.nim
diff options
context:
space:
mode:
authorenthus1ast <enthus1ast>2017-01-21 02:54:38 +0100
committerenthus1ast <enthus1ast>2017-01-21 02:54:38 +0100
commitf2ce8eb3723656237702638f5f81f95b9f44e06d (patch)
treeb096482939ca57ebc070e406dc97825122881efc /lib/pure/uri.nim
parent46ac2357159ecbf0e84dc5232ddb9ba41e2d7d9d (diff)
downloadNim-f2ce8eb3723656237702638f5f81f95b9f44e06d.tar.gz
more isAbsolute tests for uri.nim
Signed-off-by: enthus1ast <enthus1ast>
Diffstat (limited to 'lib/pure/uri.nim')
-rw-r--r--lib/pure/uri.nim36
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