diff options
Diffstat (limited to 'tests/misc/tinvalidnewseq.nim')
-rw-r--r-- | tests/misc/tinvalidnewseq.nim | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/misc/tinvalidnewseq.nim b/tests/misc/tinvalidnewseq.nim new file mode 100644 index 000000000..7a95db020 --- /dev/null +++ b/tests/misc/tinvalidnewseq.nim @@ -0,0 +1,24 @@ +discard """ + errormsg: "type mismatch: got <array[0..6, string], int literal(7)>" + file: "tinvalidnewseq.nim" + line: 15 +""" +import re, strutils + +type + TURL = tuple[protocol, subdomain, domain, port: string, path: seq[string]] + +proc parseURL(url: string): TURL = + #([a-zA-Z]+://)?(\w+?\.)?(\w+)(\.\w+)(:[0-9]+)?(/.+)? + var pattern: string = r"([a-zA-Z]+://)?(\w+?\.)?(\w+)(\.\w+)(:[0-9]+)?(/.+)?" + var m: array[0..6, string] #Array with the matches + newSeq(m, 7) #ERROR + discard re.match(url, re(pattern), m) + + result = (protocol: m[1], subdomain: m[2], domain: m[3] & m[4], + port: m[5], path: m[6].split('/')) + +var r: TUrl + +r = parseUrl(r"http://google.com/search?var=bleahdhsad") +echo(r.domain) |