瀏覽代碼

Added a tests that adds a 'null' to an array

Benoit Blanchon 11 年之前
父節點
當前提交
2a20c5a25c
共有 2 個文件被更改,包括 15 次插入3 次删除
  1. 8 3
      JsonGeneratorTests/JsonArray.h
  2. 7 0
      JsonGeneratorTests/JsonArrayTests.cpp

+ 8 - 3
JsonGeneratorTests/JsonArray.h

@@ -76,18 +76,23 @@ public:
             if (i>0)
                 append(buffer, bufferSize, ",");
 
+            JsonObjectValue value = items[i].value;
+
             switch (items[i].type)
             {
             case JSON_STRING:
-                append(buffer, bufferSize, "'%s'", items[i].value.string);
+                if (value.string)
+                    append(buffer, bufferSize, "'%s'", value.string);
+                else
+                    append(buffer, bufferSize, "null");
                 break;
 
             case JSON_NUMBER:
-                append(buffer, bufferSize, "%lg", items[i].value.number);
+                append(buffer, bufferSize, "%lg", value.number);
                 break;
 
             case JSON_BOOLEAN:
-                append(buffer, bufferSize, items[i].value.boolean ? "true" : "false");
+                append(buffer, bufferSize, value.boolean ? "true" : "false");
                 break;
             }
         }

+ 7 - 0
JsonGeneratorTests/JsonArrayTests.cpp

@@ -16,6 +16,13 @@ namespace JsonGeneratorTests
             AssertJsonIs("[]");
         }
 
+        TEST_METHOD(AddNull)
+        {
+            arr.add((char*)0);
+
+            AssertJsonIs("[null]");
+        }
+
         TEST_METHOD(AddOneString)
         {
             arr.add("hello");