From 9626919cd3ea3bc6c0a0d1e13eda366503b3be7e Mon Sep 17 00:00:00 2001 From: enthus1ast Date: Fri, 20 Jan 2017 00:45:44 +0100 Subject: added isAbsolute to uri.nim --- lib/pure/uri.nim | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/pure/uri.nim b/lib/pure/uri.nim index e7db39c10..88420530c 100644 --- a/lib/pure/uri.nim +++ b/lib/pure/uri.nim @@ -245,6 +245,10 @@ proc combine*(uris: varargs[Uri]): Uri = for i in 1 .. Date: Sat, 21 Jan 2017 02:40:09 +0100 Subject: added protocol-relative test to uri.nim Signed-off-by: enthus1ast --- lib/pure/uri.nim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/pure/uri.nim b/lib/pure/uri.nim index 88420530c..3d0079924 100644 --- a/lib/pure/uri.nim +++ b/lib/pure/uri.nim @@ -465,5 +465,7 @@ when isMainModule: 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 "urn:ISSN:1535-3613".parseUri().isAbsolute() == true + doAssert "//domain.com/img/logo.png".parseUri().isAbsolute() == false + \ No newline at end of file -- cgit 1.4.1-2-gfad0 From f2ce8eb3723656237702638f5f81f95b9f44e06d Mon Sep 17 00:00:00 2001 From: enthus1ast Date: Sat, 21 Jan 2017 02:54:38 +0100 Subject: more isAbsolute tests for uri.nim Signed-off-by: enthus1ast --- lib/pure/uri.nim | 36 ++++++++++++++++++++++++++++++++---- 1 file 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 -- cgit 1.4.1-2-gfad0