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(-) (limited to 'lib/pure/uri.nim') 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