From c4117c68ccf45e2f80ea7693766db0c771b6d508 Mon Sep 17 00:00:00 2001 From: StilesCrisis Date: Wed, 22 Feb 2017 21:54:31 -0800 Subject: [PATCH] Put in unit tests to catch parser failure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Noticed that the reader could over-consume “NaN” if token terminated in the middle. --- test/unittest/readertest.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/unittest/readertest.cpp b/test/unittest/readertest.cpp index ac5a067..0973791 100644 --- a/test/unittest/readertest.cpp +++ b/test/unittest/readertest.cpp @@ -1832,6 +1832,10 @@ TEST(Reader, ParseNanAndInfinity) { TEST_NAN_INF("Infinity", inf); TEST_NAN_INF("-Inf", -inf); TEST_NAN_INF("-Infinity", -inf); + TEST_NAN_INF_ERROR(kParseErrorValueInvalid, "NInf", 1); + TEST_NAN_INF_ERROR(kParseErrorValueInvalid, "NaInf", 1); + TEST_NAN_INF_ERROR(kParseErrorValueInvalid, "INan", 1); + TEST_NAN_INF_ERROR(kParseErrorValueInvalid, "InNan", 1); TEST_NAN_INF_ERROR(kParseErrorValueInvalid, "nan", 1); TEST_NAN_INF_ERROR(kParseErrorValueInvalid, "-nan", 1); TEST_NAN_INF_ERROR(kParseErrorValueInvalid, "NAN", 1);