From d261135c5cdd9fe90f4c6cd21fffded8949ef1c9 Mon Sep 17 00:00:00 2001 From: Jake Leahy Date: Mon, 24 Oct 2022 20:17:14 +1100 Subject: Fix tuple size check in `std/jsonutils` (#20637) * Add test for tuple being invalid size * Test tuple size before accessing fields * Fix formatting for import * Fix not being able to build from csources_v1 Co-authored-by: Andreas Rumpf --- tests/stdlib/tjsonutils.nim | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/stdlib/tjsonutils.nim b/tests/stdlib/tjsonutils.nim index 12a4b20eb..1681f4a09 100644 --- a/tests/stdlib/tjsonutils.nim +++ b/tests/stdlib/tjsonutils.nim @@ -410,6 +410,13 @@ template fn() = doAssert foo.c == 0 doAssert foo.c0 == 42 + + block testInvalidTupleLength: + let json = parseJson("[0]") + # Should raise ValueError instead of index error + doAssertRaises(ValueError): + discard json.jsonTo((int, int)) + type InnerEnum = enum A @@ -431,7 +438,6 @@ template fn() = let json = inner.toJson(ToJsonOptions(enumMode: joptEnumSymbol)) doAssert $json == """{"x":"hello","y":"A"}""" - when false: ## TODO: Implement support for nested variant objects allowing the tests ## bellow to pass. -- cgit 1.4.1-2-gfad0