From 4d23492d111e215578ec3e33bc1e0eb23f48cb71 Mon Sep 17 00:00:00 2001 From: Cory Quammen Date: Thu, 9 Oct 2014 16:29:47 -0400 Subject: [PATCH] Added printing of comments to *.actual test files This enables testing of comment-handling code. Updated *.expected test result files to account for printing of comments. --- src/jsontestrunner/main.cpp | 7 +++++++ test/data/test_basic_08.expected | 1 + test/data/test_basic_09.expected | 2 ++ test/data/test_comment_02.expected | 7 +++++++ test/data/test_integer_01.expected | 1 + test/data/test_integer_02.expected | 1 + test/data/test_integer_03.expected | 1 + test/data/test_integer_04.expected | 1 + test/data/test_preserve_comment_01.expected | 8 ++++++++ test/data/test_real_01.expected | 1 + test/data/test_real_02.expected | 1 + test/data/test_real_03.expected | 1 + test/data/test_real_04.expected | 1 + test/data/test_real_05.expected | 1 + test/data/test_real_06.expected | 1 + test/data/test_real_07.expected | 1 + test/data/test_real_08.expected | 3 +++ test/data/test_real_09.expected | 3 +++ test/data/test_real_10.expected | 3 +++ test/data/test_real_11.expected | 3 +++ test/data/test_real_12.expected | 1 + 21 files changed, 49 insertions(+) diff --git a/src/jsontestrunner/main.cpp b/src/jsontestrunner/main.cpp index 338167e..ba98587 100644 --- a/src/jsontestrunner/main.cpp +++ b/src/jsontestrunner/main.cpp @@ -61,6 +61,9 @@ static std::string readInputTestFile(const char* path) { static void printValueTree(FILE* fout, Json::Value& value, const std::string& path = ".") { + if (value.hasComment(Json::commentBefore)) { + fprintf(fout, "%s\n", value.getComment(Json::commentBefore).c_str()); + } switch (value.type()) { case Json::nullValue: fprintf(fout, "%s=null\n", path.c_str()); @@ -117,6 +120,10 @@ printValueTree(FILE* fout, Json::Value& value, const std::string& path = ".") { default: break; } + + if (value.hasComment(Json::commentAfter)) { + fprintf(fout, "%s\n", value.getComment(Json::commentAfter).c_str()); + } } static int parseAndSaveValueTree(const std::string& input, diff --git a/test/data/test_basic_08.expected b/test/data/test_basic_08.expected index c8db822..caf5352 100644 --- a/test/data/test_basic_08.expected +++ b/test/data/test_basic_08.expected @@ -1,2 +1,3 @@ +// C++ style comment .=null diff --git a/test/data/test_basic_09.expected b/test/data/test_basic_09.expected index c8db822..8b129da 100644 --- a/test/data/test_basic_09.expected +++ b/test/data/test_basic_09.expected @@ -1,2 +1,4 @@ +/* C style comment + */ .=null diff --git a/test/data/test_comment_02.expected b/test/data/test_comment_02.expected index 09c745d..88d2bd0 100644 --- a/test/data/test_comment_02.expected +++ b/test/data/test_comment_02.expected @@ -1,7 +1,14 @@ .={} +/* C-style comment + + C-style-2 comment */ .c-test={} .c-test.a=1 +/* Internal comment c-style */ .c-test.b=2 +// C++-style comment .cpp-test={} +// Multiline comment cpp-style +// Second line .cpp-test.c=3 .cpp-test.d=4 diff --git a/test/data/test_integer_01.expected b/test/data/test_integer_01.expected index 593f1db..463e149 100644 --- a/test/data/test_integer_01.expected +++ b/test/data/test_integer_01.expected @@ -1 +1,2 @@ +// Max signed integer .=2147483647 diff --git a/test/data/test_integer_02.expected b/test/data/test_integer_02.expected index 4b83bd7..0773e08 100644 --- a/test/data/test_integer_02.expected +++ b/test/data/test_integer_02.expected @@ -1 +1,2 @@ +// Min signed integer .=-2147483648 diff --git a/test/data/test_integer_03.expected b/test/data/test_integer_03.expected index 37c1cb1..c7efff7 100644 --- a/test/data/test_integer_03.expected +++ b/test/data/test_integer_03.expected @@ -1 +1,2 @@ +// Max unsigned integer .=4294967295 diff --git a/test/data/test_integer_04.expected b/test/data/test_integer_04.expected index b7b548e..39f8567 100644 --- a/test/data/test_integer_04.expected +++ b/test/data/test_integer_04.expected @@ -1,2 +1,3 @@ +// Min unsigned integer .=0 diff --git a/test/data/test_preserve_comment_01.expected b/test/data/test_preserve_comment_01.expected index 8d88041..2797aa7 100644 --- a/test/data/test_preserve_comment_01.expected +++ b/test/data/test_preserve_comment_01.expected @@ -1,3 +1,11 @@ +/* A comment + at the beginning of the file. + */ .={} .first=1 +/* Comment before 'second' + */ .second=2 +/* A comment at + the end of the file. + */ diff --git a/test/data/test_real_01.expected b/test/data/test_real_01.expected index ae23572..9514827 100644 --- a/test/data/test_real_01.expected +++ b/test/data/test_real_01.expected @@ -1,2 +1,3 @@ +// 2^33 => out of integer range, switch to double .=8589934592 diff --git a/test/data/test_real_02.expected b/test/data/test_real_02.expected index df8de42..b80c004 100644 --- a/test/data/test_real_02.expected +++ b/test/data/test_real_02.expected @@ -1,2 +1,3 @@ +// -2^32 => out of signed integer range, switch to double .=-4294967295 diff --git a/test/data/test_real_03.expected b/test/data/test_real_03.expected index df8de42..b80c004 100644 --- a/test/data/test_real_03.expected +++ b/test/data/test_real_03.expected @@ -1,2 +1,3 @@ +// -2^32 => out of signed integer range, switch to double .=-4294967295 diff --git a/test/data/test_real_04.expected b/test/data/test_real_04.expected index d726abe..ff71a23 100644 --- a/test/data/test_real_04.expected +++ b/test/data/test_real_04.expected @@ -1,2 +1,3 @@ +// 1.2345678 .=1.2345678 diff --git a/test/data/test_real_05.expected b/test/data/test_real_05.expected index 949fd8f..7a46093 100644 --- a/test/data/test_real_05.expected +++ b/test/data/test_real_05.expected @@ -1,3 +1,4 @@ +// 1234567.8 .=1234567.8 diff --git a/test/data/test_real_06.expected b/test/data/test_real_06.expected index 03b7d7f..a4a004d 100644 --- a/test/data/test_real_06.expected +++ b/test/data/test_real_06.expected @@ -1,3 +1,4 @@ +// -1.2345678 .=-1.2345678 diff --git a/test/data/test_real_07.expected b/test/data/test_real_07.expected index 12025a4..dc02a89 100644 --- a/test/data/test_real_07.expected +++ b/test/data/test_real_07.expected @@ -1,3 +1,4 @@ +// -1234567.8 .=-1234567.8 diff --git a/test/data/test_real_08.expected b/test/data/test_real_08.expected index 9a5f062..b1deef9 100644 --- a/test/data/test_real_08.expected +++ b/test/data/test_real_08.expected @@ -1 +1,4 @@ +// Out of 32-bit integer range, switch to double in 32-bit mode. Length the +// same as UINT_MAX in base 10 and digit less than UINT_MAX's last digit in +// order to catch a bug in the parsing code. .=4300000001 diff --git a/test/data/test_real_09.expected b/test/data/test_real_09.expected index 6da815e..aa2dbb2 100644 --- a/test/data/test_real_09.expected +++ b/test/data/test_real_09.expected @@ -1 +1,4 @@ +// Out of 64-bit integer range, switch to double in all modes. Length the same +// as ULONG_MAX in base 10 and digit less than ULONG_MAX's last digit in order +// to catch a bug in the parsing code. .=1.9e+19 diff --git a/test/data/test_real_10.expected b/test/data/test_real_10.expected index 01126bf..d28a430 100644 --- a/test/data/test_real_10.expected +++ b/test/data/test_real_10.expected @@ -1 +1,4 @@ +// Out of 32-bit signed integer range, switch to double in all modes. Length +// the same as INT_MIN in base 10 and digit less than INT_MIN's last digit in +// order to catch a bug in the parsing code. .=-2200000001 diff --git a/test/data/test_real_11.expected b/test/data/test_real_11.expected index 17f4187..2551946 100644 --- a/test/data/test_real_11.expected +++ b/test/data/test_real_11.expected @@ -1 +1,4 @@ +// Out of 64-bit signed integer range, switch to double in all modes. Length +// the same as LONG_MIN in base 10 and digit less than LONG_MIN's last digit in +// order to catch a bug in the parsing code. .=-9.3e+18 diff --git a/test/data/test_real_12.expected b/test/data/test_real_12.expected index a000319..93e2417 100644 --- a/test/data/test_real_12.expected +++ b/test/data/test_real_12.expected @@ -1 +1,2 @@ +// 2^64 -> switch to double. .=1.844674407370955e+19