Skip to content

Commit

Permalink
adds a test case (#24561)
Browse files Browse the repository at this point in the history
closes #18616
  • Loading branch information
ringabout authored Dec 23, 2024
1 parent 5c71fba commit e2a3063
Show file tree
Hide file tree
Showing 2 changed files with 105 additions and 1 deletion.
104 changes: 104 additions & 0 deletions tests/refc/t18616.nim
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
discard """
matrix: "--mm:refc; --mm:arc"
joinable: false
"""

import std/[unittest, asyncdispatch]

# bug #18616
type
ClientResponse = object
status*: int
data*: string

template asyncTest*(name: string, body: untyped): untyped =
test name:
waitFor((
proc() {.async, gcsafe.} =
body
)())

suite "Test suite":
asyncTest "test1":
const PostVectors = [
(
("/test/post", "somebody0908", "text/html",
"app/type1;q=0.9,app/type2;q=0.8"),
ClientResponse(status: 200, data: "type1[text/html,somebody0908]")
),
(
("/test/post", "somebody0908", "text/html",
"app/type2;q=0.8,app/type1;q=0.9"),
ClientResponse(status: 200, data: "type1[text/html,somebody0908]")
),
(
("/test/post", "somebody09", "text/html",
"app/type2,app/type1;q=0.9"),
ClientResponse(status: 200, data: "type2[text/html,somebody09]")
),
(
("/test/post", "somebody09", "text/html", "app/type1;q=0.9,app/type2"),
ClientResponse(status: 200, data: "type2[text/html,somebody09]")
),
(
("/test/post", "somebody", "text/html", "*/*"),
ClientResponse(status: 200, data: "type1[text/html,somebody]")
),
(
("/test/post", "somebody", "text/html", ""),
ClientResponse(status: 200, data: "type1[text/html,somebody]")
),
(
("/test/post", "somebody", "text/html", "app/type2"),
ClientResponse(status: 200, data: "type2[text/html,somebody]")
),
(
("/test/post", "somebody", "text/html", "app/type3"),
ClientResponse(status: 406, data: "")
)
]

for item in PostVectors:
discard item

asyncTest "test2":
const PostVectors = [
(
"/test/post", "somebody0908", "text/html",
"app/type1;q=0.9,app/type2;q=0.8",
ClientResponse(status: 200, data: "type1[text/html,somebody0908]")
),
(
"/test/post", "somebody0908", "text/html",
"app/type2;q=0.8,app/type1;q=0.9",
ClientResponse(status: 200, data: "type1[text/html,somebody0908]")
),
(
"/test/post", "somebody09", "text/html",
"app/type2,app/type1;q=0.9",
ClientResponse(status: 200, data: "type2[text/html,somebody09]")
),
(
"/test/post", "somebody09", "text/html", "app/type1;q=0.9,app/type2",
ClientResponse(status: 200, data: "type2[text/html,somebody09]")
),
(
"/test/post", "somebody", "text/html", "*/*",
ClientResponse(status: 200, data: "type1[text/html,somebody]")
),
(
"/test/post", "somebody", "text/html", "",
ClientResponse(status: 200, data: "type1[text/html,somebody]")
),
(
"/test/post", "somebody", "text/html", "app/type2",
ClientResponse(status: 200, data: "type2[text/html,somebody]")
),
(
"/test/post", "somebody", "text/html", "app/type3",
ClientResponse(status: 406, data: "")
)
]

for item in PostVectors:
discard item
2 changes: 1 addition & 1 deletion tests/refc/tsinkbug.nim
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
discard """
matrix: "--gc:refc; --gc:arc"
matrix: "--mm:refc; --mm:arc"
output: '''
Value is: 42
Value is: 42'''
Expand Down

0 comments on commit e2a3063

Please sign in to comment.