mirror of
https://github.com/bblanchon/ArduinoJson.git
synced 2025-07-16 12:02:14 +02:00
Test that JsonArray can contain inner arrays
This commit is contained in:
@ -47,4 +47,13 @@ void JsonArray::add(long value)
|
||||
|
||||
node->content.asInteger = value;
|
||||
addChild(node);
|
||||
}
|
||||
|
||||
void JsonArray::add(JsonContainer& innerContainer)
|
||||
{
|
||||
JsonNode* node = createNode(JSON_PROXY);
|
||||
if (!node) return;
|
||||
|
||||
node->content.asProxy.target = innerContainer._node;
|
||||
addChild(node);
|
||||
}
|
@ -21,5 +21,6 @@ public:
|
||||
void add(double value, int decimals=2);
|
||||
void add(int value) { add((long) value); }
|
||||
void add(long value);
|
||||
void add(JsonContainer& innerContainer);
|
||||
};
|
||||
|
||||
|
@ -6,10 +6,12 @@
|
||||
|
||||
struct JsonNode;
|
||||
class JsonValue;
|
||||
class JsonArray;
|
||||
|
||||
class JsonContainer : public Printable
|
||||
{
|
||||
friend JsonValue;
|
||||
friend JsonArray;
|
||||
|
||||
public:
|
||||
JsonContainer()
|
||||
|
@ -1,6 +1,7 @@
|
||||
#include "JsonObject.h"
|
||||
|
||||
#include "JsonValue.h"
|
||||
|
||||
#include "JsonArray.h"
|
||||
#include "JsonObject.h"
|
||||
#include "Internals/JsonNode.h"
|
||||
|
||||
void JsonValue::operator=(bool value)
|
||||
@ -40,7 +41,7 @@ void JsonValue::operator=(int value)
|
||||
_node->content.asInteger = value;
|
||||
}
|
||||
|
||||
void JsonValue::operator=(const JsonObject& object)
|
||||
void JsonValue::operator=(const JsonContainer& object)
|
||||
{
|
||||
setAsProxyTo(object._node);
|
||||
}
|
||||
@ -72,6 +73,7 @@ void JsonValue::operator=(JsonValue const& value)
|
||||
case JSON_ARRAY:
|
||||
case JSON_PROXY:
|
||||
setAsProxyTo(value._node);
|
||||
break;
|
||||
|
||||
default:
|
||||
*_node = *value._node;
|
||||
@ -115,6 +117,11 @@ JsonValue::operator int() const
|
||||
return node->content.asInteger;
|
||||
}
|
||||
|
||||
JsonValue::operator JsonArray() const
|
||||
{
|
||||
return JsonArray(getActualNode());
|
||||
}
|
||||
|
||||
JsonValue::operator JsonObject() const
|
||||
{
|
||||
return JsonObject(getActualNode());
|
||||
|
@ -1,5 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
class JsonArray;
|
||||
class JsonContainer;
|
||||
class JsonObject;
|
||||
struct JsonNode;
|
||||
|
||||
@ -21,13 +23,14 @@ public:
|
||||
void operator=(const char*);
|
||||
void operator=(double);
|
||||
void operator=(int);
|
||||
void operator=(const JsonObject&);
|
||||
void operator=(const JsonContainer&);
|
||||
void operator=(const JsonValue&);
|
||||
|
||||
operator bool() const;
|
||||
operator const char*() const;
|
||||
operator double() const;
|
||||
operator int() const;
|
||||
operator JsonArray() const;
|
||||
operator JsonObject() const;
|
||||
|
||||
void set(double value, int decimals);
|
||||
|
@ -63,7 +63,7 @@ TEST_F(JsonArray_Container_Tests, CanStoreStrings)
|
||||
EXPECT_STREQ("h3110", (const char*) array[0]);
|
||||
EXPECT_STREQ("w0r1d", (const char*) array[1]);
|
||||
}
|
||||
/*
|
||||
|
||||
TEST_F(JsonArray_Container_Tests, CanStoreInnerArrays)
|
||||
{
|
||||
JsonArray innerarray1 = json.createArray();
|
||||
@ -74,4 +74,4 @@ TEST_F(JsonArray_Container_Tests, CanStoreInnerArrays)
|
||||
|
||||
EXPECT_EQ(innerarray1, (JsonArray) array[0]);
|
||||
EXPECT_EQ(innerarray2, (JsonArray) array[1]);
|
||||
}*/
|
||||
}
|
Reference in New Issue
Block a user