diff --git a/JsonGeneratorTests/StringBuilder.cpp b/JsonGeneratorTests/StringBuilder.cpp index c7230199..113ff95a 100644 --- a/JsonGeneratorTests/StringBuilder.cpp +++ b/JsonGeneratorTests/StringBuilder.cpp @@ -25,6 +25,11 @@ void StringBuilder::append(const char* s) void StringBuilder::appendEscaped(const char* s) { + if (!s) + { + return append("null"); + } + if (length > capacity - 2) { // not enough from for quotes diff --git a/JsonGeneratorTests/StringBuilderAppendEscapedTests.cpp b/JsonGeneratorTests/StringBuilderAppendEscapedTests.cpp index a4bc29c8..96e07581 100644 --- a/JsonGeneratorTests/StringBuilderAppendEscapedTests.cpp +++ b/JsonGeneratorTests/StringBuilderAppendEscapedTests.cpp @@ -28,6 +28,12 @@ namespace JsonGeneratorTests assertResultIs("\"\""); } + TEST_METHOD(Null) + { + append(NULL); + assertResultIs("null"); + } + TEST_METHOD(OneString) { append("ABCD"); @@ -45,6 +51,9 @@ namespace JsonGeneratorTests { append("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); assertResultIs("\"ABCDEFGHIJKLMNOPQ\""); + + append(""); + assertResultIs("\"ABCDEFGHIJKLMNOPQ\""); } TEST_METHOD(SpecialChars)