summary refs log tree commit diff stats
path: root/tests/stdlib/tcgi.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/stdlib/tcgi.nim')
-rw-r--r--tests/stdlib/tcgi.nim22
1 files changed, 18 insertions, 4 deletions
diff --git a/tests/stdlib/tcgi.nim b/tests/stdlib/tcgi.nim
index bc177125e..ef39450da 100644
--- a/tests/stdlib/tcgi.nim
+++ b/tests/stdlib/tcgi.nim
@@ -1,10 +1,15 @@
-import unittest

-import cgi, strtabs

+discard """

+  matrix: "--mm:refc; --mm:orc"

+"""

 

-suite "Test cgi module":

+import std/unittest

+import std/[cgi, strtabs, sugar]

+import std/assertions

+

+block: # Test cgi module

   const queryString = "foo=bar&фу=бар&checked=✓&list=1,2,3&with_space=text%20with%20space"

 

-  test "test query parsing with readData":

+  block: # test query parsing with readData

     let parsedQuery = readData(queryString)

 

     check parsedQuery["foo"] == "bar"

@@ -15,3 +20,12 @@ suite "Test cgi module":
 

     expect KeyError:

       discard parsedQuery["not_existing_key"]

+

+# bug #15369

+let queryString = "a=1&b=0&c=3&d&e&a=5&a=t%20e%20x%20t&e=http%3A%2F%2Fw3schools.com%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab"

+

+doAssert collect(for pair in decodeData(queryString): pair) ==

+  @[("a", "1"), ("b", "0"), ("c", "3"),

+    ("d", ""),("e", ""), ("a", "5"), ("a", "t e x t"),

+  ("e", "http://w3schools.com/my test.asp?name=ståle&car=saab")

+]