From 16fe63180f7192af5218df83878c89a6a5c554cd Mon Sep 17 00:00:00 2001 From: Roger Shi Date: Thu, 10 Sep 2015 15:16:01 +0800 Subject: [PATCH] test case for #2367 --- lib/pure/json.nim | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/pure/json.nim b/lib/pure/json.nim index d98ed1042..abf6305f2 100644 --- a/lib/pure/json.nim +++ b/lib/pure/json.nim @@ -1203,6 +1203,17 @@ when isMainModule: testJson{["c", "d"]} = %true assert(testJson["c"]["d"].bval) + # make sure no memory leek when parsing invalid string + let startMemory = getOccupiedMem() + for i in 0 .. 10000: + try: + discard parseJson"""{ invalid""" + except: + discard + # memory diff should less than 2M + assert(abs(getOccupiedMem() - startMemory) < 2 * 1024 * 1024) + + # test `$` let stringified = $testJson let parsedAgain = parseJson(stringified)