diff options
author | Roger Shi <rogershijicheng@gmail.com> | 2015-09-10 15:16:01 +0800 |
---|---|---|
committer | Roger Shi <rogershijicheng@gmail.com> | 2015-09-10 15:16:01 +0800 |
commit | 16fe63180f7192af5218df83878c89a6a5c554cd (patch) | |
tree | d4fe7ffb4f62f6276420f8f14b043834f2d08bc0 | |
parent | 58e1068f739a2115fe83db9bd6af34501eff1af4 (diff) | |
download | Nim-16fe63180f7192af5218df83878c89a6a5c554cd.tar.gz |
test case for #2367
-rw-r--r-- | lib/pure/json.nim | 11 |
1 files changed, 11 insertions, 0 deletions
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) |