Explorar el Código

Formated code with clang-format

Benoit Blanchon hace 11 años
padre
commit
9175046f35
Se han modificado 52 ficheros con 2152 adiciones y 2788 borrados
  1. 1 0
      .clang-format
  2. 6 8
      include/ArduinoJson/Arduino/Print.hpp
  3. 2 5
      include/ArduinoJson/Arduino/Printable.hpp
  4. 19 43
      include/ArduinoJson/Internals/CompactJsonWriter.hpp
  5. 36 43
      include/ArduinoJson/Internals/IndentedPrint.hpp
  6. 156 188
      include/ArduinoJson/Internals/JsonNode.hpp
  7. 16 33
      include/ArduinoJson/Internals/JsonNodeIterator.hpp
  8. 19 33
      include/ArduinoJson/Internals/JsonNodeWrapper.hpp
  9. 30 40
      include/ArduinoJson/Internals/JsonParser.hpp
  10. 34 49
      include/ArduinoJson/Internals/JsonWriter.hpp
  11. 48 63
      include/ArduinoJson/Internals/PrettyJsonWriter.hpp
  12. 8 11
      include/ArduinoJson/Internals/QuotedString.hpp
  13. 15 19
      include/ArduinoJson/Internals/StringBuilder.hpp
  14. 25 38
      include/ArduinoJson/JsonArray.hpp
  15. 24 37
      include/ArduinoJson/JsonArrayIterator.hpp
  16. 38 46
      include/ArduinoJson/JsonBuffer.hpp
  17. 27 35
      include/ArduinoJson/JsonContainer.hpp
  18. 22 36
      include/ArduinoJson/JsonObject.hpp
  19. 30 43
      include/ArduinoJson/JsonObjectIterator.hpp
  20. 22 38
      include/ArduinoJson/JsonObjectKeyValue.hpp
  21. 32 40
      include/ArduinoJson/JsonValue.hpp
  22. 25 38
      include/ArduinoJson/StaticJsonBuffer.hpp
  23. 1 0
      scripts/format-code.sh
  24. 15 22
      src/Arduino/Print.cpp
  25. 21 26
      src/Internals/IndentedPrint.cpp
  26. 108 127
      src/Internals/JsonNode.cpp
  27. 117 130
      src/Internals/JsonParser.cpp
  28. 7 13
      src/Internals/JsonWriter.cpp
  29. 63 77
      src/Internals/QuotedString.cpp
  30. 6 6
      src/Internals/StringBuilder.cpp
  31. 60 66
      src/JsonArray.cpp
  32. 52 64
      src/JsonBuffer.cpp
  33. 42 50
      src/JsonContainer.cpp
  34. 39 46
      src/JsonObject.cpp
  35. 20 38
      src/JsonValue.cpp
  36. 48 58
      test/Issue10.cpp
  37. 85 111
      test/JsonArray_Container_Tests.cpp
  38. 14 15
      test/JsonArray_Iterator_Tests.cpp
  39. 47 63
      test/JsonArray_PrettyPrintTo_Tests.cpp
  40. 65 88
      test/JsonArray_PrintTo_Tests.cpp
  41. 63 77
      test/JsonObject_Container_Tests.cpp
  42. 16 16
      test/JsonObject_Iterator_Tests.cpp
  43. 45 61
      test/JsonObject_PrettyPrintTo_Tests.cpp
  44. 77 102
      test/JsonObject_Serialization_Tests.cpp
  45. 94 122
      test/JsonParser_Array_Tests.cpp
  46. 42 43
      test/JsonParser_Nested_Tests.cpp
  47. 125 159
      test/JsonParser_Object_Tests.cpp
  48. 60 76
      test/JsonValueTests.cpp
  49. 73 98
      test/QuotedString_ExtractFrom_Tests.cpp
  50. 41 54
      test/QuotedString_PrintTo_Tests.cpp
  51. 42 44
      test/StaticJsonBufferTests.cpp
  52. 29 50
      test/StringBuilderTests.cpp

+ 1 - 0
.clang-format

@@ -0,0 +1 @@
+BasedOnStyle: LLVM

+ 6 - 8
include/ArduinoJson/Arduino/Print.hpp

@@ -11,16 +11,14 @@
 #include <stdint.h>
 
 // This class reproduces Arduino's Print
-class Print
-{
+class Print {
 public:
+  virtual size_t write(uint8_t) = 0;
 
-    virtual size_t write(uint8_t) = 0;
-
-    size_t print(const char[]);
-    size_t print(double, int = 2);
-    size_t print(long);
-    size_t println();
+  size_t print(const char[]);
+  size_t print(double, int = 2);
+  size_t print(long);
+  size_t println();
 };
 
 #else

+ 2 - 5
include/ArduinoJson/Arduino/Printable.hpp

@@ -11,11 +11,9 @@
 
 class Print;
 
-class Printable
-{
+class Printable {
 public:
-
-    virtual size_t printTo(Print& p) const = 0;
+  virtual size_t printTo(Print &p) const = 0;
 };
 
 #else
@@ -23,4 +21,3 @@ public:
 #include <Printable.h>
 
 #endif
-

+ 19 - 43
include/ArduinoJson/Internals/CompactJsonWriter.hpp

@@ -2,47 +2,23 @@
 
 #include "ArduinoJson/Internals/JsonWriter.hpp"
 
-namespace ArduinoJson
-{
-    namespace Internals
-    {
-        class CompactJsonWriter : public JsonWriter
-        {
-        public:
-            explicit CompactJsonWriter(Print* sink)
-            : JsonWriter(sink)
-            {
-            }
-
-            virtual void beginArray()
-            {
-                _length += _sink->write('[');
-            }
-
-            virtual void endArray()
-            {
-                _length += _sink->write(']');
-            }
-
-            virtual void writeColon()
-            {
-                _length += _sink->write(':');
-            }
-
-            virtual void writeComma()
-            {
-                _length += _sink->write(',');
-            }
-
-            virtual void beginObject()
-            {
-                _length += _sink->write('{');
-            }
-
-            virtual void endObject()
-            {
-                _length += _sink->write('}');
-            }
-        };       
-    }
+namespace ArduinoJson {
+namespace Internals {
+class CompactJsonWriter : public JsonWriter {
+public:
+  explicit CompactJsonWriter(Print *sink) : JsonWriter(sink) {}
+
+  virtual void beginArray() { _length += _sink->write('['); }
+
+  virtual void endArray() { _length += _sink->write(']'); }
+
+  virtual void writeColon() { _length += _sink->write(':'); }
+
+  virtual void writeComma() { _length += _sink->write(','); }
+
+  virtual void beginObject() { _length += _sink->write('{'); }
+
+  virtual void endObject() { _length += _sink->write('}'); }
+};
+}
 }

+ 36 - 43
include/ArduinoJson/Internals/IndentedPrint.hpp

@@ -7,47 +7,40 @@
 
 #include "../Arduino/Print.hpp"
 
-namespace ArduinoJson
-{
-    namespace Internals
-    {
-        // Decorator on top of Print to allow indented output.
-        // This class is used by JsonPrintable::prettyPrintTo() but can also be used
-        // for your own purpose, like logging.
-        class IndentedPrint : public Print
-        {
-        public:
-
-            IndentedPrint(Print& p)
-                : sink(&p)
-            {
-                level = 0;
-                tabSize = 2;
-                isNewLine = true;
-            }
-
-            virtual size_t write(uint8_t);
-
-            // Adds one level of indentation
-            void indent();
-
-            // Removes one level of indentation
-            void unindent();
-
-            // Set the number of space printed for each level of indentation
-            void setTabSize(uint8_t n);
-
-        private:
-            Print* sink;
-            uint8_t level : 4;
-            uint8_t tabSize : 3;
-            bool isNewLine : 1;
-            
-            size_t writeTabs();
-
-            static const int MAX_LEVEL = 15; // because it's only 4 bits
-            static const int MAX_TAB_SIZE = 7; // because it's only 3 bits
-        };
-    }
+namespace ArduinoJson {
+namespace Internals {
+// Decorator on top of Print to allow indented output.
+// This class is used by JsonPrintable::prettyPrintTo() but can also be used
+// for your own purpose, like logging.
+class IndentedPrint : public Print {
+public:
+  IndentedPrint(Print &p) : sink(&p) {
+    level = 0;
+    tabSize = 2;
+    isNewLine = true;
+  }
+
+  virtual size_t write(uint8_t);
+
+  // Adds one level of indentation
+  void indent();
+
+  // Removes one level of indentation
+  void unindent();
+
+  // Set the number of space printed for each level of indentation
+  void setTabSize(uint8_t n);
+
+private:
+  Print *sink;
+  uint8_t level : 4;
+  uint8_t tabSize : 3;
+  bool isNewLine : 1;
+
+  size_t writeTabs();
+
+  static const int MAX_LEVEL = 15;   // because it's only 4 bits
+  static const int MAX_TAB_SIZE = 7; // because it's only 3 bits
+};
+}
 }
-

+ 156 - 188
include/ArduinoJson/Internals/JsonNode.hpp

@@ -1,191 +1,159 @@
 #pragma once
 
-namespace ArduinoJson
-{
-    class JsonBuffer;
-
-    namespace Internals
-    {
-        class JsonWriter;
-
-        class JsonNode
-        {
-            enum JsonNodeType
-            {
-                JSON_UNDEFINED,
-                JSON_NULL,
-                JSON_ARRAY,
-                JSON_OBJECT,
-                JSON_KEY_VALUE,
-                JSON_BOOLEAN,
-                JSON_STRING,
-                JSON_LONG,
-                JSON_PROXY,
-                JSON_DOUBLE_0_DECIMALS,
-                JSON_DOUBLE_1_DECIMAL,
-                JSON_DOUBLE_2_DECIMALS
-                // etc.
-            };
-
-            union JsonNodeContent
-            {
-                bool asBoolean;
-                double asDouble;
-                long asInteger;
-                const char* asString;
-
-                struct
-                {
-                    const char* key;
-                    JsonNode* value;
-                } asKeyValue;
-
-                struct
-                {
-                    JsonNode* child;
-                    JsonBuffer* buffer;
-                } asContainer;
-
-                struct
-                {
-                    JsonNode* target;
-                } asProxy;
-
-            };
-
-        public:
-            JsonNode()
-                : next(0), type(JSON_UNDEFINED)
-            {
-
-            }
-
-            JsonNode* next;
-
-            void writeTo(JsonWriter&); // TODO: <- move in JsonNodeSerializer
-
-            void setAsArray(JsonBuffer* buffer)
-            {
-                type = JSON_ARRAY;
-                content.asContainer.child = 0;
-                content.asContainer.buffer = buffer;
-            }
-
-            void setAsBoolean(bool value)
-            {
-                type = JSON_BOOLEAN;
-                content.asBoolean = value;
-            }
-
-            void setAsLong(int value)
-            {
-                type = JSON_LONG;
-                content.asInteger = value;
-            }
-
-            void setAsString(char const* value)
-            {
-                type = JSON_STRING;
-                content.asString = value;
-            }
-
-            void setAsDouble(double value, int decimals)
-            {
-                type = static_cast<JsonNodeType>(JSON_DOUBLE_0_DECIMALS + decimals);
-                content.asDouble = value;
-            }
-
-            void setAsObject(JsonBuffer* buffer)
-            {
-                type = JSON_OBJECT;
-                content.asContainer.child = 0;
-                content.asContainer.buffer = buffer;
-            }
-
-            void setAsObjectKeyValue(const char* key, JsonNode* value)
-            {
-                type = JSON_KEY_VALUE;
-                content.asKeyValue.key = key;
-                content.asKeyValue.value = value;
-            }
-
-            bool getAsBoolean()
-            {
-                return type == JSON_BOOLEAN ? content.asBoolean : false;
-            }
-
-            double getAsDouble()
-            {
-                return type >= JSON_DOUBLE_0_DECIMALS ? content.asDouble : 0;
-            }
-
-            long getAsInteger()
-            {
-                return type == JSON_LONG ? content.asInteger : 0;
-            }
-
-            const char* getAsString()
-            {
-                return type == JSON_STRING ? content.asString : 0;
-            }
-
-            JsonBuffer* getContainerBuffer()
-            {
-                if (type == JSON_PROXY) return content.asProxy.target->getContainerBuffer();
-                return type == JSON_ARRAY || type == JSON_OBJECT ? content.asContainer.buffer : 0;
-            }
-
-            JsonNode* getContainerChild()
-            {
-                if (type == JSON_PROXY) return content.asProxy.target->getContainerChild();
-                return type == JSON_ARRAY || type == JSON_OBJECT ? content.asContainer.child : 0;
-            }
-
-            const char* getAsObjectKey()
-            {
-                return type == JSON_KEY_VALUE ? content.asKeyValue.key : 0;
-            }
-
-            JsonNode* getAsObjectValue()
-            {
-                return type == JSON_KEY_VALUE ? content.asKeyValue.value : 0;
-            }
-
-            JsonNode* getProxyTarget()
-            {        
-                return type == JSON_PROXY ? content.asProxy.target : this;
-            }
-
-            bool isArray()
-            {
-                return type == JSON_ARRAY;
-            }
-
-            bool isObject()
-            {
-                return type == JSON_OBJECT;
-            }
-
-            void addChild(JsonNode* childToAdd);
-
-            void removeChild(JsonNode* childToRemove);
-
-            void duplicate(JsonNode* other);
-
-        private:
-            JsonNodeType type;
-            JsonNodeContent content;
-
-            inline void writeArrayTo(JsonWriter&);// TODO: <- move in JsonNodeSerializer
-            inline void writeObjectTo(JsonWriter&);// TODO: <- move in JsonNodeSerializer
-
-            void setAsProxyOfSelf();
-
-            void setAsProxyOf(JsonNode* target)
-            {
-                type = JSON_PROXY;
-                content.asProxy.target = target;
-            }
-        };
-    }
+namespace ArduinoJson {
+class JsonBuffer;
+
+namespace Internals {
+class JsonWriter;
+
+class JsonNode {
+  enum JsonNodeType {
+    JSON_UNDEFINED,
+    JSON_NULL,
+    JSON_ARRAY,
+    JSON_OBJECT,
+    JSON_KEY_VALUE,
+    JSON_BOOLEAN,
+    JSON_STRING,
+    JSON_LONG,
+    JSON_PROXY,
+    JSON_DOUBLE_0_DECIMALS,
+    JSON_DOUBLE_1_DECIMAL,
+    JSON_DOUBLE_2_DECIMALS
+    // etc.
+  };
+
+  union JsonNodeContent {
+    bool asBoolean;
+    double asDouble;
+    long asInteger;
+    const char *asString;
+
+    struct {
+      const char *key;
+      JsonNode *value;
+    } asKeyValue;
+
+    struct {
+      JsonNode *child;
+      JsonBuffer *buffer;
+    } asContainer;
+
+    struct {
+      JsonNode *target;
+    } asProxy;
+  };
+
+public:
+  JsonNode() : next(0), type(JSON_UNDEFINED) {}
+
+  JsonNode *next;
+
+  void writeTo(JsonWriter &); // TODO: <- move in JsonNodeSerializer
+
+  void setAsArray(JsonBuffer *buffer) {
+    type = JSON_ARRAY;
+    content.asContainer.child = 0;
+    content.asContainer.buffer = buffer;
+  }
+
+  void setAsBoolean(bool value) {
+    type = JSON_BOOLEAN;
+    content.asBoolean = value;
+  }
+
+  void setAsLong(int value) {
+    type = JSON_LONG;
+    content.asInteger = value;
+  }
+
+  void setAsString(char const *value) {
+    type = JSON_STRING;
+    content.asString = value;
+  }
+
+  void setAsDouble(double value, int decimals) {
+    type = static_cast<JsonNodeType>(JSON_DOUBLE_0_DECIMALS + decimals);
+    content.asDouble = value;
+  }
+
+  void setAsObject(JsonBuffer *buffer) {
+    type = JSON_OBJECT;
+    content.asContainer.child = 0;
+    content.asContainer.buffer = buffer;
+  }
+
+  void setAsObjectKeyValue(const char *key, JsonNode *value) {
+    type = JSON_KEY_VALUE;
+    content.asKeyValue.key = key;
+    content.asKeyValue.value = value;
+  }
+
+  bool getAsBoolean() {
+    return type == JSON_BOOLEAN ? content.asBoolean : false;
+  }
+
+  double getAsDouble() {
+    return type >= JSON_DOUBLE_0_DECIMALS ? content.asDouble : 0;
+  }
+
+  long getAsInteger() { return type == JSON_LONG ? content.asInteger : 0; }
+
+  const char *getAsString() {
+    return type == JSON_STRING ? content.asString : 0;
+  }
+
+  JsonBuffer *getContainerBuffer() {
+    if (type == JSON_PROXY)
+      return content.asProxy.target->getContainerBuffer();
+    return type == JSON_ARRAY || type == JSON_OBJECT
+               ? content.asContainer.buffer
+               : 0;
+  }
+
+  JsonNode *getContainerChild() {
+    if (type == JSON_PROXY)
+      return content.asProxy.target->getContainerChild();
+    return type == JSON_ARRAY || type == JSON_OBJECT ? content.asContainer.child
+                                                     : 0;
+  }
+
+  const char *getAsObjectKey() {
+    return type == JSON_KEY_VALUE ? content.asKeyValue.key : 0;
+  }
+
+  JsonNode *getAsObjectValue() {
+    return type == JSON_KEY_VALUE ? content.asKeyValue.value : 0;
+  }
+
+  JsonNode *getProxyTarget() {
+    return type == JSON_PROXY ? content.asProxy.target : this;
+  }
+
+  bool isArray() { return type == JSON_ARRAY; }
+
+  bool isObject() { return type == JSON_OBJECT; }
+
+  void addChild(JsonNode *childToAdd);
+
+  void removeChild(JsonNode *childToRemove);
+
+  void duplicate(JsonNode *other);
+
+private:
+  JsonNodeType type;
+  JsonNodeContent content;
+
+  inline void writeArrayTo(JsonWriter &); // TODO: <- move in JsonNodeSerializer
+  inline void
+  writeObjectTo(JsonWriter &); // TODO: <- move in JsonNodeSerializer
+
+  void setAsProxyOfSelf();
+
+  void setAsProxyOf(JsonNode *target) {
+    type = JSON_PROXY;
+    content.asProxy.target = target;
+  }
+};
+}
 }

+ 16 - 33
include/ArduinoJson/Internals/JsonNodeIterator.hpp

@@ -2,42 +2,25 @@
 
 #include "JsonNode.hpp"
 
-namespace ArduinoJson
-{
-    namespace Internals
-    {
-        // TODO: replace by JsonArrayIterator and JsonObjectIterator
-        class JsonNodeIterator
-        {
-        public:
+namespace ArduinoJson {
+namespace Internals {
+// TODO: replace by JsonArrayIterator and JsonObjectIterator
+class JsonNodeIterator {
+public:
+  explicit JsonNodeIterator(JsonNode *node) : _node(node) {}
 
-            explicit JsonNodeIterator(JsonNode* node)
-                : _node(node)
-            {
-            }
+  bool operator!=(const JsonNodeIterator &other) const {
+    return _node != other._node;
+  }
 
-            bool operator!= (const JsonNodeIterator& other) const
-            {
-                return _node != other._node;
-            }
+  void operator++() { _node = _node->next; }
 
-            void operator++()
-            {
-                _node = _node->next;
-            }
+  JsonNode *operator*() const { return _node; }
 
-            JsonNode* operator*() const
-            {
-                return _node;
-            }
+  JsonNode *operator->() const { return _node; }
 
-            JsonNode* operator->() const
-            {
-                return _node;
-            }
-
-        private:
-            JsonNode* _node;
-        };
-    }
+private:
+  JsonNode *_node;
+};
+}
 }

+ 19 - 33
include/ArduinoJson/Internals/JsonNodeWrapper.hpp

@@ -2,42 +2,28 @@
 
 #include "JsonNode.hpp"
 
-namespace ArduinoJson
-{
-    class JsonValue ;
-    
-    namespace Internals
-    {
-        class JsonNodeWrapper
-        {
-            friend class JsonValue;
+namespace ArduinoJson {
+class JsonValue;
 
-        public:
-            JsonNodeWrapper()
-            : _node(0)
-            {
-            }
+namespace Internals {
+class JsonNodeWrapper {
+  friend class JsonValue;
 
-            explicit JsonNodeWrapper(JsonNode* node)
-            : _node(node)
-            {
-            }
+public:
+  JsonNodeWrapper() : _node(0) {}
 
-        protected:
+  explicit JsonNodeWrapper(JsonNode *node) : _node(node) {}
 
-            void duplicate(const JsonNodeWrapper& other)
-            {
-                if (!_node)
-                {
-                    _node = other._node;
-                }
-                else
-                {
-                    _node->duplicate(other._node);
-                }
-            }
-
-            JsonNode* _node;
-        };
+protected:
+  void duplicate(const JsonNodeWrapper &other) {
+    if (!_node) {
+      _node = other._node;
+    } else {
+      _node->duplicate(other._node);
     }
+  }
+
+  JsonNode *_node;
+};
+}
 }

+ 30 - 40
include/ArduinoJson/Internals/JsonParser.hpp

@@ -2,44 +2,34 @@
 
 #include "JsonNode.hpp"
 
-namespace ArduinoJson
-{
-    class JsonBuffer;
-
-    namespace Internals
-    {
-        class JsonNode;
-
-        class JsonParser
-        {
-        public:
-            JsonParser(JsonBuffer* buffer, char* json)
-            : _buffer(buffer), _ptr(json)
-            {
-
-            }
-
-            JsonNode* parseAnything();
-
-        private:
-            JsonBuffer* _buffer;
-            char* _ptr;
-
-            bool isEnd()
-            {
-                return *_ptr == 0;
-            }
-
-            bool skip(char charToSkip);
-            void skipSpaces();
-
-            inline JsonNode* parseArray();
-            inline JsonNode* parseBoolean();
-            inline JsonNode* parseNull();
-            inline JsonNode* parseNumber();
-            inline JsonNode* parseObject();
-            inline JsonNode* parseObjectKeyValue();
-            inline JsonNode* parseString();
-        };
-    }
+namespace ArduinoJson {
+class JsonBuffer;
+
+namespace Internals {
+class JsonNode;
+
+class JsonParser {
+public:
+  JsonParser(JsonBuffer *buffer, char *json) : _buffer(buffer), _ptr(json) {}
+
+  JsonNode *parseAnything();
+
+private:
+  JsonBuffer *_buffer;
+  char *_ptr;
+
+  bool isEnd() { return *_ptr == 0; }
+
+  bool skip(char charToSkip);
+  void skipSpaces();
+
+  inline JsonNode *parseArray();
+  inline JsonNode *parseBoolean();
+  inline JsonNode *parseNull();
+  inline JsonNode *parseNumber();
+  inline JsonNode *parseObject();
+  inline JsonNode *parseObjectKeyValue();
+  inline JsonNode *parseString();
+};
+}
 }

+ 34 - 49
include/ArduinoJson/Internals/JsonWriter.hpp

@@ -2,53 +2,38 @@
 
 #include "../Arduino/Print.hpp"
 
-namespace ArduinoJson
-{
-    namespace Internals
-    {
-        class JsonWriter
-        {
-        public:
-            explicit JsonWriter(Print* sink)
-            : _sink(sink), _length(0)
-            {
-            }
-
-            size_t bytesWritten()
-            {
-                return _length;
-            }
-
-            virtual void beginArray() = 0;
-
-            virtual void endArray() = 0;
-
-            virtual void beginObject() = 0;
-
-            virtual void endObject() = 0;
-
-            void writeString(const char* value);
-            void writeInteger(long value);
-            void writeBoolean(bool value);
-            void writeDouble(double value, int decimals);
-
-            virtual void writeColon() = 0;
-
-            virtual void writeComma() = 0;
-
-            void writeEmptyArray()
-            {
-                _length += _sink->print("[]");
-            }
-
-            void writeEmptyObject()
-            {
-                _length += _sink->print("{}");
-            }
-
-        protected:
-            Print* _sink;
-            size_t _length;
-        };
-    }
+namespace ArduinoJson {
+namespace Internals {
+class JsonWriter {
+public:
+  explicit JsonWriter(Print *sink) : _sink(sink), _length(0) {}
+
+  size_t bytesWritten() { return _length; }
+
+  virtual void beginArray() = 0;
+
+  virtual void endArray() = 0;
+
+  virtual void beginObject() = 0;
+
+  virtual void endObject() = 0;
+
+  void writeString(const char *value);
+  void writeInteger(long value);
+  void writeBoolean(bool value);
+  void writeDouble(double value, int decimals);
+
+  virtual void writeColon() = 0;
+
+  virtual void writeComma() = 0;
+
+  void writeEmptyArray() { _length += _sink->print("[]"); }
+
+  void writeEmptyObject() { _length += _sink->print("{}"); }
+
+protected:
+  Print *_sink;
+  size_t _length;
+};
+}
 }

+ 48 - 63
include/ArduinoJson/Internals/PrettyJsonWriter.hpp

@@ -3,67 +3,52 @@
 #include "JsonWriter.hpp"
 #include "IndentedPrint.hpp"
 
-namespace ArduinoJson
-{
-    namespace Internals
-    {
-        class PrettyJsonWriter : public JsonWriter
-        {
-        public:
-            explicit PrettyJsonWriter(IndentedPrint* sink)
-            : JsonWriter(sink), _indenter(sink)
-            {
-            }
-
-            virtual void beginArray()
-            {
-                _length += _sink->write('[');
-                indent();
-            }
-
-            virtual void endArray()
-            {
-                unindent();
-                _length += _sink->write(']');
-            }
-
-            virtual void writeColon()
-            {
-                _length += _sink->print(": ");
-            }
-
-            virtual void writeComma()
-            {
-                _length += _sink->write(',');
-                _length += _indenter->println();
-            }
-
-            virtual void beginObject()
-            {
-                _length += _sink->write('{');
-                indent();
-            }
-
-            virtual void endObject()
-            {
-                unindent();
-                _length += _sink->write('}');
-            }
-
-        private:
-            IndentedPrint* _indenter;
-
-            void indent()
-            {
-                _indenter->indent();
-                _length += _indenter->println();
-            }
-
-            void unindent()
-            {
-                _length += _indenter->println();
-                _indenter->unindent();
-            }
-        };
-    }
+namespace ArduinoJson {
+namespace Internals {
+class PrettyJsonWriter : public JsonWriter {
+public:
+  explicit PrettyJsonWriter(IndentedPrint *sink)
+      : JsonWriter(sink), _indenter(sink) {}
+
+  virtual void beginArray() {
+    _length += _sink->write('[');
+    indent();
+  }
+
+  virtual void endArray() {
+    unindent();
+    _length += _sink->write(']');
+  }
+
+  virtual void writeColon() { _length += _sink->print(": "); }
+
+  virtual void writeComma() {
+    _length += _sink->write(',');
+    _length += _indenter->println();
+  }
+
+  virtual void beginObject() {
+    _length += _sink->write('{');
+    indent();
+  }
+
+  virtual void endObject() {
+    unindent();
+    _length += _sink->write('}');
+  }
+
+private:
+  IndentedPrint *_indenter;
+
+  void indent() {
+    _indenter->indent();
+    _length += _indenter->println();
+  }
+
+  void unindent() {
+    _length += _indenter->println();
+    _indenter->unindent();
+  }
+};
+}
 }

+ 8 - 11
include/ArduinoJson/Internals/QuotedString.hpp

@@ -7,16 +7,13 @@
 
 #include "../Arduino/Print.hpp"
 
-namespace ArduinoJson
-{
-    namespace Internals
-    {
-        class QuotedString
-        {
-        public:
-            static size_t printTo(const char*, Print*);
+namespace ArduinoJson {
+namespace Internals {
+class QuotedString {
+public:
+  static size_t printTo(const char *, Print *);
 
-            static char* extractFrom(char* input, char** end);
-        };
-    }
+  static char *extractFrom(char *input, char **end);
+};
+}
 }

+ 15 - 19
include/ArduinoJson/Internals/StringBuilder.hpp

@@ -7,25 +7,21 @@
 
 #include "../Arduino/Print.hpp"
 
-namespace ArduinoJson
-{
-    namespace Internals
-    {
-        class StringBuilder : public Print
-        {
-        public:
-            StringBuilder(char* buf, int size)
-                : buffer(buf), capacity(size - 1), length(0)
-            {
-                buffer[0] = 0;
-            }
+namespace ArduinoJson {
+namespace Internals {
+class StringBuilder : public Print {
+public:
+  StringBuilder(char *buf, int size)
+      : buffer(buf), capacity(size - 1), length(0) {
+    buffer[0] = 0;
+  }
 
-            virtual size_t write(uint8_t c);
+  virtual size_t write(uint8_t c);
 
-        private:
-            char* buffer;
-            int capacity;
-            int length;
-        };
-    }
+private:
+  char *buffer;
+  int capacity;
+  int length;
+};
+}
 }

+ 25 - 38
include/ArduinoJson/JsonArray.hpp

@@ -3,42 +3,29 @@
 #include "JsonContainer.hpp"
 #include "JsonArrayIterator.hpp"
 
-namespace ArduinoJson
-{
-    class JsonArray : public JsonContainer
-    {
-    public:
-        JsonArray()
-        {
-        }
-
-        explicit JsonArray(Internals::JsonNode* node)
-            : JsonContainer(node)
-        {
-        }
-
-        JsonValue operator[](int index) const;
-
-        void add(bool value);
-        void add(const char* value);
-        void add(double value, int decimals=2);
-        void add(int value) { add(static_cast<long>(value)); }
-        void add(long value);
-        void add(JsonContainer nestedArray); // TODO: should allow JsonValue too
-
-        JsonArray createNestedArray();
-        JsonObject createNestedObject();
-
-        bool success()
-        {
-            return _node && _node->isArray();
-        }
-
-        JsonArrayIterator begin();
-
-        JsonArrayIterator end()
-        {
-            return JsonArrayIterator(0);
-        }
-    };
+namespace ArduinoJson {
+class JsonArray : public JsonContainer {
+public:
+  JsonArray() {}
+
+  explicit JsonArray(Internals::JsonNode *node) : JsonContainer(node) {}
+
+  JsonValue operator[](int index) const;
+
+  void add(bool value);
+  void add(const char *value);
+  void add(double value, int decimals = 2);
+  void add(int value) { add(static_cast<long>(value)); }
+  void add(long value);
+  void add(JsonContainer nestedArray); // TODO: should allow JsonValue too
+
+  JsonArray createNestedArray();
+  JsonObject createNestedObject();
+
+  bool success() { return _node && _node->isArray(); }
+
+  JsonArrayIterator begin();
+
+  JsonArrayIterator end() { return JsonArrayIterator(0); }
+};
 }

+ 24 - 37
include/ArduinoJson/JsonArrayIterator.hpp

@@ -2,41 +2,28 @@
 
 #include "ArduinoJson/JsonValue.hpp"
 
-namespace ArduinoJson
-{
-	class JsonArray;
-
-	class JsonArrayIterator
-	{
-		friend class JsonArray;
-
-	public:
-		explicit JsonArrayIterator(Internals::JsonNode* node)
-			: _node(node)
-		{
-		}
-
-		void operator++()
-		{
-			_node = _node->next;
-		}
-
-		JsonValue operator*() const
-		{
-			return JsonValue(_node);
-		}
-
-		bool operator==(const JsonArrayIterator& other) const
-		{
-			return _node == other._node;
-		}
-
-		bool operator!=(const JsonArrayIterator& other) const
-		{
-			return _node != other._node;
-		}
-
-	private:
-		Internals::JsonNode* _node;
-	};
+namespace ArduinoJson {
+class JsonArray;
+
+class JsonArrayIterator {
+  friend class JsonArray;
+
+public:
+  explicit JsonArrayIterator(Internals::JsonNode *node) : _node(node) {}
+
+  void operator++() { _node = _node->next; }
+
+  JsonValue operator*() const { return JsonValue(_node); }
+
+  bool operator==(const JsonArrayIterator &other) const {
+    return _node == other._node;
+  }
+
+  bool operator!=(const JsonArrayIterator &other) const {
+    return _node != other._node;
+  }
+
+private:
+  Internals::JsonNode *_node;
+};
 }

+ 38 - 46
include/ArduinoJson/JsonBuffer.hpp

@@ -3,50 +3,42 @@
 #include "JsonArray.hpp"
 #include "JsonObject.hpp"
 
-namespace ArduinoJson
-{
-    namespace Internals
-    {
-        class JsonParser;
-    }
-
-    class JsonBuffer
-    {
-        friend class JsonContainer;
-        friend class Internals::JsonNode;
-        friend class Internals::JsonParser;
-
-    public:
-        virtual ~JsonBuffer() {};
-
-        JsonArray createArray()
-        {
-            return JsonArray(createArrayNode());
-        }
-
-        JsonObject createObject()
-        {
-            return JsonObject(createObjectNode());
-        }
-
-        JsonValue createValue();
-
-        JsonArray parseArray(char* json);
-        JsonObject parseObject(char* json);
-        JsonValue parseValue(char* json); // TODO: remove
-
-    protected:
-        virtual void* allocateNode() = 0;
-
-    private:
-        Internals::JsonNode* createNode();
-
-        Internals::JsonNode* createArrayNode();
-        Internals::JsonNode* createBoolNode(bool value);
-        Internals::JsonNode* createDoubleNode(double value, int decimals);
-        Internals::JsonNode* createLongNode(long value);
-        Internals::JsonNode* createObjectNode();
-        Internals::JsonNode* createObjectKeyValueNode(const char* key, Internals::JsonNode* value);
-        Internals::JsonNode* createStringNode(const char* value);
-    };
+namespace ArduinoJson {
+namespace Internals {
+class JsonParser;
+}
+
+class JsonBuffer {
+  friend class JsonContainer;
+  friend class Internals::JsonNode;
+  friend class Internals::JsonParser;
+
+public:
+  virtual ~JsonBuffer(){};
+
+  JsonArray createArray() { return JsonArray(createArrayNode()); }
+
+  JsonObject createObject() { return JsonObject(createObjectNode()); }
+
+  JsonValue createValue();
+
+  JsonArray parseArray(char *json);
+  JsonObject parseObject(char *json);
+  JsonValue parseValue(char *json); // TODO: remove
+
+protected:
+  virtual void *allocateNode() = 0;
+
+private:
+  Internals::JsonNode *createNode();
+
+  Internals::JsonNode *createArrayNode();
+  Internals::JsonNode *createBoolNode(bool value);
+  Internals::JsonNode *createDoubleNode(double value, int decimals);
+  Internals::JsonNode *createLongNode(long value);
+  Internals::JsonNode *createObjectNode();
+  Internals::JsonNode *createObjectKeyValueNode(const char *key,
+                                                Internals::JsonNode *value);
+  Internals::JsonNode *createStringNode(const char *value);
+};
 }

+ 27 - 35
include/ArduinoJson/JsonContainer.hpp

@@ -6,49 +6,41 @@
 #include "Internals/IndentedPrint.hpp"
 #include "Internals/JsonNodeWrapper.hpp"
 
-namespace ArduinoJson
-{
-    class JsonArray;
-    class JsonObject;
-    class JsonValue;
+namespace ArduinoJson {
+class JsonArray;
+class JsonObject;
+class JsonValue;
 
-    class JsonContainer : public Printable, public Internals::JsonNodeWrapper
-    {
-        friend class JsonArray;
+class JsonContainer : public Printable, public Internals::JsonNodeWrapper {
+  friend class JsonArray;
 
-    public:
-        JsonContainer() {}
+public:
+  JsonContainer() {}
 
-        explicit JsonContainer(Internals::JsonNode* node)
-        : JsonNodeWrapper(node)
-        {
-        }
+  explicit JsonContainer(Internals::JsonNode *node) : JsonNodeWrapper(node) {}
 
-        size_t size() const;
+  size_t size() const;
 
-        bool operator==(JsonContainer const& other) const;
+  bool operator==(JsonContainer const &other) const;
 
-        size_t printTo(char* buffer, size_t bufferSize) const;
-        virtual size_t printTo(Print& print) const;
+  size_t printTo(char *buffer, size_t bufferSize) const;
+  virtual size_t printTo(Print &print) const;
 
-        size_t prettyPrintTo(char* buffer, size_t bufferSize) const;
-        size_t prettyPrintTo(ArduinoJson::Internals::IndentedPrint& print) const;
-        size_t prettyPrintTo(Print& print) const;
+  size_t prettyPrintTo(char *buffer, size_t bufferSize) const;
+  size_t prettyPrintTo(ArduinoJson::Internals::IndentedPrint &print) const;
+  size_t prettyPrintTo(Print &print) const;
 
-    protected:
+protected:
+  Internals::JsonNodeIterator beginChildren() const {
+    return Internals::JsonNodeIterator(_node ? _node->getContainerChild() : 0);
+  }
 
-        Internals::JsonNodeIterator beginChildren() const
-        {
-            return Internals::JsonNodeIterator(_node ? _node->getContainerChild() : 0);
-        }
+  Internals::JsonNodeIterator endChildren() const {
+    return Internals::JsonNodeIterator(0);
+  }
 
-        Internals::JsonNodeIterator endChildren() const
-        {
-            return Internals::JsonNodeIterator(0);
-        }
-
-        void addChild(Internals::JsonNode*);
-        void removeChild(Internals::JsonNode*);
-        Internals::JsonNode* createNode();
-    };
+  void addChild(Internals::JsonNode *);
+  void removeChild(Internals::JsonNode *);
+  Internals::JsonNode *createNode();
+};
 }

+ 22 - 36
include/ArduinoJson/JsonObject.hpp

@@ -3,40 +3,26 @@
 #include "ArduinoJson/JsonContainer.hpp"
 #include "ArduinoJson/JsonObjectIterator.hpp"
 
-namespace ArduinoJson
-{
-    class JsonObject : public JsonContainer
-    {
-    public:
-
-        JsonObject()
-        {
-        }
-
-        explicit JsonObject(Internals::JsonNode* node)
-            : JsonContainer(node)
-        {
-        }
-
-        JsonValue operator[](const char* key);
-        void remove(const char* key);
-
-        JsonArray createNestedArray(const char* key);
-        JsonObject createNestedObject(const char* key);
-
-        bool success()
-        {
-            return _node && _node->isObject();
-        }
-
-        JsonObjectIterator begin();
-
-        JsonObjectIterator end()
-        {
-            return JsonObjectIterator(0);
-        }
-
-    private:
-        Internals::JsonNode* getOrCreateNodeAt(const char* key);
-    };
+namespace ArduinoJson {
+class JsonObject : public JsonContainer {
+public:
+  JsonObject() {}
+
+  explicit JsonObject(Internals::JsonNode *node) : JsonContainer(node) {}
+
+  JsonValue operator[](const char *key);
+  void remove(const char *key);
+
+  JsonArray createNestedArray(const char *key);
+  JsonObject createNestedObject(const char *key);
+
+  bool success() { return _node && _node->isObject(); }
+
+  JsonObjectIterator begin();
+
+  JsonObjectIterator end() { return JsonObjectIterator(0); }
+
+private:
+  Internals::JsonNode *getOrCreateNodeAt(const char *key);
+};
 }

+ 30 - 43
include/ArduinoJson/JsonObjectIterator.hpp

@@ -2,47 +2,34 @@
 
 #include "ArduinoJson/JsonObjectKeyValue.hpp"
 
-namespace ArduinoJson
-{
-    class JsonObject;
-
-    class JsonObjectIterator
-    {
-        friend class JsonObject;
-
-    public:
-        explicit JsonObjectIterator(Internals::JsonNode* node)
-            : _objectKeyValue(node)
-        {
-        }
-
-        JsonObjectIterator& operator++()
-        {
-            _objectKeyValue = JsonObjectKeyValue(_objectKeyValue.next());
-            return *this;
-        }
-
-        JsonObjectKeyValue operator*() const
-        {
-            return _objectKeyValue;
-        }
-
-        JsonObjectKeyValue* operator->()
-        {
-            return &_objectKeyValue;
-        }
-
-        bool operator==(const JsonObjectIterator& other) const
-        {
-            return _objectKeyValue == other._objectKeyValue;
-        }
-
-        bool operator!=(const JsonObjectIterator& other) const
-        {
-            return _objectKeyValue != other._objectKeyValue;
-        }
-
-    private:
-        JsonObjectKeyValue _objectKeyValue;
-    };
+namespace ArduinoJson {
+class JsonObject;
+
+class JsonObjectIterator {
+  friend class JsonObject;
+
+public:
+  explicit JsonObjectIterator(Internals::JsonNode *node)
+      : _objectKeyValue(node) {}
+
+  JsonObjectIterator &operator++() {
+    _objectKeyValue = JsonObjectKeyValue(_objectKeyValue.next());
+    return *this;
+  }
+
+  JsonObjectKeyValue operator*() const { return _objectKeyValue; }
+
+  JsonObjectKeyValue *operator->() { return &_objectKeyValue; }
+
+  bool operator==(const JsonObjectIterator &other) const {
+    return _objectKeyValue == other._objectKeyValue;
+  }
+
+  bool operator!=(const JsonObjectIterator &other) const {
+    return _objectKeyValue != other._objectKeyValue;
+  }
+
+private:
+  JsonObjectKeyValue _objectKeyValue;
+};
 }

+ 22 - 38
include/ArduinoJson/JsonObjectKeyValue.hpp

@@ -2,42 +2,26 @@
 
 #include "ArduinoJson/JsonValue.hpp"
 
-namespace ArduinoJson
-{
-    class JsonObjectKeyValue
-    {
-    public:
-        explicit JsonObjectKeyValue(Internals::JsonNode* node)
-            : _node(node)
-        {
-        }
-
-        const char* key() const
-        {
-            return _node->getAsObjectKey();
-        }
-
-        JsonValue value()
-        {
-            return JsonValue(_node->getAsObjectValue());
-        }
-
-        bool operator==(const JsonObjectKeyValue& other) const
-        {
-            return _node == other._node;
-        }
-
-        bool operator!=(const JsonObjectKeyValue& other) const
-        {
-            return _node != other._node;
-        }
-
-        Internals::JsonNode* next()
-        {
-            return _node->next;
-        }
-
-    private:
-        Internals::JsonNode* _node;
-    };
+namespace ArduinoJson {
+class JsonObjectKeyValue {
+public:
+  explicit JsonObjectKeyValue(Internals::JsonNode *node) : _node(node) {}
+
+  const char *key() const { return _node->getAsObjectKey(); }
+
+  JsonValue value() { return JsonValue(_node->getAsObjectValue()); }
+
+  bool operator==(const JsonObjectKeyValue &other) const {
+    return _node == other._node;
+  }
+
+  bool operator!=(const JsonObjectKeyValue &other) const {
+    return _node != other._node;
+  }
+
+  Internals::JsonNode *next() { return _node->next; }
+
+private:
+  Internals::JsonNode *_node;
+};
 }

+ 32 - 40
include/ArduinoJson/JsonValue.hpp

@@ -2,44 +2,36 @@
 
 #include "Internals/JsonNodeWrapper.hpp"
 
-namespace ArduinoJson
-{
-    class JsonArray;
-    class JsonContainer;
-    class JsonObject;
-
-    class JsonValue : public Internals::JsonNodeWrapper
-    {
-    public:
-
-        JsonValue() {}
-
-        explicit JsonValue(Internals::JsonNode* node)
-        : JsonNodeWrapper(node)
-        {
-        }
-
-        void operator=(bool);
-        void operator=(const char*);
-        void operator=(double x) { set(x, 2); }
-        void operator=(int);
-        void operator=(const JsonValue& value) { duplicate(value); }
-        void operator=(const Internals::JsonNodeWrapper& object) { duplicate(object); }
-
-        operator bool() const;
-        operator const char*() const;
-        operator double() const;
-        operator long() const;
-        operator int() const { return operator long(); }
-        operator JsonArray() const;
-        operator JsonObject() const;
-
-        void set(double value, int decimals);
-
-        template<typename T>
-        T as()
-        {
-            return static_cast<T>(*this);
-        }
-    };
+namespace ArduinoJson {
+class JsonArray;
+class JsonContainer;
+class JsonObject;
+
+class JsonValue : public Internals::JsonNodeWrapper {
+public:
+  JsonValue() {}
+
+  explicit JsonValue(Internals::JsonNode *node) : JsonNodeWrapper(node) {}
+
+  void operator=(bool);
+  void operator=(const char *);
+  void operator=(double x) { set(x, 2); }
+  void operator=(int);
+  void operator=(const JsonValue &value) { duplicate(value); }
+  void operator=(const Internals::JsonNodeWrapper &object) {
+    duplicate(object);
+  }
+
+  operator bool() const;
+  operator const char *() const;
+  operator double() const;
+  operator long() const;
+  operator int() const { return operator long(); }
+  operator JsonArray() const;
+  operator JsonObject() const;
+
+  void set(double value, int decimals);
+
+  template <typename T> T as() { return static_cast<T>(*this); }
+};
 }

+ 25 - 38
include/ArduinoJson/StaticJsonBuffer.hpp

@@ -3,42 +3,29 @@
 #include "JsonBuffer.hpp"
 #include "JsonObject.hpp"
 
-namespace ArduinoJson
-{
-    template<int CAPACITY>
-    class StaticJsonBuffer : public JsonBuffer
-    {
-        friend class JsonObject;
-
-    public:
-
-        explicit StaticJsonBuffer()
-        : _size(0)
-        {
-        }
-
-        virtual ~StaticJsonBuffer() {}
-
-        int capacity()
-        {
-            return CAPACITY;
-        }
-
-        int size()
-        {
-            return _size;
-        }
-
-    protected:
-        virtual void* allocateNode()
-        {
-            if (_size >= CAPACITY) return 0;
-
-            return &_buffer[_size++];
-        }
-
-    private:
-        Internals::JsonNode _buffer[CAPACITY];
-        int _size;
-    };
+namespace ArduinoJson {
+template <int CAPACITY> class StaticJsonBuffer : public JsonBuffer {
+  friend class JsonObject;
+
+public:
+  explicit StaticJsonBuffer() : _size(0) {}
+
+  virtual ~StaticJsonBuffer() {}
+
+  int capacity() { return CAPACITY; }
+
+  int size() { return _size; }
+
+protected:
+  virtual void *allocateNode() {
+    if (_size >= CAPACITY)
+      return 0;
+
+    return &_buffer[_size++];
+  }
+
+private:
+  Internals::JsonNode _buffer[CAPACITY];
+  int _size;
+};
 }

+ 1 - 0
scripts/format-code.sh

@@ -0,0 +1 @@
+find .. -regex ".*\.[ch]pp$" -exec clang-format -i {} \;

+ 15 - 22
src/Arduino/Print.cpp

@@ -8,33 +8,26 @@
 #include "ArduinoJson/Arduino/Print.hpp"
 #include <cstdio>
 
-size_t Print::print(const char s[])
-{
-    size_t n = 0;
-    while (*s)
-    {
-        n += write(*s++);
-    }
-    return n;
+size_t Print::print(const char s[]) {
+  size_t n = 0;
+  while (*s) {
+    n += write(*s++);
+  }
+  return n;
 }
 
-size_t Print::print(double value, int digits)
-{
-    char tmp[32];
-    sprintf(tmp, "%.*g", digits+1, value);
-    return print(tmp);
+size_t Print::print(double value, int digits) {
+  char tmp[32];
+  sprintf(tmp, "%.*g", digits + 1, value);
+  return print(tmp);
 }
 
-size_t Print::print(long value)
-{
-    char tmp[32];
-    sprintf(tmp, "%ld", value);
-    return print(tmp);
+size_t Print::print(long value) {
+  char tmp[32];
+  sprintf(tmp, "%ld", value);
+  return print(tmp);
 }
 
-size_t Print::println()
-{
-    return write('\r') + write('\n');
-}
+size_t Print::println() { return write('\r') + write('\n'); }
 
 #endif

+ 21 - 26
src/Internals/IndentedPrint.cpp

@@ -2,44 +2,39 @@
 
 using namespace ArduinoJson::Internals;
 
-void IndentedPrint::indent()
-{
-    if (level < MAX_LEVEL)
-        level++;
+void IndentedPrint::indent() {
+  if (level < MAX_LEVEL)
+    level++;
 }
 
-void IndentedPrint::unindent()
-{
-    if (level > 0)
-        level--;
+void IndentedPrint::unindent() {
+  if (level > 0)
+    level--;
 }
 
-void IndentedPrint::setTabSize(uint8_t n)
-{
-    if (n < MAX_TAB_SIZE)
-        tabSize = n;
+void IndentedPrint::setTabSize(uint8_t n) {
+  if (n < MAX_TAB_SIZE)
+    tabSize = n;
 }
 
-size_t IndentedPrint::write(uint8_t c)
-{
-    size_t n = 0;
+size_t IndentedPrint::write(uint8_t c) {
+  size_t n = 0;
 
-    if (isNewLine)
-        n += writeTabs();
+  if (isNewLine)
+    n += writeTabs();
 
-    n += sink->write(c);
+  n += sink->write(c);
 
-    isNewLine = c == '\n';
+  isNewLine = c == '\n';
 
-    return n;
+  return n;
 }
 
-inline size_t IndentedPrint::writeTabs()
-{
-    size_t n = 0;
+inline size_t IndentedPrint::writeTabs() {
+  size_t n = 0;
 
-    for (int i = 0; i < level*tabSize; i++)
-        n += sink->write(' ');
+  for (int i = 0; i < level * tabSize; i++)
+    n += sink->write(' ');
 
-    return n;
+  return n;
 }

+ 108 - 127
src/Internals/JsonNode.cpp

@@ -7,163 +7,144 @@
 
 using namespace ArduinoJson::Internals;
 
-void JsonNode::writeTo(JsonWriter& writer)
-{
-    switch (type)
-    {
-    case JSON_PROXY:
-        content.asProxy.target->writeTo(writer);
-        break;
-
-    case JSON_ARRAY:
-        writeArrayTo(writer);
-        break;
-
-    case JSON_OBJECT:
-        writeObjectTo(writer);
-        break;
-
-    case JSON_STRING:
-        writer.writeString(content.asString);
-        break;
-
-    case JSON_LONG:
-        writer.writeInteger(content.asInteger);
-        break;
-
-    case JSON_BOOLEAN:
-        writer.writeBoolean(content.asBoolean);
-        break;
-
-    default: // >= JSON_DOUBLE_0_DECIMALS
-        writer.writeDouble(content.asDouble, type - JSON_DOUBLE_0_DECIMALS);
-        break;
-    }
+void JsonNode::writeTo(JsonWriter &writer) {
+  switch (type) {
+  case JSON_PROXY:
+    content.asProxy.target->writeTo(writer);
+    break;
+
+  case JSON_ARRAY:
+    writeArrayTo(writer);
+    break;
+
+  case JSON_OBJECT:
+    writeObjectTo(writer);
+    break;
+
+  case JSON_STRING:
+    writer.writeString(content.asString);
+    break;
+
+  case JSON_LONG:
+    writer.writeInteger(content.asInteger);
+    break;
+
+  case JSON_BOOLEAN:
+    writer.writeBoolean(content.asBoolean);
+    break;
+
+  default: // >= JSON_DOUBLE_0_DECIMALS
+    writer.writeDouble(content.asDouble, type - JSON_DOUBLE_0_DECIMALS);
+    break;
+  }
 }
 
-void JsonNode::addChild(JsonNode* childToAdd)
-{
-    if (type == JSON_PROXY) 
-        return content.asProxy.target->addChild(childToAdd);
+void JsonNode::addChild(JsonNode *childToAdd) {
+  if (type == JSON_PROXY)
+    return content.asProxy.target->addChild(childToAdd);
 
-    if (type != JSON_ARRAY && type != JSON_OBJECT) 
-        return;
+  if (type != JSON_ARRAY && type != JSON_OBJECT)
+    return;
 
-    JsonNode* lastChild = content.asContainer.child;
+  JsonNode *lastChild = content.asContainer.child;
 
-    if (!lastChild)
-    {
-        content.asContainer.child = childToAdd;
-        return;
-    }
+  if (!lastChild) {
+    content.asContainer.child = childToAdd;
+    return;
+  }
 
-    while (lastChild->next)
-        lastChild = lastChild->next;
+  while (lastChild->next)
+    lastChild = lastChild->next;
 
-    lastChild->next = childToAdd;
+  lastChild->next = childToAdd;
 }
 
-void JsonNode::removeChild(JsonNode* childToRemove)
-{
-    if (type == JSON_PROXY)
-        return content.asProxy.target->removeChild(childToRemove);
+void JsonNode::removeChild(JsonNode *childToRemove) {
+  if (type == JSON_PROXY)
+    return content.asProxy.target->removeChild(childToRemove);
 
-    if (type != JSON_ARRAY && type != JSON_OBJECT) return;
+  if (type != JSON_ARRAY && type != JSON_OBJECT)
+    return;
 
-    if (content.asContainer.child == childToRemove)
-    {
-        content.asContainer.child = childToRemove->next;
-        return;
-    }
+  if (content.asContainer.child == childToRemove) {
+    content.asContainer.child = childToRemove->next;
+    return;
+  }
 
-    for (JsonNode* child = content.asContainer.child; child; child = child->next)
-    {
-        if (child->next == childToRemove)
-            child->next = childToRemove->next;
-    }
+  for (JsonNode *child = content.asContainer.child; child;
+       child = child->next) {
+    if (child->next == childToRemove)
+      child->next = childToRemove->next;
+  }
 }
 
-void JsonNode::writeArrayTo(JsonWriter& writer)
-{
-    JsonNode* child = content.asContainer.child;
+void JsonNode::writeArrayTo(JsonWriter &writer) {
+  JsonNode *child = content.asContainer.child;
 
-    if (child)
-    {
-        writer.beginArray();
+  if (child) {
+    writer.beginArray();
 
-        for (;;)
-        {
-            child->writeTo(writer);
+    for (;;) {
+      child->writeTo(writer);
 
-            child = child->next;
-            if (!child) break;
-            
-            writer.writeComma();
-        } 
+      child = child->next;
+      if (!child)
+        break;
 
-        writer.endArray();
-    }
-    else
-    {
-        writer.writeEmptyArray();
+      writer.writeComma();
     }
-}
 
-void JsonNode::writeObjectTo(JsonWriter& writer)
-{
-    JsonNode* child = content.asContainer.child;
+    writer.endArray();
+  } else {
+    writer.writeEmptyArray();
+  }
+}
 
-    if (child)
-    {
-        writer.beginObject();
+void JsonNode::writeObjectTo(JsonWriter &writer) {
+  JsonNode *child = content.asContainer.child;
 
-        for (;;)
-        {
-            writer.writeString(child->content.asKeyValue.key);
-            writer.writeColon();
-            child->content.asKeyValue.value->writeTo(writer);
+  if (child) {
+    writer.beginObject();
 
-            child = child->next;
-            if (!child) break;
+    for (;;) {
+      writer.writeString(child->content.asKeyValue.key);
+      writer.writeColon();
+      child->content.asKeyValue.value->writeTo(writer);
 
-            writer.writeComma();
-        }
+      child = child->next;
+      if (!child)
+        break;
 
-        writer.endObject();
-    }
-    else
-    {
-        writer.writeEmptyObject();
+      writer.writeComma();
     }
+
+    writer.endObject();
+  } else {
+    writer.writeEmptyObject();
+  }
 }
 
-void JsonNode::setAsProxyOfSelf()
-{
-    JsonBuffer* buffer = content.asContainer.buffer;
-    if (!buffer) return;
-        
-    JsonNode* newNode = buffer->createNode(); 
-    if (!newNode) return;
+void JsonNode::setAsProxyOfSelf() {
+  JsonBuffer *buffer = content.asContainer.buffer;
+  if (!buffer)
+    return;
 
-    *newNode = *this;
+  JsonNode *newNode = buffer->createNode();
+  if (!newNode)
+    return;
 
-    setAsProxyOf(newNode);
-}
+  *newNode = *this;
 
-void JsonNode::duplicate(JsonNode* other)
-{
-    if (!other)
-    {
-        type = JSON_UNDEFINED;
-    }
-    else  if (other->type == JSON_ARRAY || other->type==JSON_OBJECT)
-    {
-        other->setAsProxyOfSelf();
-        setAsProxyOf(other->content.asProxy.target);
-    }
-    else
-    {
-        *this = *other;
-    }
+  setAsProxyOf(newNode);
 }
 
+void JsonNode::duplicate(JsonNode *other) {
+  if (!other) {
+    type = JSON_UNDEFINED;
+  } else if (other->type == JSON_ARRAY || other->type == JSON_OBJECT) {
+    other->setAsProxyOfSelf();
+    setAsProxyOf(other->content.asProxy.target);
+  } else {
+    *this = *other;
+  }
+}

+ 117 - 130
src/Internals/JsonParser.cpp

@@ -8,176 +8,163 @@
 
 using namespace ArduinoJson::Internals;
 
-void JsonParser::skipSpaces()
-{
-    while(isspace(*_ptr)) _ptr++;
+void JsonParser::skipSpaces() {
+  while (isspace(*_ptr))
+    _ptr++;
 }
 
-bool JsonParser::skip(char charToSkip)
-{
-    skipSpaces();
-    if (*_ptr != charToSkip) return false;
-    _ptr++;
-    skipSpaces();
-    return true;
+bool JsonParser::skip(char charToSkip) {
+  skipSpaces();
+  if (*_ptr != charToSkip)
+    return false;
+  _ptr++;
+  skipSpaces();
+  return true;
 }
 
-JsonNode* JsonParser::parseAnything()
-{
-    skipSpaces();
-
-    switch(*_ptr)
-    {
-        case '[':
-            return parseArray();
-
-        case 't':
-        case 'f':
-            return parseBoolean();
-
-        case '-':
-        case '.':
-        case '0':
-        case '1':
-        case '2':
-        case '3':
-        case '4':
-        case '5':
-        case '6':
-        case '7':
-        case '8':
-        case '9':
-            return parseNumber();
-
-        case 'n':
-            return parseNull();
-
-        case '{':
-            return parseObject();
-
-        case '\'':
-        case '\"':
-            return parseString();
-
-        default:
-            return NULL; // invalid JSON
-    }
+JsonNode *JsonParser::parseAnything() {
+  skipSpaces();
+
+  switch (*_ptr) {
+  case '[':
+    return parseArray();
+
+  case 't':
+  case 'f':
+    return parseBoolean();
+
+  case '-':
+  case '.':
+  case '0':
+  case '1':
+  case '2':
+  case '3':
+  case '4':
+  case '5':
+  case '6':
+  case '7':
+  case '8':
+  case '9':
+    return parseNumber();
+
+  case 'n':
+    return parseNull();
+
+  case '{':
+    return parseObject();
+
+  case '\'':
+  case '\"':
+    return parseString();
+
+  default:
+    return NULL; // invalid JSON
+  }
 }
 
-JsonNode* JsonParser::parseArray()
-{
-    JsonNode* node = _buffer->createArrayNode();
+JsonNode *JsonParser::parseArray() {
+  JsonNode *node = _buffer->createArrayNode();
 
-    skip('[');
+  skip('[');
 
-    if (isEnd())
-        return 0;
+  if (isEnd())
+    return 0;
 
-    if (skip(']'))
-        return node; // empty array
+  if (skip(']'))
+    return node; // empty array
 
-    for(;;)
-    {
-        JsonNode* child = parseAnything();
+  for (;;) {
+    JsonNode *child = parseAnything();
 
-        if (!child)
-            return 0; // child parsing failed
+    if (!child)
+      return 0; // child parsing failed
 
-        node->addChild(child);
+    node->addChild(child);
 
-        if (skip(']'))
-            return node; // end of the array
+    if (skip(']'))
+      return node; // end of the array
 
-        if (!skip(','))
-            return 0; // comma is missing
-    }
+    if (!skip(','))
+      return 0; // comma is missing
+  }
 }
 
-JsonNode *JsonParser::parseBoolean()
-{
-    bool value = *_ptr == 't';
+JsonNode *JsonParser::parseBoolean() {
+  bool value = *_ptr == 't';
 
-    _ptr += value ? 4 : 5;
-    // 4 = strlen("true")
-    // 5 = strlen("false");
+  _ptr += value ? 4 : 5;
+  // 4 = strlen("true")
+  // 5 = strlen("false");
 
-    return _buffer->createBoolNode(value);
+  return _buffer->createBoolNode(value);
 }
 
-JsonNode* JsonParser::parseNumber()
-{
-    char* endOfLong;
-    long longValue = strtol(_ptr, &endOfLong, 10);
-
-    if (*endOfLong == '.') // stopped on a decimal separator
-    {
-        double value = strtod(_ptr, &_ptr);
-        int decimals = _ptr - endOfLong - 1;
-        return _buffer->createDoubleNode(value, decimals);
-    }
-    else
-    {
-        _ptr = endOfLong;
-        return _buffer->createLongNode(longValue);
-    }
+JsonNode *JsonParser::parseNumber() {
+  char *endOfLong;
+  long longValue = strtol(_ptr, &endOfLong, 10);
+
+  if (*endOfLong == '.') // stopped on a decimal separator
+  {
+    double value = strtod(_ptr, &_ptr);
+    int decimals = _ptr - endOfLong - 1;
+    return _buffer->createDoubleNode(value, decimals);
+  } else {
+    _ptr = endOfLong;
+    return _buffer->createLongNode(longValue);
+  }
 }
 
-JsonNode* JsonParser::parseNull()
-{
-    _ptr += 4; // strlen("null")
+JsonNode *JsonParser::parseNull() {
+  _ptr += 4; // strlen("null")
 
-    return _buffer->createStringNode(0);
+  return _buffer->createStringNode(0);
 }
 
-JsonNode* JsonParser::parseObject()
-{
-    JsonNode* node = _buffer->createObjectNode();
+JsonNode *JsonParser::parseObject() {
+  JsonNode *node = _buffer->createObjectNode();
 
-    skip('{');
+  skip('{');
 
-    if (isEnd())
-        return 0; // premature ending
+  if (isEnd())
+    return 0; // premature ending
 
-    if (skip('}'))
-        return node; // empty object
+  if (skip('}'))
+    return node; // empty object
 
-    for(;;)
-    {
-        JsonNode* child = parseObjectKeyValue();
+  for (;;) {
+    JsonNode *child = parseObjectKeyValue();
 
-        if (!child)
-            return 0; // child parsing failed
+    if (!child)
+      return 0; // child parsing failed
 
-        node->addChild(child);
+    node->addChild(child);
 
-        if (skip('}'))
-            return node; // end of the object
+    if (skip('}'))
+      return node; // end of the object
 
-        if (!skip(','))
-            return 0; // comma is missing
-    }
+    if (!skip(','))
+      return 0; // comma is missing
+  }
 }
 
-JsonNode* JsonParser::parseObjectKeyValue()
-{
-    const char* key = QuotedString::extractFrom(_ptr, &_ptr);
+JsonNode *JsonParser::parseObjectKeyValue() {
+  const char *key = QuotedString::extractFrom(_ptr, &_ptr);
 
-    if (!key)
-        return 0; // failed to extract key
+  if (!key)
+    return 0; // failed to extract key
 
-    if (!skip(':'))
-        return 0; // colon is missing
+  if (!skip(':'))
+    return 0; // colon is missing
 
-    JsonNode* value = parseAnything();
+  JsonNode *value = parseAnything();
 
-    if (!value)
-        return 0; // value parsing failed
+  if (!value)
+    return 0; // value parsing failed
 
-    return _buffer->createObjectKeyValueNode(key, value);
+  return _buffer->createObjectKeyValueNode(key, value);
 }
 
-JsonNode* JsonParser::parseString()
-{
-    const char* s = QuotedString::extractFrom(_ptr, &_ptr);
-    return _buffer->createStringNode(s);
+JsonNode *JsonParser::parseString() {
+  const char *s = QuotedString::extractFrom(_ptr, &_ptr);
+  return _buffer->createStringNode(s);
 }

+ 7 - 13
src/Internals/JsonWriter.cpp

@@ -3,22 +3,16 @@
 
 using namespace ArduinoJson::Internals;
 
-void JsonWriter::writeString(char const* value)
-{
-    _length += QuotedString::printTo(value, _sink);
+void JsonWriter::writeString(char const *value) {
+  _length += QuotedString::printTo(value, _sink);
 }
 
-void JsonWriter::writeInteger(long value)
-{
-    _length += _sink->print(value);
-}
+void JsonWriter::writeInteger(long value) { _length += _sink->print(value); }
 
-void JsonWriter::writeBoolean(bool value)
-{
-    _length += _sink->print(value ? "true" : "false");
+void JsonWriter::writeBoolean(bool value) {
+  _length += _sink->print(value ? "true" : "false");
 }
 
-void JsonWriter::writeDouble(double value, int decimals)
-{
-   _length += _sink->print(value, decimals);
+void JsonWriter::writeDouble(double value, int decimals) {
+  _length += _sink->print(value, decimals);
 }

+ 63 - 77
src/Internals/QuotedString.cpp

@@ -7,109 +7,95 @@
 
 using namespace ArduinoJson::Internals;
 
-static inline char getSpecialChar(char c)
-{
-    // Optimized for code size on a 8-bit AVR
+static inline char getSpecialChar(char c) {
+  // Optimized for code size on a 8-bit AVR
 
-    const char* p = "\"\"\\\\\bb\ff\nn\rr\tt\0";
+  const char *p = "\"\"\\\\\bb\ff\nn\rr\tt\0";
 
-    while (p[0] && p[0] != c)
-    {
-        p += 2;
-    }
+  while (p[0] && p[0] != c) {
+    p += 2;
+  }
 
-    return p[1];
+  return p[1];
 }
 
-static inline size_t printCharTo(char c, Print* p)
-{
-    char specialChar = getSpecialChar(c);
+static inline size_t printCharTo(char c, Print *p) {
+  char specialChar = getSpecialChar(c);
 
-    return specialChar != 0
-        ? p->write('\\') + p->write(specialChar)
-        : p->write(c);
+  return specialChar != 0 ? p->write('\\') + p->write(specialChar)
+                          : p->write(c);
 }
 
-size_t QuotedString::printTo(const char* s, Print* p)
-{
-    if (!s) return p->print("null");
-    
-    size_t n = p->write('\"');
+size_t QuotedString::printTo(const char *s, Print *p) {
+  if (!s)
+    return p->print("null");
 
-    while (*s)
-    {
-        n += printCharTo(*s++, p);
-    }
+  size_t n = p->write('\"');
 
-    return n + p->write('\"');
-}
+  while (*s) {
+    n += printCharTo(*s++, p);
+  }
 
-static char unescapeChar(char c)
-{
-    // Optimized for code size on a 8-bit AVR
+  return n + p->write('\"');
+}
 
-    const char* p = "b\bf\fn\nr\rt\t";
+static char unescapeChar(char c) {
+  // Optimized for code size on a 8-bit AVR
 
-    for (;;)
-    {
-        if (p[0] == 0) return c;
-        if (p[0] == c) return p[1];
-        p += 2;
-    }
-}
+  const char *p = "b\bf\fn\nr\rt\t";
 
-static inline bool isQuote(char c)
-{
-    return c == '\"' || c == '\'';
+  for (;;) {
+    if (p[0] == 0)
+      return c;
+    if (p[0] == c)
+      return p[1];
+    p += 2;
+  }
 }
 
-char* QuotedString::extractFrom(char* input, char** endPtr)
-{
-    char firstChar = *input;
+static inline bool isQuote(char c) { return c == '\"' || c == '\''; }
 
-    if (!isQuote(firstChar))
-    {
-        // must start with a quote
-        return 0;
-    }
+char *QuotedString::extractFrom(char *input, char **endPtr) {
+  char firstChar = *input;
 
-    char stopChar = firstChar; // closing quote is the same as opening quote
+  if (!isQuote(firstChar)) {
+    // must start with a quote
+    return 0;
+  }
 
-    char* startPtr = input + 1; // skip the quote
-    char* readPtr = startPtr;
-    char* writePtr = startPtr;
-    char c;
+  char stopChar = firstChar; // closing quote is the same as opening quote
 
-    for (;;)
-    {
-        c = *readPtr++;
+  char *startPtr = input + 1; // skip the quote
+  char *readPtr = startPtr;
+  char *writePtr = startPtr;
+  char c;
 
-        if (c == 0)
-        {
-            // premature ending
-            return 0;
-        }
+  for (;;) {
+    c = *readPtr++;
 
-        if (c == stopChar)
-        {
-            // closing quote
-            break;
-        }
+    if (c == 0) {
+      // premature ending
+      return 0;
+    }
 
-        if (c == '\\')
-        {
-            // replace char
-            c = unescapeChar(*readPtr++);
-        }
+    if (c == stopChar) {
+      // closing quote
+      break;
+    }
 
-        *writePtr++ = c;
+    if (c == '\\') {
+      // replace char
+      c = unescapeChar(*readPtr++);
     }
 
-    // end the string here
-    *writePtr = 0;
+    *writePtr++ = c;
+  }
+
+  // end the string here
+  *writePtr = 0;
 
-    // update end ptr
-    *endPtr = readPtr;
+  // update end ptr
+  *endPtr = readPtr;
 
-    return startPtr;
+  return startPtr;
 }

+ 6 - 6
src/Internals/StringBuilder.cpp

@@ -7,11 +7,11 @@
 
 using namespace ArduinoJson::Internals;
 
-size_t StringBuilder::write(uint8_t c)
-{
-    if (length >= capacity) return 0;
+size_t StringBuilder::write(uint8_t c) {
+  if (length >= capacity)
+    return 0;
 
-    buffer[length++] = c;
-    buffer[length] = 0;
-    return 1;
+  buffer[length++] = c;
+  buffer[length] = 0;
+  return 1;
 }

+ 60 - 66
src/JsonArray.cpp

@@ -5,93 +5,87 @@
 using namespace ArduinoJson;
 using namespace ArduinoJson::Internals;
 
-JsonValue JsonArray::operator[](int index) const
-{
-    for (JsonNodeIterator it = beginChildren(); it != endChildren(); ++it)
-    {
-        if (!index) return JsonValue(*it);
-        index--;
-    }
-
-    return JsonValue();
+JsonValue JsonArray::operator[](int index) const {
+  for (JsonNodeIterator it = beginChildren(); it != endChildren(); ++it) {
+    if (!index)
+      return JsonValue(*it);
+    index--;
+  }
+
+  return JsonValue();
 }
 
-void JsonArray::add(bool value)
-{
-    JsonNode* node = createNode();
-    if (!node) return;
+void JsonArray::add(bool value) {
+  JsonNode *node = createNode();
+  if (!node)
+    return;
 
-    node->setAsBoolean(value);
-    addChild(node);
+  node->setAsBoolean(value);
+  addChild(node);
 }
 
-void JsonArray::add(char const* value)
-{
-    JsonNode* node = createNode();
-    if (!node) return;
+void JsonArray::add(char const *value) {
+  JsonNode *node = createNode();
+  if (!node)
+    return;
 
-    node->setAsString(value);
-    addChild(node);
+  node->setAsString(value);
+  addChild(node);
 }
 
-void JsonArray::add(double value, int decimals)
-{
-    JsonNode* node = createNode();
-    if (!node) return;
+void JsonArray::add(double value, int decimals) {
+  JsonNode *node = createNode();
+  if (!node)
+    return;
 
-    node->setAsDouble(value, decimals);
-    addChild(node);
+  node->setAsDouble(value, decimals);
+  addChild(node);
 }
 
-void JsonArray::add(long value)
-{
-    JsonNode* node = createNode();
-    if (!node) return;
+void JsonArray::add(long value) {
+  JsonNode *node = createNode();
+  if (!node)
+    return;
 
-    node->setAsLong(value);
-    addChild(node);
+  node->setAsLong(value);
+  addChild(node);
 }
 
 // TODO: we should have the same issue as in JsonValue
-void JsonArray::add(JsonContainer nestedContainer)
-{
-    JsonNode* node = createNode();
-    if (!node) return;
+void JsonArray::add(JsonContainer nestedContainer) {
+  JsonNode *node = createNode();
+  if (!node)
+    return;
 
-    node->duplicate(nestedContainer._node);
-    addChild(node);
+  node->duplicate(nestedContainer._node);
+  addChild(node);
 }
 
-JsonArray JsonArray::createNestedArray()
-{
-    JsonNode* node = createNode();
-    
-    if (node)
-    {
-        node->setAsArray(_node->getContainerBuffer());
-        addChild(node);
-    }
-    
-    return JsonArray(node);
+JsonArray JsonArray::createNestedArray() {
+  JsonNode *node = createNode();
+
+  if (node) {
+    node->setAsArray(_node->getContainerBuffer());
+    addChild(node);
+  }
+
+  return JsonArray(node);
 }
 
-JsonObject JsonArray::createNestedObject()
-{
-    JsonNode* node = createNode();
-    
-    if (node)
-    {
-        node->setAsObject(_node->getContainerBuffer());
-        addChild(node);
-    }
-    
-    return JsonObject(node);
+JsonObject JsonArray::createNestedObject() {
+  JsonNode *node = createNode();
+
+  if (node) {
+    node->setAsObject(_node->getContainerBuffer());
+    addChild(node);
+  }
+
+  return JsonObject(node);
 }
 
-JsonArrayIterator JsonArray::begin()
-{
-    if (!_node)
-        return end();
+JsonArrayIterator JsonArray::begin() {
+  if (!_node)
+    return end();
 
-    return JsonArrayIterator(_node->getContainerChild());
+  return JsonArrayIterator(_node->getContainerChild());
 }

+ 52 - 64
src/JsonBuffer.cpp

@@ -9,103 +9,91 @@
 using namespace ArduinoJson;
 using namespace ArduinoJson::Internals;
 
-JsonValue JsonBuffer::createValue()
-{
-    return JsonValue(createNode());
-}
+JsonValue JsonBuffer::createValue() { return JsonValue(createNode()); }
+
+JsonNode *JsonBuffer::createNode() {
+  void *node = allocateNode();
+  if (!node)
+    return 0;
 
-JsonNode* JsonBuffer::createNode()
-{
-    void* node = allocateNode();
-    if (!node) return 0;
-        
-    return new (node) JsonNode();
+  return new (node) JsonNode();
 }
 
-JsonArray JsonBuffer::parseArray(char* json)
-{
-    JsonParser parser(this, json);
-    return JsonArray(parser.parseAnything());
+JsonArray JsonBuffer::parseArray(char *json) {
+  JsonParser parser(this, json);
+  return JsonArray(parser.parseAnything());
 }
 
-JsonObject JsonBuffer::parseObject(char* json)
-{
-    JsonParser parser(this, json);
-    return JsonObject(parser.parseAnything());
+JsonObject JsonBuffer::parseObject(char *json) {
+  JsonParser parser(this, json);
+  return JsonObject(parser.parseAnything());
 }
 
-JsonValue JsonBuffer::parseValue(char* json)
-{
-    JsonParser parser(this, json);
-    return JsonValue(parser.parseAnything());
+JsonValue JsonBuffer::parseValue(char *json) {
+  JsonParser parser(this, json);
+  return JsonValue(parser.parseAnything());
 }
 
-JsonNode* JsonBuffer::createArrayNode()
-{
-    JsonNode* node = createNode();
+JsonNode *JsonBuffer::createArrayNode() {
+  JsonNode *node = createNode();
 
-    if (node)
-        node->setAsArray(this);
+  if (node)
+    node->setAsArray(this);
 
-    return node;
+  return node;
 }
 
-JsonNode* JsonBuffer::createBoolNode(bool value)
-{
-    JsonNode* node = createNode();
+JsonNode *JsonBuffer::createBoolNode(bool value) {
+  JsonNode *node = createNode();
 
-    if (node)
-        node->setAsBoolean(value);
+  if (node)
+    node->setAsBoolean(value);
 
-    return node;
+  return node;
 }
 
-JsonNode* JsonBuffer::createDoubleNode(double value, int decimals)
-{
-    JsonNode* node = createNode();
+JsonNode *JsonBuffer::createDoubleNode(double value, int decimals) {
+  JsonNode *node = createNode();
 
-    if (node)
-        node->setAsDouble(value, decimals);
+  if (node)
+    node->setAsDouble(value, decimals);
 
-    return node;
+  return node;
 }
 
-JsonNode* JsonBuffer::createLongNode(long value)
-{
-    JsonNode* node = createNode();
+JsonNode *JsonBuffer::createLongNode(long value) {
+  JsonNode *node = createNode();
 
-    if (node)
-        node->setAsLong(value);
+  if (node)
+    node->setAsLong(value);
 
-    return node;
+  return node;
 }
 
-JsonNode* JsonBuffer::createObjectNode()
-{
-    JsonNode* node = createNode();
+JsonNode *JsonBuffer::createObjectNode() {
+  JsonNode *node = createNode();
 
-    if (node)
-        node->setAsObject(this);
+  if (node)
+    node->setAsObject(this);
 
-    return node;
+  return node;
 }
 
-Internals::JsonNode* JsonBuffer::createObjectKeyValueNode(const char* key, JsonNode* value)
-{
-     JsonNode* node = createNode();
+Internals::JsonNode *JsonBuffer::createObjectKeyValueNode(const char *key,
+                                                          JsonNode *value) {
+  JsonNode *node = createNode();
 
-    if (node)
-        node->setAsObjectKeyValue(key, value);
+  if (node)
+    node->setAsObjectKeyValue(key, value);
 
-    return node;
+  return node;
 }
 
-JsonNode* JsonBuffer::createStringNode(const char* value)
-{
-    JsonNode* node = createNode();
+JsonNode *JsonBuffer::createStringNode(const char *value) {
+  JsonNode *node = createNode();
 
-    if (node)
-        node->setAsString(value);
+  if (node)
+    node->setAsString(value);
 
-    return node;
+  return node;
 }

+ 42 - 50
src/JsonContainer.cpp

@@ -8,76 +8,68 @@
 using namespace ArduinoJson;
 using namespace ArduinoJson::Internals;
 
-size_t JsonContainer::printTo(char* buffer, size_t bufferSize) const
-{
-    StringBuilder sb(buffer, bufferSize);
-    return printTo(sb);
+size_t JsonContainer::printTo(char *buffer, size_t bufferSize) const {
+  StringBuilder sb(buffer, bufferSize);
+  return printTo(sb);
 }
 
-size_t JsonContainer::printTo(Print& p) const
-{
-    CompactJsonWriter writer(&p);
-    _node->writeTo(writer);
-    return writer.bytesWritten();
+size_t JsonContainer::printTo(Print &p) const {
+  CompactJsonWriter writer(&p);
+  _node->writeTo(writer);
+  return writer.bytesWritten();
 }
 
-size_t JsonContainer::prettyPrintTo(char* buffer, size_t bufferSize) const
-{
-    StringBuilder sb(buffer, bufferSize);
-    return prettyPrintTo(sb);
+size_t JsonContainer::prettyPrintTo(char *buffer, size_t bufferSize) const {
+  StringBuilder sb(buffer, bufferSize);
+  return prettyPrintTo(sb);
 }
 
-size_t JsonContainer::prettyPrintTo(IndentedPrint& p) const
-{
-    PrettyJsonWriter writer(&p);
-    _node->writeTo(writer);
-    return writer.bytesWritten();
+size_t JsonContainer::prettyPrintTo(IndentedPrint &p) const {
+  PrettyJsonWriter writer(&p);
+  _node->writeTo(writer);
+  return writer.bytesWritten();
 }
 
-size_t JsonContainer::prettyPrintTo(Print& print) const
-{
-    IndentedPrint indentedPrint = IndentedPrint(print);
-    return prettyPrintTo(indentedPrint);
+size_t JsonContainer::prettyPrintTo(Print &print) const {
+  IndentedPrint indentedPrint = IndentedPrint(print);
+  return prettyPrintTo(indentedPrint);
 }
 
-JsonNode* JsonContainer::createNode()
-{
-    if (!_node) return 0;
+JsonNode *JsonContainer::createNode() {
+  if (!_node)
+    return 0;
 
-    JsonBuffer* buffer = _node->getContainerBuffer();
-    if (!buffer) return 0;
+  JsonBuffer *buffer = _node->getContainerBuffer();
+  if (!buffer)
+    return 0;
 
-    return buffer->createNode();
+  return buffer->createNode();
 }
 
-bool JsonContainer::operator==(const JsonContainer & other) const
-{
-    if (_node == other._node) return true;
-    if (!_node || !other._node) return false;
-    return _node->getProxyTarget() == other._node->getProxyTarget();
+bool JsonContainer::operator==(const JsonContainer &other) const {
+  if (_node == other._node)
+    return true;
+  if (!_node || !other._node)
+    return false;
+  return _node->getProxyTarget() == other._node->getProxyTarget();
 }
 
-void JsonContainer::addChild(JsonNode* childToAdd)
-{
-    if (_node)
-        _node->addChild(childToAdd);
+void JsonContainer::addChild(JsonNode *childToAdd) {
+  if (_node)
+    _node->addChild(childToAdd);
 }
 
-void JsonContainer::removeChild(JsonNode* childToRemove)
-{
-    if (_node)
-        _node->removeChild(childToRemove);
+void JsonContainer::removeChild(JsonNode *childToRemove) {
+  if (_node)
+    _node->removeChild(childToRemove);
 }
 
-size_t JsonContainer::size() const
-{
-    int n = 0;
+size_t JsonContainer::size() const {
+  int n = 0;
 
-    for (JsonNodeIterator it = beginChildren(); it != endChildren(); ++it)
-    {
-        n++;
-    }
+  for (JsonNodeIterator it = beginChildren(); it != endChildren(); ++it) {
+    n++;
+  }
 
-    return n;
+  return n;
 }
-

+ 39 - 46
src/JsonObject.cpp

@@ -10,69 +10,62 @@
 using namespace ArduinoJson;
 using namespace ArduinoJson::Internals;
 
-JsonValue JsonObject::operator[](char const* key)
-{
-    JsonNode* node = getOrCreateNodeAt(key);
-    return JsonValue(node);
+JsonValue JsonObject::operator[](char const *key) {
+  JsonNode *node = getOrCreateNodeAt(key);
+  return JsonValue(node);
 }
 
-void JsonObject::remove(char const* key)
-{
-    for (JsonNodeIterator it = beginChildren(); it != endChildren(); ++it)
-    {
-        const char* childKey = it->getAsObjectKey();
+void JsonObject::remove(char const *key) {
+  for (JsonNodeIterator it = beginChildren(); it != endChildren(); ++it) {
+    const char *childKey = it->getAsObjectKey();
 
-        if (!strcmp(childKey, key))
-        {
-            removeChild(*it);
-        }
+    if (!strcmp(childKey, key)) {
+      removeChild(*it);
     }
+  }
 }
 
-JsonArray JsonObject::createNestedArray(char const* key)
-{
-    JsonNode* node = getOrCreateNodeAt(key);
+JsonArray JsonObject::createNestedArray(char const *key) {
+  JsonNode *node = getOrCreateNodeAt(key);
 
-    if (node)
-        node->setAsArray(_node->getContainerBuffer());
+  if (node)
+    node->setAsArray(_node->getContainerBuffer());
 
-    return JsonArray(node);
+  return JsonArray(node);
 }
 
-JsonObject JsonObject::createNestedObject(char const* key)
-{
-    JsonNode* node = getOrCreateNodeAt(key);
-    
-    if (node)
-        node->setAsObject(_node->getContainerBuffer());
+JsonObject JsonObject::createNestedObject(char const *key) {
+  JsonNode *node = getOrCreateNodeAt(key);
 
-    return JsonObject(node);
+  if (node)
+    node->setAsObject(_node->getContainerBuffer());
+
+  return JsonObject(node);
 }
 
-JsonNode* JsonObject::getOrCreateNodeAt(const char* key)
-{
-    for (JsonNodeIterator it = beginChildren(); it != endChildren(); ++it)
-    {
-        const char* childKey = it->getAsObjectKey();
+JsonNode *JsonObject::getOrCreateNodeAt(const char *key) {
+  for (JsonNodeIterator it = beginChildren(); it != endChildren(); ++it) {
+    const char *childKey = it->getAsObjectKey();
 
-        if (!strcmp(childKey, key))
-            return it->getAsObjectValue();
-    }
-      
-    JsonNode* newValueNode = createNode();
-    if (!newValueNode) return 0;
-    
-    JsonNode* newKeyNode = createNode();
-    if (!newKeyNode) return 0;
+    if (!strcmp(childKey, key))
+      return it->getAsObjectValue();
+  }
+
+  JsonNode *newValueNode = createNode();
+  if (!newValueNode)
+    return 0;
+
+  JsonNode *newKeyNode = createNode();
+  if (!newKeyNode)
+    return 0;
 
-    newKeyNode->setAsObjectKeyValue(key, newValueNode);
+  newKeyNode->setAsObjectKeyValue(key, newValueNode);
 
-    addChild(newKeyNode);
+  addChild(newKeyNode);
 
-    return newValueNode;
+  return newValueNode;
 }
 
-JsonObjectIterator JsonObject::begin()
-{
-    return JsonObjectIterator(_node->getContainerChild());
+JsonObjectIterator JsonObject::begin() {
+  return JsonObjectIterator(_node->getContainerChild());
 }

+ 20 - 38
src/JsonValue.cpp

@@ -6,56 +6,38 @@
 
 using namespace ArduinoJson;
 
-void JsonValue::operator=(bool value)
-{
-    if (_node)
-        _node->setAsBoolean(value);
+void JsonValue::operator=(bool value) {
+  if (_node)
+    _node->setAsBoolean(value);
 }
 
-void JsonValue::operator=(char const* value)
-{
-    if (_node)
-        _node->setAsString(value);
+void JsonValue::operator=(char const *value) {
+  if (_node)
+    _node->setAsString(value);
 }
 
-void JsonValue::set(double value, int decimals)
-{
-    if (_node)
-        _node->setAsDouble(value, decimals);
+void JsonValue::set(double value, int decimals) {
+  if (_node)
+    _node->setAsDouble(value, decimals);
 }
 
-void JsonValue::operator=(int value)
-{
-    if (_node)
-        _node->setAsLong(value);
+void JsonValue::operator=(int value) {
+  if (_node)
+    _node->setAsLong(value);
 }
 
-JsonValue::operator bool() const
-{
-    return _node ? _node->getAsBoolean() : false;
+JsonValue::operator bool() const {
+  return _node ? _node->getAsBoolean() : false;
 }
 
-JsonValue::operator char const*() const
-{
-    return _node ? _node->getAsString() : 0;
+JsonValue::operator char const *() const {
+  return _node ? _node->getAsString() : 0;
 }
 
-JsonValue::operator double() const
-{
-    return _node ? _node->getAsDouble() : 0;
-}
+JsonValue::operator double() const { return _node ? _node->getAsDouble() : 0; }
 
-JsonValue::operator long() const
-{
-    return _node ? _node->getAsInteger() : 0;
-}
+JsonValue::operator long() const { return _node ? _node->getAsInteger() : 0; }
 
-JsonValue::operator JsonArray() const
-{
-    return JsonArray(_node);
-}
+JsonValue::operator JsonArray() const { return JsonArray(_node); }
 
-JsonValue::operator JsonObject() const
-{
-    return JsonObject(_node);
-}
+JsonValue::operator JsonObject() const { return JsonObject(_node); }

+ 48 - 58
test/Issue10.cpp

@@ -6,75 +6,65 @@
 
 using namespace ArduinoJson;
 
-struct Person 
-{
-    int id;
-    char name[32];
+struct Person {
+  int id;
+  char name[32];
 };
 
-class Issue10 : public testing::Test 
-{
+class Issue10 : public testing::Test {
 protected:
-
-    virtual void SetUp()
-    {
-        Person boss;
-        boss.id = 1;
-        strcpy(boss.name, "Jeff");
-        Person employee;
-        employee.id = 2;
-        strcpy(employee.name, "John");
-        persons[0] = boss;
-        persons[1] = employee;
-    }
-
-    void checkJsonString(JsonContainer& p)
-    {
-        char buffer[256];
-        p.printTo(buffer, sizeof(buffer));
-
-        EXPECT_STREQ("[{\"id\":1,\"name\":\"Jeff\"},{\"id\":2,\"name\":\"John\"}]", buffer);
-    }
-
-    void nodeCountMustBe(int expected)
-    {
-        EXPECT_EQ(expected, json.size());
-    }
-
-    Person persons[2];  
-    StaticJsonBuffer<20> json;    
+  virtual void SetUp() {
+    Person boss;
+    boss.id = 1;
+    strcpy(boss.name, "Jeff");
+    Person employee;
+    employee.id = 2;
+    strcpy(employee.name, "John");
+    persons[0] = boss;
+    persons[1] = employee;
+  }
+
+  void checkJsonString(JsonContainer &p) {
+    char buffer[256];
+    p.printTo(buffer, sizeof(buffer));
+
+    EXPECT_STREQ("[{\"id\":1,\"name\":\"Jeff\"},{\"id\":2,\"name\":\"John\"}]",
+                 buffer);
+  }
+
+  void nodeCountMustBe(int expected) { EXPECT_EQ(expected, json.size()); }
+
+  Person persons[2];
+  StaticJsonBuffer<20> json;
 };
 
-TEST_F(Issue10, PopulateArrayByAddingAnObject)
-{
-    JsonArray array= json.createArray();
+TEST_F(Issue10, PopulateArrayByAddingAnObject) {
+  JsonArray array = json.createArray();
+
+  for (int i = 0; i < 2; i++) {
+    JsonObject object = json.createObject();
 
-    for (int i = 0; i < 2; i++)
-    {
-        JsonObject object = json.createObject();
-        
-        object["id"] = persons[i].id;
-        object["name"] = persons[i].name;
+    object["id"] = persons[i].id;
+    object["name"] = persons[i].name;
 
-        array.add(object); // <- adds a reference to an existing objet (creates 2 extra proxy nodes)
-    }
+    array.add(object); // <- adds a reference to an existing objet (creates 2
+                       // extra proxy nodes)
+  }
 
-    checkJsonString(array);
-    nodeCountMustBe(15);
+  checkJsonString(array);
+  nodeCountMustBe(15);
 }
 
-TEST_F(Issue10, PopulateArrayByCreatingNestedObjects)
-{
-    JsonArray array = json.createArray();
+TEST_F(Issue10, PopulateArrayByCreatingNestedObjects) {
+  JsonArray array = json.createArray();
 
-    for (int i = 0; i < 2; i++) 
-    {
-        JsonObject object = array.createNestedObject();
+  for (int i = 0; i < 2; i++) {
+    JsonObject object = array.createNestedObject();
 
-        object["id"] = persons[i].id;
-        object["name"] = persons[i].name;
-    }
+    object["id"] = persons[i].id;
+    object["name"] = persons[i].name;
+  }
 
-    checkJsonString(array);
-    nodeCountMustBe(11);
+  checkJsonString(array);
+  nodeCountMustBe(11);
 }

+ 85 - 111
test/JsonArray_Container_Tests.cpp

@@ -4,149 +4,123 @@
 
 using namespace ArduinoJson;
 
-class JsonArray_Container_Tests : public ::testing::Test
-{
+class JsonArray_Container_Tests : public ::testing::Test {
 protected:
-    virtual void SetUp()
-    {
-        array = json.createArray();
-    }
-
-    void nodeCountMustBe(int expected)
-    {
-        EXPECT_EQ(expected, json.size());
-    }
-
-    template<typename T>
-    void firstElementMustBe(T expected)
-    {
-        elementAtIndexMustBe(0, expected);
-    }
-
-    template<typename T>
-    void secondElementMustBe(T expected)
-    {
-        elementAtIndexMustBe(1, expected);
-    }
-
-    void sizeMustBe(int expected)
-    {
-        EXPECT_EQ(expected, array.size());
-    }
-
-    StaticJsonBuffer<42> json;
-    JsonArray array;
+  virtual void SetUp() { array = json.createArray(); }
+
+  void nodeCountMustBe(int expected) { EXPECT_EQ(expected, json.size()); }
+
+  template <typename T> void firstElementMustBe(T expected) {
+    elementAtIndexMustBe(0, expected);
+  }
+
+  template <typename T> void secondElementMustBe(T expected) {
+    elementAtIndexMustBe(1, expected);
+  }
+
+  void sizeMustBe(int expected) { EXPECT_EQ(expected, array.size()); }
+
+  StaticJsonBuffer<42> json;
+  JsonArray array;
 
 private:
-    template<typename T>
-    void elementAtIndexMustBe(int index, T expected)
-    {
-        EXPECT_EQ(expected, array[index].as<T>());
-    }
+  template <typename T> void elementAtIndexMustBe(int index, T expected) {
+    EXPECT_EQ(expected, array[index].as<T>());
+  }
 };
 
-TEST_F(JsonArray_Container_Tests, InitialSizeIsZero)
-{
-    sizeMustBe(0);
-    nodeCountMustBe(1);
+TEST_F(JsonArray_Container_Tests, InitialSizeIsZero) {
+  sizeMustBe(0);
+  nodeCountMustBe(1);
 }
 
-TEST_F(JsonArray_Container_Tests, Grow_WhenValuesAreAdded)
-{    
-    array.add("hello");
-    sizeMustBe(1);
-    nodeCountMustBe(2);
+TEST_F(JsonArray_Container_Tests, Grow_WhenValuesAreAdded) {
+  array.add("hello");
+  sizeMustBe(1);
+  nodeCountMustBe(2);
 
-    array.add("world");
-    sizeMustBe(2);
-    nodeCountMustBe(3);    
+  array.add("world");
+  sizeMustBe(2);
+  nodeCountMustBe(3);
 }
 
-TEST_F(JsonArray_Container_Tests, CanStoreIntegers)
-{
-    array.add(123);
-    array.add(456);
+TEST_F(JsonArray_Container_Tests, CanStoreIntegers) {
+  array.add(123);
+  array.add(456);
 
-    firstElementMustBe(123);
-    secondElementMustBe(456);
-    nodeCountMustBe(3);
+  firstElementMustBe(123);
+  secondElementMustBe(456);
+  nodeCountMustBe(3);
 }
 
-TEST_F(JsonArray_Container_Tests, CanStoreDoubles)
-{
-    array.add(123.45);
-    array.add(456.78);
+TEST_F(JsonArray_Container_Tests, CanStoreDoubles) {
+  array.add(123.45);
+  array.add(456.78);
 
-    firstElementMustBe(123.45);
-    secondElementMustBe(456.78);
-    nodeCountMustBe(3);
+  firstElementMustBe(123.45);
+  secondElementMustBe(456.78);
+  nodeCountMustBe(3);
 }
 
-TEST_F(JsonArray_Container_Tests, CanStoreBooleans)
-{
-    array.add(true);
-    array.add(false);
-    
-    firstElementMustBe(true);
-    secondElementMustBe(false);
-    nodeCountMustBe(3);
+TEST_F(JsonArray_Container_Tests, CanStoreBooleans) {
+  array.add(true);
+  array.add(false);
+
+  firstElementMustBe(true);
+  secondElementMustBe(false);
+  nodeCountMustBe(3);
 }
 
-TEST_F(JsonArray_Container_Tests, CanStoreStrings)
-{
-    const char* firstString = "h3110";
-    const char* secondString = "w0r1d";
+TEST_F(JsonArray_Container_Tests, CanStoreStrings) {
+  const char *firstString = "h3110";
+  const char *secondString = "w0r1d";
 
-    array.add(firstString);
-    array.add(secondString);
+  array.add(firstString);
+  array.add(secondString);
 
-    firstElementMustBe(firstString);
-    secondElementMustBe(secondString);
-    nodeCountMustBe(3);
+  firstElementMustBe(firstString);
+  secondElementMustBe(secondString);
+  nodeCountMustBe(3);
 }
 
-TEST_F(JsonArray_Container_Tests, CanStoreNestedArrays)
-{
-    JsonArray innerarray1 = json.createArray();
-    JsonArray innerarray2 = json.createArray();
+TEST_F(JsonArray_Container_Tests, CanStoreNestedArrays) {
+  JsonArray innerarray1 = json.createArray();
+  JsonArray innerarray2 = json.createArray();
 
-    array.add(innerarray1);
-    array.add(innerarray2);
+  array.add(innerarray1);
+  array.add(innerarray2);
 
-    firstElementMustBe(innerarray1);
-    secondElementMustBe(innerarray2);
-    nodeCountMustBe(1 + 3 + 3);
+  firstElementMustBe(innerarray1);
+  secondElementMustBe(innerarray2);
+  nodeCountMustBe(1 + 3 + 3);
 }
 
-TEST_F(JsonArray_Container_Tests, CanStoreNestedObjects)
-{
-    JsonObject innerObject1 = json.createObject();
-    JsonObject innerObject2 = json.createObject();
+TEST_F(JsonArray_Container_Tests, CanStoreNestedObjects) {
+  JsonObject innerObject1 = json.createObject();
+  JsonObject innerObject2 = json.createObject();
 
-    array.add(innerObject1);
-    array.add(innerObject2);
+  array.add(innerObject1);
+  array.add(innerObject2);
 
-    firstElementMustBe(innerObject1);
-    secondElementMustBe(innerObject2);
-    nodeCountMustBe(1 + 3 + 3);
+  firstElementMustBe(innerObject1);
+  secondElementMustBe(innerObject2);
+  nodeCountMustBe(1 + 3 + 3);
 }
 
-TEST_F(JsonArray_Container_Tests, CanCreateNestedArrays)
-{
-    JsonArray innerarray1 = array.createNestedArray();
-    JsonArray innerarray2 = array.createNestedArray();
+TEST_F(JsonArray_Container_Tests, CanCreateNestedArrays) {
+  JsonArray innerarray1 = array.createNestedArray();
+  JsonArray innerarray2 = array.createNestedArray();
 
-    firstElementMustBe(innerarray1);
-    secondElementMustBe(innerarray2);
-    nodeCountMustBe(1 + 1 + 1);
+  firstElementMustBe(innerarray1);
+  secondElementMustBe(innerarray2);
+  nodeCountMustBe(1 + 1 + 1);
 }
 
-TEST_F(JsonArray_Container_Tests, CanCreateNestedObjects)
-{
-    JsonObject innerObject1 = array.createNestedObject();
-    JsonObject innerObject2 = array.createNestedObject();
+TEST_F(JsonArray_Container_Tests, CanCreateNestedObjects) {
+  JsonObject innerObject1 = array.createNestedObject();
+  JsonObject innerObject2 = array.createNestedObject();
 
-    firstElementMustBe(innerObject1);
-    secondElementMustBe(innerObject2);
-    nodeCountMustBe(3);
+  firstElementMustBe(innerObject1);
+  secondElementMustBe(innerObject2);
+  nodeCountMustBe(3);
 }

+ 14 - 15
test/JsonArray_Iterator_Tests.cpp

@@ -4,22 +4,21 @@
 
 using namespace ArduinoJson;
 
-TEST(JsonArray_Iterator_Test, SimpleTest)
-{
-	StaticJsonBuffer<42> jsonBuffer;
+TEST(JsonArray_Iterator_Test, SimpleTest) {
+  StaticJsonBuffer<42> jsonBuffer;
 
-	JsonArray array = jsonBuffer.createArray();
-	array.add(12);
-	array.add(34);
+  JsonArray array = jsonBuffer.createArray();
+  array.add(12);
+  array.add(34);
 
-	JsonArrayIterator it = array.begin();
-	JsonArrayIterator end = array.end();
+  JsonArrayIterator it = array.begin();
+  JsonArrayIterator end = array.end();
 
-	EXPECT_NE(end, it);
-	EXPECT_EQ(12, (*it).as<int>()); // TODO: use ->
-	++it;
-	EXPECT_NE(end, it);
-	EXPECT_EQ(34, (*it).as<int>()); // TODO: use ->
-	++it;
-	EXPECT_EQ(array.end(), it);
+  EXPECT_NE(end, it);
+  EXPECT_EQ(12, (*it).as<int>()); // TODO: use ->
+  ++it;
+  EXPECT_NE(end, it);
+  EXPECT_EQ(34, (*it).as<int>()); // TODO: use ->
+  ++it;
+  EXPECT_EQ(array.end(), it);
 }

+ 47 - 63
test/JsonArray_PrettyPrintTo_Tests.cpp

@@ -11,84 +11,68 @@
 
 using namespace ArduinoJson;
 
-class JsonArray_PrettyPrintTo_Tests : public testing::Test
-{
+class JsonArray_PrettyPrintTo_Tests : public testing::Test {
 protected:
-    JsonArray array;
-    StaticJsonBuffer<30> json;
+  JsonArray array;
+  StaticJsonBuffer<30> json;
 
-    virtual void SetUp()
-    {
-        array = json.createArray();
-    }
+  virtual void SetUp() { array = json.createArray(); }
 
-    void outputMustBe(const char* expected)
-    {
-        size_t n = array.prettyPrintTo(buffer, sizeof(buffer));
-        EXPECT_STREQ(expected, buffer);
-        EXPECT_EQ(strlen(expected), n);
-    }
+  void outputMustBe(const char *expected) {
+    size_t n = array.prettyPrintTo(buffer, sizeof(buffer));
+    EXPECT_STREQ(expected, buffer);
+    EXPECT_EQ(strlen(expected), n);
+  }
 
 private:
-    char buffer[256];
+  char buffer[256];
 };
 
-TEST_F(JsonArray_PrettyPrintTo_Tests, Empty)
-{
-    outputMustBe("[]");
-}
+TEST_F(JsonArray_PrettyPrintTo_Tests, Empty) { outputMustBe("[]"); }
 
-TEST_F(JsonArray_PrettyPrintTo_Tests, OneElement)
-{
-    array.add(1);
+TEST_F(JsonArray_PrettyPrintTo_Tests, OneElement) {
+  array.add(1);
 
-    outputMustBe(
-        "[\r\n"
-        "  1\r\n"
-        "]");
+  outputMustBe("[\r\n"
+               "  1\r\n"
+               "]");
 }
 
-TEST_F(JsonArray_PrettyPrintTo_Tests, TwoElements)
-{
-    array.add(1);
-    array.add(2);
+TEST_F(JsonArray_PrettyPrintTo_Tests, TwoElements) {
+  array.add(1);
+  array.add(2);
 
-    outputMustBe(
-        "[\r\n"
-        "  1,\r\n"
-        "  2\r\n"
-        "]");
+  outputMustBe("[\r\n"
+               "  1,\r\n"
+               "  2\r\n"
+               "]");
 }
 
-TEST_F(JsonArray_PrettyPrintTo_Tests, EmptyNestedArrays)
-{
-    array.createNestedArray();
-    array.createNestedArray();
+TEST_F(JsonArray_PrettyPrintTo_Tests, EmptyNestedArrays) {
+  array.createNestedArray();
+  array.createNestedArray();
 
-    outputMustBe(
-        "[\r\n"
-        "  [],\r\n"
-        "  []\r\n"
-        "]");
+  outputMustBe("[\r\n"
+               "  [],\r\n"
+               "  []\r\n"
+               "]");
 }
 
-TEST_F(JsonArray_PrettyPrintTo_Tests, NestedArrays)
-{
-    JsonArray nested1 = array.createNestedArray();
-    nested1.add(1);
-    nested1.add(2);
-
-    JsonObject nested2 = array.createNestedObject();
-    nested2["key"] = 3;
-
-    outputMustBe(
-        "[\r\n"
-        "  [\r\n"
-        "    1,\r\n"
-        "    2\r\n"
-        "  ],\r\n"
-        "  {\r\n"
-        "    \"key\": 3\r\n"
-        "  }\r\n"
-        "]");
+TEST_F(JsonArray_PrettyPrintTo_Tests, NestedArrays) {
+  JsonArray nested1 = array.createNestedArray();
+  nested1.add(1);
+  nested1.add(2);
+
+  JsonObject nested2 = array.createNestedObject();
+  nested2["key"] = 3;
+
+  outputMustBe("[\r\n"
+               "  [\r\n"
+               "    1,\r\n"
+               "    2\r\n"
+               "  ],\r\n"
+               "  {\r\n"
+               "    \"key\": 3\r\n"
+               "  }\r\n"
+               "]");
 }

+ 65 - 88
test/JsonArray_PrintTo_Tests.cpp

@@ -10,141 +10,118 @@
 
 using namespace ArduinoJson;
 
-class JsonArray_PrintTo_Tests : public testing::Test 
-{
+class JsonArray_PrintTo_Tests : public testing::Test {
 protected:
-    JsonArray array;
-    StaticJsonBuffer<3> json;
+  JsonArray array;
+  StaticJsonBuffer<3> json;
 
-    virtual void SetUp()
-    {
-        array = json.createArray();
-    }
+  virtual void SetUp() { array = json.createArray(); }
 
-    void outputMustBe(const char* expected)
-    {      
-        size_t n = array.printTo(buffer, sizeof(buffer));
-        EXPECT_STREQ(expected, buffer);
-        EXPECT_EQ(strlen(expected), n);
-    }
+  void outputMustBe(const char *expected) {
+    size_t n = array.printTo(buffer, sizeof(buffer));
+    EXPECT_STREQ(expected, buffer);
+    EXPECT_EQ(strlen(expected), n);
+  }
 
 private:
-    char buffer[256];
+  char buffer[256];
 };
 
-TEST_F(JsonArray_PrintTo_Tests, Empty)
-{
-    outputMustBe("[]");
-}
+TEST_F(JsonArray_PrintTo_Tests, Empty) { outputMustBe("[]"); }
 
-TEST_F(JsonArray_PrintTo_Tests, Null)
-{
-    array.add((char*) 0);
+TEST_F(JsonArray_PrintTo_Tests, Null) {
+  array.add((char *)0);
 
-    outputMustBe("[null]");
+  outputMustBe("[null]");
 }
 
-TEST_F(JsonArray_PrintTo_Tests, OneString)
-{
-    array.add("hello");
+TEST_F(JsonArray_PrintTo_Tests, OneString) {
+  array.add("hello");
 
-    outputMustBe("[\"hello\"]");
+  outputMustBe("[\"hello\"]");
 }
 
-TEST_F(JsonArray_PrintTo_Tests, TwoStrings)
-{
-    array.add("hello");
-    array.add("world");
+TEST_F(JsonArray_PrintTo_Tests, TwoStrings) {
+  array.add("hello");
+  array.add("world");
 
-    outputMustBe("[\"hello\",\"world\"]");
+  outputMustBe("[\"hello\",\"world\"]");
 }
 
-TEST_F(JsonArray_PrintTo_Tests, OneStringOverCapacity)
-{
-    array.add("hello");
-    array.add("world");
-    array.add("lost");
+TEST_F(JsonArray_PrintTo_Tests, OneStringOverCapacity) {
+  array.add("hello");
+  array.add("world");
+  array.add("lost");
 
-    outputMustBe("[\"hello\",\"world\"]");
+  outputMustBe("[\"hello\",\"world\"]");
 }
 
-TEST_F(JsonArray_PrintTo_Tests, OneDoubleDefaultDigits)
-{
-    array.add(3.14159265358979323846);
-    outputMustBe("[3.14]");
+TEST_F(JsonArray_PrintTo_Tests, OneDoubleDefaultDigits) {
+  array.add(3.14159265358979323846);
+  outputMustBe("[3.14]");
 }
 
-TEST_F(JsonArray_PrintTo_Tests, OneDoubleFourDigits)
-{
-    array.add(3.14159265358979323846, 4);
-    outputMustBe("[3.1416]");
+TEST_F(JsonArray_PrintTo_Tests, OneDoubleFourDigits) {
+  array.add(3.14159265358979323846, 4);
+  outputMustBe("[3.1416]");
 }
 
-TEST_F(JsonArray_PrintTo_Tests, OneInteger)
-{
-    array.add(1);
+TEST_F(JsonArray_PrintTo_Tests, OneInteger) {
+  array.add(1);
 
-    outputMustBe("[1]");
+  outputMustBe("[1]");
 }
 
-TEST_F(JsonArray_PrintTo_Tests, TwoIntegers)
-{
-    array.add(1);
-    array.add(2);
+TEST_F(JsonArray_PrintTo_Tests, TwoIntegers) {
+  array.add(1);
+  array.add(2);
 
-    outputMustBe("[1,2]");
+  outputMustBe("[1,2]");
 }
 
-TEST_F(JsonArray_PrintTo_Tests, OneIntegerOverCapacity)
-{
-    array.add(1);
-    array.add(2);
-    array.add(3);
+TEST_F(JsonArray_PrintTo_Tests, OneIntegerOverCapacity) {
+  array.add(1);
+  array.add(2);
+  array.add(3);
 
-    outputMustBe("[1,2]");
+  outputMustBe("[1,2]");
 }
 
-TEST_F(JsonArray_PrintTo_Tests, OneTrue)
-{
-    array.add(true);
+TEST_F(JsonArray_PrintTo_Tests, OneTrue) {
+  array.add(true);
 
-    outputMustBe("[true]");
+  outputMustBe("[true]");
 }
 
-TEST_F(JsonArray_PrintTo_Tests, OneFalse)
-{
-    array.add(false);
+TEST_F(JsonArray_PrintTo_Tests, OneFalse) {
+  array.add(false);
 
-    outputMustBe("[false]");
+  outputMustBe("[false]");
 }
 
-TEST_F(JsonArray_PrintTo_Tests, TwoBooleans)
-{
-    array.add(false);
-    array.add(true);
+TEST_F(JsonArray_PrintTo_Tests, TwoBooleans) {
+  array.add(false);
+  array.add(true);
 
-    outputMustBe("[false,true]");
+  outputMustBe("[false,true]");
 }
 
-TEST_F(JsonArray_PrintTo_Tests, OneBooleanOverCapacity)
-{
-    array.add(false);
-    array.add(true);
-    array.add(false);
+TEST_F(JsonArray_PrintTo_Tests, OneBooleanOverCapacity) {
+  array.add(false);
+  array.add(true);
+  array.add(false);
 
-    outputMustBe("[false,true]");
+  outputMustBe("[false,true]");
 }
 
-TEST_F(JsonArray_PrintTo_Tests, OneEmptyNestedArray)
-{
-    array.createNestedArray();
+TEST_F(JsonArray_PrintTo_Tests, OneEmptyNestedArray) {
+  array.createNestedArray();
 
-    outputMustBe("[[]]");
+  outputMustBe("[[]]");
 }
 
-TEST_F(JsonArray_PrintTo_Tests, OneEmptyNestedHash)
-{
-    array.createNestedObject();
+TEST_F(JsonArray_PrintTo_Tests, OneEmptyNestedHash) {
+  array.createNestedObject();
 
-    outputMustBe("[{}]");
+  outputMustBe("[{}]");
 }

+ 63 - 77
test/JsonObject_Container_Tests.cpp

@@ -4,119 +4,105 @@
 
 using namespace ArduinoJson;
 
-class JsonObject_Container_Tests : public ::testing::Test
-{
+class JsonObject_Container_Tests : public ::testing::Test {
 protected:
-    virtual void SetUp() 
-    {
-        object = json.createObject();
-    }
+  virtual void SetUp() { object = json.createObject(); }
 
-    StaticJsonBuffer<42> json;
-    JsonObject object;
+  StaticJsonBuffer<42> json;
+  JsonObject object;
 };
 
-TEST_F(JsonObject_Container_Tests, InitialSizeIsZero)
-{
-    EXPECT_EQ(0, object.size());
+TEST_F(JsonObject_Container_Tests, InitialSizeIsZero) {
+  EXPECT_EQ(0, object.size());
 }
 
-TEST_F(JsonObject_Container_Tests, Grow_WhenValuesAreAdded)
-{   
-    object["hello"];
-    EXPECT_EQ(1, object.size());
+TEST_F(JsonObject_Container_Tests, Grow_WhenValuesAreAdded) {
+  object["hello"];
+  EXPECT_EQ(1, object.size());
 
-    object["world"];
-    EXPECT_EQ(2, object.size());
+  object["world"];
+  EXPECT_EQ(2, object.size());
 }
 
-TEST_F(JsonObject_Container_Tests, DoNotGrow_WhenSameValueIsAdded)
-{
-    object["hello"];
-    EXPECT_EQ(1, object.size());
+TEST_F(JsonObject_Container_Tests, DoNotGrow_WhenSameValueIsAdded) {
+  object["hello"];
+  EXPECT_EQ(1, object.size());
 
-    object["hello"];
-    EXPECT_EQ(1, object.size());
+  object["hello"];
+  EXPECT_EQ(1, object.size());
 }
 
-TEST_F(JsonObject_Container_Tests, Shrink_WhenValuesAreRemoved)
-{
-    object["hello"];
-    object["world"];
+TEST_F(JsonObject_Container_Tests, Shrink_WhenValuesAreRemoved) {
+  object["hello"];
+  object["world"];
 
-    object.remove("hello");
-    EXPECT_EQ(1, object.size());
+  object.remove("hello");
+  EXPECT_EQ(1, object.size());
 
-    object.remove("world");
-    EXPECT_EQ(0, object.size());
+  object.remove("world");
+  EXPECT_EQ(0, object.size());
 }
 
-TEST_F(JsonObject_Container_Tests, DoNotShrink_WhenRemoveIsCalledWithAWrongKey)
-{
-    object["hello"];
-    object["world"];
+TEST_F(JsonObject_Container_Tests,
+       DoNotShrink_WhenRemoveIsCalledWithAWrongKey) {
+  object["hello"];
+  object["world"];
 
-    object.remove(":-P");
+  object.remove(":-P");
 
-    EXPECT_EQ(2, object.size());
+  EXPECT_EQ(2, object.size());
 }
 
-TEST_F(JsonObject_Container_Tests, CanStoreIntegers)
-{
-    object["hello"] = 123;
-    object["world"] = 456;
+TEST_F(JsonObject_Container_Tests, CanStoreIntegers) {
+  object["hello"] = 123;
+  object["world"] = 456;
 
-    EXPECT_EQ(123, (int) object["hello"]);
-    EXPECT_EQ(456, (int) object["world"]);
+  EXPECT_EQ(123, (int)object["hello"]);
+  EXPECT_EQ(456, (int)object["world"]);
 }
 
-TEST_F(JsonObject_Container_Tests, CanStoreDoubles)
-{
-    object["hello"] = 123.45;
-    object["world"] = 456.78;
+TEST_F(JsonObject_Container_Tests, CanStoreDoubles) {
+  object["hello"] = 123.45;
+  object["world"] = 456.78;
 
-    EXPECT_EQ(123.45, (double) object["hello"]);
-    EXPECT_EQ(456.78, (double) object["world"]);
+  EXPECT_EQ(123.45, (double)object["hello"]);
+  EXPECT_EQ(456.78, (double)object["world"]);
 }
 
-TEST_F(JsonObject_Container_Tests, CanStoreBooleans)
-{
-    object["hello"] = true;
-    object["world"] = false;
+TEST_F(JsonObject_Container_Tests, CanStoreBooleans) {
+  object["hello"] = true;
+  object["world"] = false;
 
-    EXPECT_TRUE((bool) object["hello"]);
-    EXPECT_FALSE((bool) object["world"]);
+  EXPECT_TRUE((bool)object["hello"]);
+  EXPECT_FALSE((bool)object["world"]);
 }
 
-TEST_F(JsonObject_Container_Tests, CanStoreStrings)
-{
-    object["hello"] = "h3110";
-    object["world"] = "w0r1d";
+TEST_F(JsonObject_Container_Tests, CanStoreStrings) {
+  object["hello"] = "h3110";
+  object["world"] = "w0r1d";
 
-    EXPECT_STREQ("h3110", (const char*) object["hello"]);
-    EXPECT_STREQ("w0r1d", (const char*) object["world"]);
+  EXPECT_STREQ("h3110", (const char *)object["hello"]);
+  EXPECT_STREQ("w0r1d", (const char *)object["world"]);
 }
 
-TEST_F(JsonObject_Container_Tests, CanStoreInnerArrays)
-{
-    JsonArray innerarray1 = json.createArray();
-    JsonArray innerarray2 = json.createArray();
+TEST_F(JsonObject_Container_Tests, CanStoreInnerArrays) {
+  JsonArray innerarray1 = json.createArray();
+  JsonArray innerarray2 = json.createArray();
 
-    object["hello"] = innerarray1;
-    object["world"] = innerarray2;
+  object["hello"] = innerarray1;
+  object["world"] = innerarray2;
 
-    EXPECT_EQ(innerarray1, (JsonArray) object["hello"]);
-    EXPECT_EQ(innerarray2, (JsonArray) object["world"]);
+  EXPECT_EQ(innerarray1, (JsonArray)object["hello"]);
+  EXPECT_EQ(innerarray2, (JsonArray)object["world"]);
 }
 
-TEST_F(JsonObject_Container_Tests, CanStoreInnerObjects)
-{
-    JsonObject innerObject1 = json.createObject();
-    JsonObject innerObject2 = json.createObject();
+TEST_F(JsonObject_Container_Tests, CanStoreInnerObjects) {
+  JsonObject innerObject1 = json.createObject();
+  JsonObject innerObject2 = json.createObject();
 
-    object["hello"] = innerObject1;
-    object["world"] = innerObject2;
+  object["hello"] = innerObject1;
+  object["world"] = innerObject2;
 
-    EXPECT_EQ(innerObject1, (JsonObject) object["hello"]);
-    EXPECT_EQ(innerObject2, (JsonObject) object["world"]);
+  EXPECT_EQ(innerObject1, (JsonObject)object["hello"]);
+  EXPECT_EQ(innerObject2, (JsonObject)object["world"]);
 }

+ 16 - 16
test/JsonObject_Iterator_Tests.cpp

@@ -4,23 +4,23 @@
 
 using namespace ArduinoJson;
 
-TEST(JsonObject_Iterator_Test, SimpleTest)
-{
-	StaticJsonBuffer<42> jsonBuffer;
+TEST(JsonObject_Iterator_Test, SimpleTest) {
+  StaticJsonBuffer<42> jsonBuffer;
 
-	JsonObject object = jsonBuffer.createObject();
-	object["ab"] = 12;
-	object["cd"] = 34;
+  JsonObject object = jsonBuffer.createObject();
+  object["ab"] = 12;
+  object["cd"] = 34;
 
-	JsonObjectIterator it = object.begin();
-	JsonObjectIterator end = object.end();
+  JsonObjectIterator it = object.begin();
+  JsonObjectIterator end = object.end();
 
-	EXPECT_NE(end, it);
-	EXPECT_STREQ("ab", it->key());
-	EXPECT_EQ(12, it->value().as<int>());	++it;
-	EXPECT_NE(end, it);
-	EXPECT_STREQ("cd", it->key());
-	EXPECT_EQ(34, it->value().as<int>());
-	++it;
-	EXPECT_EQ(object.end(), it);
+  EXPECT_NE(end, it);
+  EXPECT_STREQ("ab", it->key());
+  EXPECT_EQ(12, it->value().as<int>());
+  ++it;
+  EXPECT_NE(end, it);
+  EXPECT_STREQ("cd", it->key());
+  EXPECT_EQ(34, it->value().as<int>());
+  ++it;
+  EXPECT_EQ(object.end(), it);
 }

+ 45 - 61
test/JsonObject_PrettyPrintTo_Tests.cpp

@@ -10,82 +10,66 @@
 
 using namespace ArduinoJson;
 
-class JsonObject_PrettyPrintTo_Tests : public testing::Test
-{
+class JsonObject_PrettyPrintTo_Tests : public testing::Test {
 protected:
-    JsonObject object;
-    StaticJsonBuffer<30> json;
+  JsonObject object;
+  StaticJsonBuffer<30> json;
 
-    virtual void SetUp()
-    {
-        object = json.createObject();
-    }
+  virtual void SetUp() { object = json.createObject(); }
 
-    void outputMustBe(const char* expected)
-    {
-        size_t n = object.prettyPrintTo(buffer, sizeof(buffer));
-        EXPECT_STREQ(expected, buffer);
-        EXPECT_EQ(strlen(expected), n);
-    }
+  void outputMustBe(const char *expected) {
+    size_t n = object.prettyPrintTo(buffer, sizeof(buffer));
+    EXPECT_STREQ(expected, buffer);
+    EXPECT_EQ(strlen(expected), n);
+  }
 
 private:
-    char buffer[256];
+  char buffer[256];
 };
 
-TEST_F(JsonObject_PrettyPrintTo_Tests, EmptyObject)
-{
-    outputMustBe("{}");
-}
+TEST_F(JsonObject_PrettyPrintTo_Tests, EmptyObject) { outputMustBe("{}"); }
 
-TEST_F(JsonObject_PrettyPrintTo_Tests, OneMember)
-{
-    object["key"] = "value";
+TEST_F(JsonObject_PrettyPrintTo_Tests, OneMember) {
+  object["key"] = "value";
 
-    outputMustBe(
-        "{\r\n"
-        "  \"key\": \"value\"\r\n"
-        "}");
+  outputMustBe("{\r\n"
+               "  \"key\": \"value\"\r\n"
+               "}");
 }
 
-TEST_F(JsonObject_PrettyPrintTo_Tests, TwoMembers)
-{
-    object["key1"] = "value1";
-    object["key2"] = "value2";
+TEST_F(JsonObject_PrettyPrintTo_Tests, TwoMembers) {
+  object["key1"] = "value1";
+  object["key2"] = "value2";
 
-    outputMustBe(
-        "{\r\n"
-        "  \"key1\": \"value1\",\r\n"
-        "  \"key2\": \"value2\"\r\n"
-        "}");
+  outputMustBe("{\r\n"
+               "  \"key1\": \"value1\",\r\n"
+               "  \"key2\": \"value2\"\r\n"
+               "}");
 }
 
-TEST_F(JsonObject_PrettyPrintTo_Tests, EmptyNestedContainers)
-{
-    object.createNestedObject("key1");
-    object.createNestedArray("key2");
+TEST_F(JsonObject_PrettyPrintTo_Tests, EmptyNestedContainers) {
+  object.createNestedObject("key1");
+  object.createNestedArray("key2");
 
-    outputMustBe(
-        "{\r\n"
-        "  \"key1\": {},\r\n"
-        "  \"key2\": []\r\n"
-        "}");
+  outputMustBe("{\r\n"
+               "  \"key1\": {},\r\n"
+               "  \"key2\": []\r\n"
+               "}");
 }
 
-TEST_F(JsonObject_PrettyPrintTo_Tests, NestedContainers)
-{
-    JsonObject nested1 = object.createNestedObject("key1");
-    nested1["a"] = 1;
-
-    JsonArray nested2 = object.createNestedArray("key2");
-    nested2.add(2);
-
-    outputMustBe(
-        "{\r\n"
-        "  \"key1\": {\r\n"
-        "    \"a\": 1\r\n"
-        "  },\r\n"
-        "  \"key2\": [\r\n"
-        "    2\r\n"
-        "  ]\r\n"
-        "}");
+TEST_F(JsonObject_PrettyPrintTo_Tests, NestedContainers) {
+  JsonObject nested1 = object.createNestedObject("key1");
+  nested1["a"] = 1;
+
+  JsonArray nested2 = object.createNestedArray("key2");
+  nested2.add(2);
+
+  outputMustBe("{\r\n"
+               "  \"key1\": {\r\n"
+               "    \"a\": 1\r\n"
+               "  },\r\n"
+               "  \"key2\": [\r\n"
+               "    2\r\n"
+               "  ]\r\n"
+               "}");
 }

+ 77 - 102
test/JsonObject_Serialization_Tests.cpp

@@ -6,155 +6,130 @@
 
 using namespace ArduinoJson;
 
-class JsonObject_Serialization_Tests : public testing::Test
-{
+class JsonObject_Serialization_Tests : public testing::Test {
 protected:
-    virtual void SetUp()
-    {
-        object = json.createObject();
-    }
-
-    void outputMustBe(const char* expected)
-    {        
-        char actual[256];
-        int result = object.printTo(actual, sizeof(actual));
-
-        EXPECT_STREQ(expected, actual);
-        EXPECT_EQ(strlen(expected), result);
-    }
-
-    JsonObject object;
-    StaticJsonBuffer<5> json;
+  virtual void SetUp() { object = json.createObject(); }
+
+  void outputMustBe(const char *expected) {
+    char actual[256];
+    int result = object.printTo(actual, sizeof(actual));
+
+    EXPECT_STREQ(expected, actual);
+    EXPECT_EQ(strlen(expected), result);
+  }
+
+  JsonObject object;
+  StaticJsonBuffer<5> json;
 };
 
-TEST_F(JsonObject_Serialization_Tests, EmptyObject)
-{
-    outputMustBe("{}");
-}
+TEST_F(JsonObject_Serialization_Tests, EmptyObject) { outputMustBe("{}"); }
 
-TEST_F(JsonObject_Serialization_Tests, OneString)
-{
-    object["key"] = "value";
+TEST_F(JsonObject_Serialization_Tests, OneString) {
+  object["key"] = "value";
 
-    outputMustBe("{\"key\":\"value\"}");
+  outputMustBe("{\"key\":\"value\"}");
 }
 
-TEST_F(JsonObject_Serialization_Tests, TwoStrings)
-{
-    object["key1"] = "value1";
-    object["key2"] = "value2";
+TEST_F(JsonObject_Serialization_Tests, TwoStrings) {
+  object["key1"] = "value1";
+  object["key2"] = "value2";
 
-    outputMustBe("{\"key1\":\"value1\",\"key2\":\"value2\"}");
+  outputMustBe("{\"key1\":\"value1\",\"key2\":\"value2\"}");
 }
 
-TEST_F(JsonObject_Serialization_Tests, RemoveFirst)
-{
-    object["key1"] = "value1";
-    object["key2"] = "value2";
-    object.remove("key1");
+TEST_F(JsonObject_Serialization_Tests, RemoveFirst) {
+  object["key1"] = "value1";
+  object["key2"] = "value2";
+  object.remove("key1");
 
-    outputMustBe("{\"key2\":\"value2\"}");
+  outputMustBe("{\"key2\":\"value2\"}");
 }
 
-TEST_F(JsonObject_Serialization_Tests, RemoveLast)
-{
-    object["key1"] = "value1";
-    object["key2"] = "value2";
-    object.remove("key2");
+TEST_F(JsonObject_Serialization_Tests, RemoveLast) {
+  object["key1"] = "value1";
+  object["key2"] = "value2";
+  object.remove("key2");
 
-    outputMustBe("{\"key1\":\"value1\"}");
+  outputMustBe("{\"key1\":\"value1\"}");
 }
 
-TEST_F(JsonObject_Serialization_Tests, RemoveUnexistingKey)
-{
-    object["key1"] = "value1";
-    object["key2"] = "value2";
-    object.remove("key3");
+TEST_F(JsonObject_Serialization_Tests, RemoveUnexistingKey) {
+  object["key1"] = "value1";
+  object["key2"] = "value2";
+  object.remove("key3");
 
-    outputMustBe("{\"key1\":\"value1\",\"key2\":\"value2\"}");
+  outputMustBe("{\"key1\":\"value1\",\"key2\":\"value2\"}");
 }
 
-TEST_F(JsonObject_Serialization_Tests, ReplaceExistingKey)
-{
-    object["key"] = "value1";
-    object["key"] = "value2";
+TEST_F(JsonObject_Serialization_Tests, ReplaceExistingKey) {
+  object["key"] = "value1";
+  object["key"] = "value2";
 
-    outputMustBe("{\"key\":\"value2\"}");
+  outputMustBe("{\"key\":\"value2\"}");
 }
 
-TEST_F(JsonObject_Serialization_Tests, OneStringOverCapacity)
-{
-    object["key1"] = "value1";
-    object["key2"] = "value2";
-    object["key3"] = "value3";
+TEST_F(JsonObject_Serialization_Tests, OneStringOverCapacity) {
+  object["key1"] = "value1";
+  object["key2"] = "value2";
+  object["key3"] = "value3";
 
-    outputMustBe("{\"key1\":\"value1\",\"key2\":\"value2\"}");
+  outputMustBe("{\"key1\":\"value1\",\"key2\":\"value2\"}");
 }
 
-TEST_F(JsonObject_Serialization_Tests, OneInteger)
-{
-    object["key"] = 1;
-    outputMustBe("{\"key\":1}");
+TEST_F(JsonObject_Serialization_Tests, OneInteger) {
+  object["key"] = 1;
+  outputMustBe("{\"key\":1}");
 }
 
-TEST_F(JsonObject_Serialization_Tests, OneDoubleFourDigits)
-{
-    object["key"].set(3.14159265358979323846, 4);
-    outputMustBe("{\"key\":3.1416}");
+TEST_F(JsonObject_Serialization_Tests, OneDoubleFourDigits) {
+  object["key"].set(3.14159265358979323846, 4);
+  outputMustBe("{\"key\":3.1416}");
 }
 
-TEST_F(JsonObject_Serialization_Tests, OneDoubleDefaultDigits)
-{
-    object["key"] = 3.14159265358979323846;
-    outputMustBe("{\"key\":3.14}");
+TEST_F(JsonObject_Serialization_Tests, OneDoubleDefaultDigits) {
+  object["key"] = 3.14159265358979323846;
+  outputMustBe("{\"key\":3.14}");
 }
 
-TEST_F(JsonObject_Serialization_Tests, OneNull)
-{
-    object["key"] = (char*) 0;
-    outputMustBe("{\"key\":null}");
+TEST_F(JsonObject_Serialization_Tests, OneNull) {
+  object["key"] = (char *)0;
+  outputMustBe("{\"key\":null}");
 }
 
-TEST_F(JsonObject_Serialization_Tests, OneTrue)
-{
-    object["key"] = true;
-    outputMustBe("{\"key\":true}");
+TEST_F(JsonObject_Serialization_Tests, OneTrue) {
+  object["key"] = true;
+  outputMustBe("{\"key\":true}");
 }
 
-TEST_F(JsonObject_Serialization_Tests, OneFalse)
-{
-    object["key"] = false;
-    outputMustBe("{\"key\":false}");
+TEST_F(JsonObject_Serialization_Tests, OneFalse) {
+  object["key"] = false;
+  outputMustBe("{\"key\":false}");
 }
 
-TEST_F(JsonObject_Serialization_Tests, OneEmptyNestedArrayViaProxy)
-{
-    JsonArray nestedArray = json.createArray();
+TEST_F(JsonObject_Serialization_Tests, OneEmptyNestedArrayViaProxy) {
+  JsonArray nestedArray = json.createArray();
 
-    object["key"] = nestedArray;
+  object["key"] = nestedArray;
 
-    outputMustBe("{\"key\":[]}");
+  outputMustBe("{\"key\":[]}");
 }
 
-TEST_F(JsonObject_Serialization_Tests, OneEmptyNestedObjectViaProxy)
-{
-    JsonObject nestedArray = json.createObject();
+TEST_F(JsonObject_Serialization_Tests, OneEmptyNestedObjectViaProxy) {
+  JsonObject nestedArray = json.createObject();
 
-    object["key"] = nestedArray;
+  object["key"] = nestedArray;
 
-    outputMustBe("{\"key\":{}}");
+  outputMustBe("{\"key\":{}}");
 }
 
-TEST_F(JsonObject_Serialization_Tests, OneEmptyNestedObject)
-{
-    object.createNestedObject("key");
+TEST_F(JsonObject_Serialization_Tests, OneEmptyNestedObject) {
+  object.createNestedObject("key");
 
-    outputMustBe("{\"key\":{}}");
+  outputMustBe("{\"key\":{}}");
 }
 
-TEST_F(JsonObject_Serialization_Tests, OneEmptyNestedArray)
-{
-    object.createNestedArray("key");
+TEST_F(JsonObject_Serialization_Tests, OneEmptyNestedArray) {
+  object.createNestedArray("key");
 
-    outputMustBe("{\"key\":[]}");
+  outputMustBe("{\"key\":[]}");
 }

+ 94 - 122
test/JsonParser_Array_Tests.cpp

@@ -4,164 +4,136 @@
 
 using namespace ArduinoJson;
 
-class JsonParser_Array_Tests : public testing::Test
-{
+class JsonParser_Array_Tests : public testing::Test {
 protected:
-    void whenInputIs(const char *json)
-    {
-        strcpy(_jsonString, json);
-        _array = _jsonBuffer.parseArray(_jsonString);
-    }
-
-    void parseMustSucceed()
-    {
-        EXPECT_TRUE(_array.success());
-    }
-
-    void parseMustFail()
-    {
-        EXPECT_FALSE(_array.success());
-        EXPECT_EQ(0, _array.size());
-    }
-
-    void sizeMustBe(int expected)
-    {
-        EXPECT_EQ(expected, _array.size());
-    }
-
-    template<typename T>
-    void firstElementMustBe(T expected)
-    {
-        elementAtIndexMustBe(0, expected);
-    }
-
-    template<typename T>
-    void secondElementMustBe(T expected)
-    {
-        elementAtIndexMustBe(1, expected);
-    }
-
-    template<typename T>
-    void elementAtIndexMustBe(int index, T expected)
-    {
-        EXPECT_EQ(expected, _array[index].as<T>());
-    }
-
-    void elementAtIndexMustBe(int index, const char* expected)
-    {
-        EXPECT_STREQ(expected, _array[index].as<const char*>());
-    }
-
-    StaticJsonBuffer<42> _jsonBuffer;
-    JsonArray _array;
-    char _jsonString[256];
+  void whenInputIs(const char *json) {
+    strcpy(_jsonString, json);
+    _array = _jsonBuffer.parseArray(_jsonString);
+  }
+
+  void parseMustSucceed() { EXPECT_TRUE(_array.success()); }
+
+  void parseMustFail() {
+    EXPECT_FALSE(_array.success());
+    EXPECT_EQ(0, _array.size());
+  }
+
+  void sizeMustBe(int expected) { EXPECT_EQ(expected, _array.size()); }
+
+  template <typename T> void firstElementMustBe(T expected) {
+    elementAtIndexMustBe(0, expected);
+  }
+
+  template <typename T> void secondElementMustBe(T expected) {
+    elementAtIndexMustBe(1, expected);
+  }
+
+  template <typename T> void elementAtIndexMustBe(int index, T expected) {
+    EXPECT_EQ(expected, _array[index].as<T>());
+  }
+
+  void elementAtIndexMustBe(int index, const char *expected) {
+    EXPECT_STREQ(expected, _array[index].as<const char *>());
+  }
+
+  StaticJsonBuffer<42> _jsonBuffer;
+  JsonArray _array;
+  char _jsonString[256];
 };
 
-TEST_F(JsonParser_Array_Tests, EmptyArray)
-{
-    whenInputIs("[]");
+TEST_F(JsonParser_Array_Tests, EmptyArray) {
+  whenInputIs("[]");
 
-    parseMustSucceed();
-    sizeMustBe(0);
+  parseMustSucceed();
+  sizeMustBe(0);
 }
 
-TEST_F(JsonParser_Array_Tests, ArrayWithNoEnd)
-{
-    whenInputIs("[");
+TEST_F(JsonParser_Array_Tests, ArrayWithNoEnd) {
+  whenInputIs("[");
 
-    parseMustFail();
+  parseMustFail();
 }
 
-TEST_F(JsonParser_Array_Tests, EmptyArrayWithLeadingSpaces)
-{
-    whenInputIs("  []");
+TEST_F(JsonParser_Array_Tests, EmptyArrayWithLeadingSpaces) {
+  whenInputIs("  []");
 
-    parseMustSucceed();
-    sizeMustBe(0);
+  parseMustSucceed();
+  sizeMustBe(0);
 }
 
-TEST_F(JsonParser_Array_Tests, Garbage)
-{
-    whenInputIs("%*$£¤");
+TEST_F(JsonParser_Array_Tests, Garbage) {
+  whenInputIs("%*$£¤");
 
-    parseMustFail();
+  parseMustFail();
 }
 
-TEST_F(JsonParser_Array_Tests, OneInteger)
-{
-    whenInputIs("[42]");
+TEST_F(JsonParser_Array_Tests, OneInteger) {
+  whenInputIs("[42]");
 
-    parseMustSucceed();
-    sizeMustBe(1);
-    firstElementMustBe(42);
+  parseMustSucceed();
+  sizeMustBe(1);
+  firstElementMustBe(42);
 }
 
-TEST_F(JsonParser_Array_Tests, OneIntegerWithSpacesBefore)
-{
-    whenInputIs("[ \t\r\n42]");
+TEST_F(JsonParser_Array_Tests, OneIntegerWithSpacesBefore) {
+  whenInputIs("[ \t\r\n42]");
 
-    parseMustSucceed();
-    sizeMustBe(1);
-    firstElementMustBe(42);
+  parseMustSucceed();
+  sizeMustBe(1);
+  firstElementMustBe(42);
 }
 
-TEST_F(JsonParser_Array_Tests, OneIntegerWithSpaceAfter)
-{
-    whenInputIs("[42 \t\r\n]");
+TEST_F(JsonParser_Array_Tests, OneIntegerWithSpaceAfter) {
+  whenInputIs("[42 \t\r\n]");
 
-    parseMustSucceed();
-    sizeMustBe(1);
-    firstElementMustBe(42);
+  parseMustSucceed();
+  sizeMustBe(1);
+  firstElementMustBe(42);
 }
 
-TEST_F(JsonParser_Array_Tests, TwoIntegers)
-{
-    whenInputIs("[42,84]");
+TEST_F(JsonParser_Array_Tests, TwoIntegers) {
+  whenInputIs("[42,84]");
 
-    parseMustSucceed();
-    sizeMustBe(2);
-    firstElementMustBe(42);
-    secondElementMustBe(84);
+  parseMustSucceed();
+  sizeMustBe(2);
+  firstElementMustBe(42);
+  secondElementMustBe(84);
 }
 
-TEST_F(JsonParser_Array_Tests, TwoDoubles)
-{
-    whenInputIs("[4.2,8.4]");
+TEST_F(JsonParser_Array_Tests, TwoDoubles) {
+  whenInputIs("[4.2,8.4]");
 
-    parseMustSucceed();
-    sizeMustBe(2);
-    firstElementMustBe(4.2);
-    secondElementMustBe(8.4);
+  parseMustSucceed();
+  sizeMustBe(2);
+  firstElementMustBe(4.2);
+  secondElementMustBe(8.4);
 }
 
-TEST_F(JsonParser_Array_Tests, TwoBooleans)
-{
-    whenInputIs("[true,false]");
+TEST_F(JsonParser_Array_Tests, TwoBooleans) {
+  whenInputIs("[true,false]");
 
-    parseMustSucceed();
-    sizeMustBe(2);
-    firstElementMustBe(true);
-    secondElementMustBe(false);
+  parseMustSucceed();
+  sizeMustBe(2);
+  firstElementMustBe(true);
+  secondElementMustBe(false);
 }
 
-TEST_F(JsonParser_Array_Tests, TwoNulls)
-{
-    const char* const nullCharPtr = 0;
+TEST_F(JsonParser_Array_Tests, TwoNulls) {
+  const char *const nullCharPtr = 0;
 
-    whenInputIs("[null,null]");
+  whenInputIs("[null,null]");
 
-    parseMustSucceed();
-    sizeMustBe(2);
-    firstElementMustBe(nullCharPtr);
-    secondElementMustBe(nullCharPtr);
+  parseMustSucceed();
+  sizeMustBe(2);
+  firstElementMustBe(nullCharPtr);
+  secondElementMustBe(nullCharPtr);
 }
 
-TEST_F(JsonParser_Array_Tests, TwoStrings)
-{
-    whenInputIs("[\"hello\",\"world\"]");
+TEST_F(JsonParser_Array_Tests, TwoStrings) {
+  whenInputIs("[\"hello\",\"world\"]");
 
-    parseMustSucceed();
-    sizeMustBe(2);
-    firstElementMustBe("hello");
-    secondElementMustBe("world");
+  parseMustSucceed();
+  sizeMustBe(2);
+  firstElementMustBe("hello");
+  secondElementMustBe("world");
 }

+ 42 - 43
test/JsonParser_Nested_Tests.cpp

@@ -3,49 +3,48 @@
 
 using namespace ArduinoJson;
 
-TEST(JsonParser_Nested_Tests, ArrayNestedInObject)
-{
-    StaticJsonBuffer<42> jsonBuffer;
-    char jsonString[] = " { \"ab\" : [ 1 , 2 ] , \"cd\" : [ 3 , 4 ] } ";
-    
-    JsonObject object = jsonBuffer.parseObject(jsonString);
-    JsonArray array1 = object["ab"];
-    JsonArray array2 = object["cd"];
-    
-    ASSERT_TRUE(object.success());
-    
-    ASSERT_TRUE(array1.success());
-    ASSERT_TRUE(array2.success());
-
-    ASSERT_EQ(2, array1.size());
-    ASSERT_EQ(2, array2.size());
-    
-    EXPECT_EQ(1, array1[0].as<int>());
-    EXPECT_EQ(2, array1[1].as<int>());
-
-    EXPECT_EQ(3, array2[0].as<int>());
-    EXPECT_EQ(4, array2[1].as<int>());
+TEST(JsonParser_Nested_Tests, ArrayNestedInObject) {
+  StaticJsonBuffer<42> jsonBuffer;
+  char jsonString[] = " { \"ab\" : [ 1 , 2 ] , \"cd\" : [ 3 , 4 ] } ";
+
+  JsonObject object = jsonBuffer.parseObject(jsonString);
+  JsonArray array1 = object["ab"];
+  JsonArray array2 = object["cd"];
+
+  ASSERT_TRUE(object.success());
+
+  ASSERT_TRUE(array1.success());
+  ASSERT_TRUE(array2.success());
+
+  ASSERT_EQ(2, array1.size());
+  ASSERT_EQ(2, array2.size());
+
+  EXPECT_EQ(1, array1[0].as<int>());
+  EXPECT_EQ(2, array1[1].as<int>());
+
+  EXPECT_EQ(3, array2[0].as<int>());
+  EXPECT_EQ(4, array2[1].as<int>());
 }
 
-TEST(JsonParser_Nested_Tests, ObjectNestedInArray)
-{
-    StaticJsonBuffer<42> jsonBuffer;
-    char jsonString[] = " [ { \"a\" : 1 , \"b\" : 2 } , { \"c\" : 3 , \"d\" : 4 } ] ";
-    
-    JsonArray array = jsonBuffer.parseArray(jsonString);
-    JsonObject object1 = array[0];
-    JsonObject object2 = array[1];
-    
-    ASSERT_TRUE(array.success());
-    
-    ASSERT_TRUE(object1.success());
-    ASSERT_TRUE(object2.success());
-    
-    ASSERT_EQ(2, object1.size());
-    ASSERT_EQ(2, object2.size());
-    
-    EXPECT_EQ(1, object1["a"].as<int>());
-    EXPECT_EQ(2, object1["b"].as<int>());
-    EXPECT_EQ(3, object2["c"].as<int>());
-    EXPECT_EQ(4, object2["d"].as<int>());
+TEST(JsonParser_Nested_Tests, ObjectNestedInArray) {
+  StaticJsonBuffer<42> jsonBuffer;
+  char jsonString[] =
+      " [ { \"a\" : 1 , \"b\" : 2 } , { \"c\" : 3 , \"d\" : 4 } ] ";
+
+  JsonArray array = jsonBuffer.parseArray(jsonString);
+  JsonObject object1 = array[0];
+  JsonObject object2 = array[1];
+
+  ASSERT_TRUE(array.success());
+
+  ASSERT_TRUE(object1.success());
+  ASSERT_TRUE(object2.success());
+
+  ASSERT_EQ(2, object1.size());
+  ASSERT_EQ(2, object2.size());
+
+  EXPECT_EQ(1, object1["a"].as<int>());
+  EXPECT_EQ(2, object1["b"].as<int>());
+  EXPECT_EQ(3, object2["c"].as<int>());
+  EXPECT_EQ(4, object2["d"].as<int>());
 }

+ 125 - 159
test/JsonParser_Object_Tests.cpp

@@ -4,198 +4,164 @@
 
 using namespace ArduinoJson;
 
-class JsonParser_Object_Test : public testing::Test
-{
+class JsonParser_Object_Test : public testing::Test {
 protected:
+  void whenInputIs(const char *jsonString) {
+    strcpy(_jsonString, jsonString);
+    _object = _jsonBuffer.parseObject(_jsonString);
+  }
 
-	void whenInputIs(const char* jsonString)
-	{
-		strcpy(_jsonString, jsonString);
-		_object = _jsonBuffer.parseObject(_jsonString);
-	}
-
-	void parseMustSucceed()
-	{
-		EXPECT_TRUE(_object.success());
-	}
-
-	void parseMustFail()
-	{
-		EXPECT_FALSE(_object.success());
-	}
-
-	void sizeMustBe(int expected)
-	{
-		EXPECT_EQ(expected, _object.size());
-	}
-
-	void keyMustHaveValue(const char* key, const char* expected)
-	{
-		EXPECT_STREQ(expected, _object[key].as<const char*>());
-	}
-
-	template<typename T>
-	void keyMustHaveValue(const char* key, T expected)
-	{
-		EXPECT_EQ(expected, _object[key].as<T>());
-	}
+  void parseMustSucceed() { EXPECT_TRUE(_object.success()); }
+
+  void parseMustFail() { EXPECT_FALSE(_object.success()); }
+
+  void sizeMustBe(int expected) { EXPECT_EQ(expected, _object.size()); }
+
+  void keyMustHaveValue(const char *key, const char *expected) {
+    EXPECT_STREQ(expected, _object[key].as<const char *>());
+  }
+
+  template <typename T> void keyMustHaveValue(const char *key, T expected) {
+    EXPECT_EQ(expected, _object[key].as<T>());
+  }
 
 private:
-	StaticJsonBuffer<10> _jsonBuffer;
-	JsonObject _object;
-	char _jsonString[256];
+  StaticJsonBuffer<10> _jsonBuffer;
+  JsonObject _object;
+  char _jsonString[256];
 };
 
-TEST_F(JsonParser_Object_Test, EmptyObject)
-{
-    whenInputIs("{}");
-    parseMustSucceed();
-    sizeMustBe(0);
+TEST_F(JsonParser_Object_Test, EmptyObject) {
+  whenInputIs("{}");
+  parseMustSucceed();
+  sizeMustBe(0);
+}
+
+TEST_F(JsonParser_Object_Test, MissingClosingBrace) {
+  whenInputIs("{");
+  parseMustFail();
+  sizeMustBe(0);
 }
 
-TEST_F(JsonParser_Object_Test, MissingClosingBrace)
-{
-	whenInputIs("{");
-	parseMustFail();
-	sizeMustBe(0);
+TEST_F(JsonParser_Object_Test, MissingColonAndValue) {
+  whenInputIs("{\"key\"}");
+  parseMustFail();
+  sizeMustBe(0);
 }
 
-TEST_F(JsonParser_Object_Test, MissingColonAndValue)
-{
-	whenInputIs("{\"key\"}");
-	parseMustFail();
-	sizeMustBe(0);
+TEST_F(JsonParser_Object_Test, MissingQuotesAndColonAndValue) {
+  whenInputIs("{key}");
+  parseMustFail();
+  sizeMustBe(0);
 }
 
-TEST_F(JsonParser_Object_Test, MissingQuotesAndColonAndValue)
-{
-	whenInputIs("{key}");
-	parseMustFail();
-	sizeMustBe(0);
+TEST_F(JsonParser_Object_Test, OneString) {
+  whenInputIs("{\"key\":\"value\"}");
+  parseMustSucceed();
+  sizeMustBe(1);
+  keyMustHaveValue("key", "value");
 }
 
-TEST_F(JsonParser_Object_Test, OneString)
-{
-	whenInputIs("{\"key\":\"value\"}");
-	parseMustSucceed();
-	sizeMustBe(1);
-	keyMustHaveValue("key", "value");
-}
+TEST_F(JsonParser_Object_Test, OneStringSingleQuotes) {
+  whenInputIs("{'key':'value'}");
+  parseMustSucceed();
+  sizeMustBe(1);
+  keyMustHaveValue("key", "value");
+}
+
+TEST_F(JsonParser_Object_Test, OneStringSpaceBeforeKey) {
+  whenInputIs("{ \"key\":\"value\"}");
+  parseMustSucceed();
+  sizeMustBe(1);
+  keyMustHaveValue("key", "value");
+}
 
-TEST_F(JsonParser_Object_Test, OneStringSingleQuotes)
-{
-    whenInputIs("{'key':'value'}");
-    parseMustSucceed();
-    sizeMustBe(1);
-    keyMustHaveValue("key", "value");
+TEST_F(JsonParser_Object_Test, OneStringSpaceAfterKey) {
+  whenInputIs("{\"key\" :\"value\"}");
+  parseMustSucceed();
+  sizeMustBe(1);
+  keyMustHaveValue("key", "value");
 }
 
-TEST_F(JsonParser_Object_Test, OneStringSpaceBeforeKey)
-{
-	whenInputIs("{ \"key\":\"value\"}");
-	parseMustSucceed();
-	sizeMustBe(1);
-	keyMustHaveValue("key", "value");
+TEST_F(JsonParser_Object_Test, OneStringSpaceBeforeValue) {
+  whenInputIs("{\"key\": \"value\"}");
+  parseMustSucceed();
+  sizeMustBe(1);
+  keyMustHaveValue("key", "value");
 }
 
-TEST_F(JsonParser_Object_Test, OneStringSpaceAfterKey)
-{
-	whenInputIs("{\"key\" :\"value\"}");
-	parseMustSucceed();
-	sizeMustBe(1);
-	keyMustHaveValue("key", "value");
+TEST_F(JsonParser_Object_Test, OneStringSpaceAfterValue) {
+  whenInputIs("{\"key\":\"value\" }");
+  parseMustSucceed();
+  sizeMustBe(1);
+  keyMustHaveValue("key", "value");
 }
 
-TEST_F(JsonParser_Object_Test, OneStringSpaceBeforeValue)
-{
-	whenInputIs("{\"key\": \"value\"}");
-	parseMustSucceed();
-	sizeMustBe(1);
-	keyMustHaveValue("key", "value");
+TEST_F(JsonParser_Object_Test, TwoStrings) {
+  whenInputIs("{\"key1\":\"value1\",\"key2\":\"value2\"}");
+  parseMustSucceed();
+  sizeMustBe(2);
+  keyMustHaveValue("key1", "value1");
+  keyMustHaveValue("key2", "value2");
 }
 
-TEST_F(JsonParser_Object_Test, OneStringSpaceAfterValue)
-{
-    whenInputIs("{\"key\":\"value\" }");
-    parseMustSucceed();
-    sizeMustBe(1);
-    keyMustHaveValue("key", "value");
+TEST_F(JsonParser_Object_Test, TwoStringsSpaceBeforeComma) {
+  whenInputIs("{\"key1\":\"value1\" ,\"key2\":\"value2\"}");
+  parseMustSucceed();
+  sizeMustBe(2);
+  keyMustHaveValue("key1", "value1");
+  keyMustHaveValue("key2", "value2");
 }
 
-TEST_F(JsonParser_Object_Test, TwoStrings)
-{
-    whenInputIs("{\"key1\":\"value1\",\"key2\":\"value2\"}");
-    parseMustSucceed();
-    sizeMustBe(2);
-    keyMustHaveValue("key1", "value1");
-    keyMustHaveValue("key2", "value2");
+TEST_F(JsonParser_Object_Test, TwoStringsSpaceAfterComma) {
+  whenInputIs("{\"key1\":\"value1\" ,\"key2\":\"value2\"}");
+  parseMustSucceed();
+  sizeMustBe(2);
+  keyMustHaveValue("key1", "value1");
+  keyMustHaveValue("key2", "value2");
 }
 
-TEST_F(JsonParser_Object_Test, TwoStringsSpaceBeforeComma)
-{
-    whenInputIs("{\"key1\":\"value1\" ,\"key2\":\"value2\"}");
-    parseMustSucceed();
-    sizeMustBe(2);
-    keyMustHaveValue("key1", "value1");
-    keyMustHaveValue("key2", "value2");
+TEST_F(JsonParser_Object_Test, EndingWithAComma) {
+  whenInputIs("{\"key1\":\"value1\",}");
+  parseMustFail();
+  sizeMustBe(0);
 }
 
-TEST_F(JsonParser_Object_Test, TwoStringsSpaceAfterComma)
-{
-    whenInputIs("{\"key1\":\"value1\" ,\"key2\":\"value2\"}");
-    parseMustSucceed();
-    sizeMustBe(2);
-    keyMustHaveValue("key1", "value1");
-    keyMustHaveValue("key2", "value2");
+TEST_F(JsonParser_Object_Test, TwoIntergers) {
+  whenInputIs("{\"key1\":42,\"key2\":-42}");
+  parseMustSucceed();
+  sizeMustBe(2);
+  keyMustHaveValue("key1", 42);
+  keyMustHaveValue("key2", -42);
 }
 
-TEST_F(JsonParser_Object_Test, EndingWithAComma)
-{
-    whenInputIs("{\"key1\":\"value1\",}");
-    parseMustFail();
-    sizeMustBe(0);
-}
+TEST_F(JsonParser_Object_Test, TwoDoubles) {
+  whenInputIs("{\"key1\":12.345,\"key2\":-7.89}");
+  parseMustSucceed();
+  sizeMustBe(2);
+  keyMustHaveValue("key1", 12.345);
+  keyMustHaveValue("key2", -7.89);
+}
 
-TEST_F(JsonParser_Object_Test, TwoIntergers)
-{
-    whenInputIs("{\"key1\":42,\"key2\":-42}");
-    parseMustSucceed();
-    sizeMustBe(2);
-    keyMustHaveValue("key1", 42);
-    keyMustHaveValue("key2", -42);
+TEST_F(JsonParser_Object_Test, TwoBooleans) {
+  whenInputIs("{\"key1\":true,\"key2\":false}");
+  parseMustSucceed();
+  sizeMustBe(2);
+  keyMustHaveValue("key1", true);
+  keyMustHaveValue("key2", false);
 }
 
-TEST_F(JsonParser_Object_Test, TwoDoubles)
-{
-    whenInputIs("{\"key1\":12.345,\"key2\":-7.89}");
-    parseMustSucceed();
-    sizeMustBe(2);
-    keyMustHaveValue("key1", 12.345);
-    keyMustHaveValue("key2", -7.89);
+TEST_F(JsonParser_Object_Test, TwoNulls) {
+  const char *const nullstr = 0;
+
+  whenInputIs("{\"key1\":null,\"key2\":null}");
+  parseMustSucceed();
+  sizeMustBe(2);
+  keyMustHaveValue("key1", nullstr);
+  keyMustHaveValue("key2", nullstr);
 }
-
-TEST_F(JsonParser_Object_Test, TwoBooleans)
-{
-    whenInputIs("{\"key1\":true,\"key2\":false}");
-    parseMustSucceed();
-    sizeMustBe(2);
-    keyMustHaveValue("key1", true);
-    keyMustHaveValue("key2", false);
-}
-
-TEST_F(JsonParser_Object_Test, TwoNulls)
-{
-	const char* const nullstr = 0;
-
-    whenInputIs("{\"key1\":null,\"key2\":null}");
-    parseMustSucceed();
-    sizeMustBe(2);
-    keyMustHaveValue("key1", nullstr);
-    keyMustHaveValue("key2", nullstr);
-}
-
-TEST_F(JsonParser_Object_Test, NullForKey)
-{
-    whenInputIs("null:\"value\"}");
-    parseMustFail();
+
+TEST_F(JsonParser_Object_Test, NullForKey) {
+  whenInputIs("null:\"value\"}");
+  parseMustFail();
 }

+ 60 - 76
test/JsonValueTests.cpp

@@ -4,118 +4,102 @@
 
 using namespace ArduinoJson;
 
-class JsonValueTests : public ::testing::Test
-{
+class JsonValueTests : public ::testing::Test {
 protected:
-    virtual void SetUp()
-    {
-        jsonValue1 = json.createValue();
-        jsonValue2 = json.createValue();
-    }
-
-    StaticJsonBuffer<42> json;
-    JsonValue jsonValue1;
-    JsonValue jsonValue2;
+  virtual void SetUp() {
+    jsonValue1 = json.createValue();
+    jsonValue2 = json.createValue();
+  }
+
+  StaticJsonBuffer<42> json;
+  JsonValue jsonValue1;
+  JsonValue jsonValue2;
 };
 
+TEST_F(JsonValueTests, CanStoreInteger) {
+  jsonValue1 = 123;
 
-TEST_F(JsonValueTests, CanStoreInteger)
-{
-    jsonValue1 = 123;
-
-    EXPECT_EQ(123, (int) jsonValue1);
+  EXPECT_EQ(123, (int)jsonValue1);
 }
 
-TEST_F(JsonValueTests, CanStoreDouble)
-{
-    jsonValue1 = 123.45;
+TEST_F(JsonValueTests, CanStoreDouble) {
+  jsonValue1 = 123.45;
 
-    EXPECT_EQ(123.45, (double) jsonValue1);
+  EXPECT_EQ(123.45, (double)jsonValue1);
 }
 
-TEST_F(JsonValueTests, CanStoreTrue)
-{
-    jsonValue1 = true;
-    EXPECT_TRUE((bool) jsonValue1);
+TEST_F(JsonValueTests, CanStoreTrue) {
+  jsonValue1 = true;
+  EXPECT_TRUE((bool)jsonValue1);
 }
 
-TEST_F(JsonValueTests, CanStoreFalse)
-{
-    jsonValue1 = false;
-    EXPECT_FALSE((bool) jsonValue1);
+TEST_F(JsonValueTests, CanStoreFalse) {
+  jsonValue1 = false;
+  EXPECT_FALSE((bool)jsonValue1);
 }
 
-TEST_F(JsonValueTests, CanStoreString)
-{
-    jsonValue1 = "hello";
- 
-    EXPECT_STREQ("hello", (const char*) jsonValue1);
+TEST_F(JsonValueTests, CanStoreString) {
+  jsonValue1 = "hello";
+
+  EXPECT_STREQ("hello", (const char *)jsonValue1);
 }
 
-TEST_F(JsonValueTests, CanStoreObject)
-{
-    JsonObject innerObject1 = json.createObject();
+TEST_F(JsonValueTests, CanStoreObject) {
+  JsonObject innerObject1 = json.createObject();
 
-    jsonValue1 = innerObject1;
+  jsonValue1 = innerObject1;
 
-    EXPECT_EQ(innerObject1, (JsonObject) jsonValue1);
+  EXPECT_EQ(innerObject1, (JsonObject)jsonValue1);
 }
 
-TEST_F(JsonValueTests, IntegersAreCopiedByValue)
-{
-    jsonValue1 = 123;
-    jsonValue2 = jsonValue1;
-    jsonValue1 = 456;
+TEST_F(JsonValueTests, IntegersAreCopiedByValue) {
+  jsonValue1 = 123;
+  jsonValue2 = jsonValue1;
+  jsonValue1 = 456;
 
-    EXPECT_EQ(123, (int) jsonValue2);
+  EXPECT_EQ(123, (int)jsonValue2);
 }
 
-TEST_F(JsonValueTests, DoublesAreCopiedByValue)
-{
-    jsonValue1 = 123.45;
-    jsonValue2 = jsonValue1;
-    jsonValue1 = 456.78;
+TEST_F(JsonValueTests, DoublesAreCopiedByValue) {
+  jsonValue1 = 123.45;
+  jsonValue2 = jsonValue1;
+  jsonValue1 = 456.78;
 
-    EXPECT_EQ(123.45, (double) jsonValue2);
+  EXPECT_EQ(123.45, (double)jsonValue2);
 }
 
-TEST_F(JsonValueTests, BooleansAreCopiedByValue)
-{
-    jsonValue1 = true;
-    jsonValue2 = jsonValue1;
-    jsonValue1 = false;
+TEST_F(JsonValueTests, BooleansAreCopiedByValue) {
+  jsonValue1 = true;
+  jsonValue2 = jsonValue1;
+  jsonValue1 = false;
 
-    EXPECT_TRUE((bool) jsonValue2);
+  EXPECT_TRUE((bool)jsonValue2);
 }
 
-TEST_F(JsonValueTests, StringsAreCopiedByValue)
-{
-    jsonValue1 = "hello";
-    jsonValue2 = jsonValue1;
-    jsonValue1 = "world";
+TEST_F(JsonValueTests, StringsAreCopiedByValue) {
+  jsonValue1 = "hello";
+  jsonValue2 = jsonValue1;
+  jsonValue1 = "world";
 
-    EXPECT_STREQ("hello", (const char*) jsonValue2);
+  EXPECT_STREQ("hello", (const char *)jsonValue2);
 }
 
+TEST_F(JsonValueTests, ObjectsAreCopiedByReference) {
+  JsonObject object = json.createObject();
 
-TEST_F(JsonValueTests, ObjectsAreCopiedByReference)
-{
-    JsonObject object = json.createObject();
+  jsonValue1 = object;
 
-    jsonValue1 = object;
+  object["hello"] = "world";
 
-    object["hello"] = "world";
-
-    EXPECT_EQ(1, ((JsonObject) jsonValue1).size());
+  EXPECT_EQ(1, ((JsonObject)jsonValue1).size());
 }
 
-TEST_F(JsonValueTests, ArraysAreCopiedByReference)
-{
-    JsonArray array = json.createArray();
+TEST_F(JsonValueTests, ArraysAreCopiedByReference) {
+  JsonArray array = json.createArray();
+
+  jsonValue1 = array;
 
-    jsonValue1 = array;
-    
-    array.add("world");
+  array.add("world");
 
-    EXPECT_EQ(1, ((JsonObject) jsonValue1).size());
+  EXPECT_EQ(1, ((JsonObject)jsonValue1).size());
 }

+ 73 - 98
test/QuotedString_ExtractFrom_Tests.cpp

@@ -3,147 +3,122 @@
 
 using namespace ArduinoJson::Internals;
 
-class QuotedString_ExtractFrom_Tests : public testing::Test
-{
+class QuotedString_ExtractFrom_Tests : public testing::Test {
 protected:
-    void whenInputIs(const char* json)
-    {
-        strcpy(_jsonString, json);
-        _result = QuotedString::extractFrom(_jsonString, &_trailing);
-    }
-
-    void resultMustBe(const char* expected)
-    {
-        EXPECT_STREQ(expected, _result);
-    }
-
-    void trailingMustBe(const char* expected)
-    {
-        EXPECT_STREQ(expected, _trailing);
-    }
+  void whenInputIs(const char *json) {
+    strcpy(_jsonString, json);
+    _result = QuotedString::extractFrom(_jsonString, &_trailing);
+  }
+
+  void resultMustBe(const char *expected) { EXPECT_STREQ(expected, _result); }
+
+  void trailingMustBe(const char *expected) {
+    EXPECT_STREQ(expected, _trailing);
+  }
 
 private:
-    char _jsonString[256];
-    char* _result;
-    char* _trailing;
+  char _jsonString[256];
+  char *_result;
+  char *_trailing;
 };
 
+TEST_F(QuotedString_ExtractFrom_Tests, EmptyDoubleQuotedString) {
+  whenInputIs("\"\"");
 
-TEST_F(QuotedString_ExtractFrom_Tests, EmptyDoubleQuotedString)
-{
-    whenInputIs("\"\"");
-
-    resultMustBe("");
-    trailingMustBe("");
+  resultMustBe("");
+  trailingMustBe("");
 }
 
-TEST_F(QuotedString_ExtractFrom_Tests, NoQuotes)
-{
-    whenInputIs("hello world");
+TEST_F(QuotedString_ExtractFrom_Tests, NoQuotes) {
+  whenInputIs("hello world");
 
-    resultMustBe(0);
+  resultMustBe(0);
 }
 
-TEST_F(QuotedString_ExtractFrom_Tests, EmptySingleQuotedString)
-{
-    whenInputIs("''");
+TEST_F(QuotedString_ExtractFrom_Tests, EmptySingleQuotedString) {
+  whenInputIs("''");
 
-    resultMustBe("");
-    trailingMustBe("");
+  resultMustBe("");
+  trailingMustBe("");
 }
 
-TEST_F(QuotedString_ExtractFrom_Tests, SimpleDoubleQuotedString)
-{
-    whenInputIs("\"hello world\"");
+TEST_F(QuotedString_ExtractFrom_Tests, SimpleDoubleQuotedString) {
+  whenInputIs("\"hello world\"");
 
-    resultMustBe("hello world");
-    trailingMustBe("");
+  resultMustBe("hello world");
+  trailingMustBe("");
 }
 
-TEST_F(QuotedString_ExtractFrom_Tests, DoubleQuotedStringWithTrailing)
-{
-    whenInputIs("\"hello\" world");
+TEST_F(QuotedString_ExtractFrom_Tests, DoubleQuotedStringWithTrailing) {
+  whenInputIs("\"hello\" world");
 
-    resultMustBe("hello");
-    trailingMustBe(" world");
+  resultMustBe("hello");
+  trailingMustBe(" world");
 }
 
-TEST_F(QuotedString_ExtractFrom_Tests, SingleQuotedStringWithTrailing)
-{
-    whenInputIs("'hello' world");
+TEST_F(QuotedString_ExtractFrom_Tests, SingleQuotedStringWithTrailing) {
+  whenInputIs("'hello' world");
 
-    resultMustBe("hello");
-    trailingMustBe(" world");
+  resultMustBe("hello");
+  trailingMustBe(" world");
 }
 
-TEST_F(QuotedString_ExtractFrom_Tests, CurlyBraces)
-{
-    whenInputIs("\"{hello:world}\"");
-    resultMustBe("{hello:world}");
+TEST_F(QuotedString_ExtractFrom_Tests, CurlyBraces) {
+  whenInputIs("\"{hello:world}\"");
+  resultMustBe("{hello:world}");
 }
 
-TEST_F(QuotedString_ExtractFrom_Tests, SquareBraquets)
-{
-    whenInputIs("\"[hello,world]\"");
-    resultMustBe("[hello,world]");
+TEST_F(QuotedString_ExtractFrom_Tests, SquareBraquets) {
+  whenInputIs("\"[hello,world]\"");
+  resultMustBe("[hello,world]");
 }
 
-TEST_F(QuotedString_ExtractFrom_Tests, EscapedDoubleQuote)
-{
-    whenInputIs("\"hello \\\"world\\\"\"");
-    resultMustBe("hello \"world\"");
+TEST_F(QuotedString_ExtractFrom_Tests, EscapedDoubleQuote) {
+  whenInputIs("\"hello \\\"world\\\"\"");
+  resultMustBe("hello \"world\"");
 }
 
-TEST_F(QuotedString_ExtractFrom_Tests, EscapedSingleQuote)
-{
-    whenInputIs("\"hello \\\'world\\\'\"");
-    resultMustBe("hello 'world'");
+TEST_F(QuotedString_ExtractFrom_Tests, EscapedSingleQuote) {
+  whenInputIs("\"hello \\\'world\\\'\"");
+  resultMustBe("hello 'world'");
 }
 
-TEST_F(QuotedString_ExtractFrom_Tests, EscapedSolidus)
-{
-    whenInputIs("\"hello \\/world\\/\"");
-    resultMustBe("hello /world/");
+TEST_F(QuotedString_ExtractFrom_Tests, EscapedSolidus) {
+  whenInputIs("\"hello \\/world\\/\"");
+  resultMustBe("hello /world/");
 }
 
-TEST_F(QuotedString_ExtractFrom_Tests, EscapedReverseSolidus)
-{
-    whenInputIs("\"hello \\\\world\\\\\"");
-    resultMustBe("hello \\world\\");
+TEST_F(QuotedString_ExtractFrom_Tests, EscapedReverseSolidus) {
+  whenInputIs("\"hello \\\\world\\\\\"");
+  resultMustBe("hello \\world\\");
 }
 
-TEST_F(QuotedString_ExtractFrom_Tests, EscapedBackspace)
-{
-    whenInputIs("\"hello \\bworld\\b\"");
-    resultMustBe("hello \bworld\b");
+TEST_F(QuotedString_ExtractFrom_Tests, EscapedBackspace) {
+  whenInputIs("\"hello \\bworld\\b\"");
+  resultMustBe("hello \bworld\b");
 }
 
-TEST_F(QuotedString_ExtractFrom_Tests, EscapedFormfeed)
-{
-    whenInputIs("\"hello \\fworld\\f\"");
-    resultMustBe("hello \fworld\f");
+TEST_F(QuotedString_ExtractFrom_Tests, EscapedFormfeed) {
+  whenInputIs("\"hello \\fworld\\f\"");
+  resultMustBe("hello \fworld\f");
 }
 
-TEST_F(QuotedString_ExtractFrom_Tests, EscapedNewline)
-{
-    whenInputIs("\"hello \\nworld\\n\"");
-    resultMustBe("hello \nworld\n");
+TEST_F(QuotedString_ExtractFrom_Tests, EscapedNewline) {
+  whenInputIs("\"hello \\nworld\\n\"");
+  resultMustBe("hello \nworld\n");
 }
 
-TEST_F(QuotedString_ExtractFrom_Tests, EscapedCarriageReturn)
-{
-    whenInputIs("\"hello \\rworld\\r\"");
-    resultMustBe("hello \rworld\r");
+TEST_F(QuotedString_ExtractFrom_Tests, EscapedCarriageReturn) {
+  whenInputIs("\"hello \\rworld\\r\"");
+  resultMustBe("hello \rworld\r");
 }
 
-TEST_F(QuotedString_ExtractFrom_Tests, EscapedTab)
-{
-    whenInputIs("\"hello \\tworld\\t\"");
-    resultMustBe("hello \tworld\t");
+TEST_F(QuotedString_ExtractFrom_Tests, EscapedTab) {
+  whenInputIs("\"hello \\tworld\\t\"");
+  resultMustBe("hello \tworld\t");
 }
 
-TEST_F(QuotedString_ExtractFrom_Tests, AllEscapedCharsTogether)
-{
-    whenInputIs("\"1\\\"2\\\\3\\/4\\b5\\f6\\n7\\r8\\t9\"");
-    resultMustBe("1\"2\\3/4\b5\f6\n7\r8\t9");
+TEST_F(QuotedString_ExtractFrom_Tests, AllEscapedCharsTogether) {
+  whenInputIs("\"1\\\"2\\\\3\\/4\\b5\\f6\\n7\\r8\\t9\"");
+  resultMustBe("1\"2\\3/4\b5\f6\n7\r8\t9");
 }

+ 41 - 54
test/QuotedString_PrintTo_Tests.cpp

@@ -5,82 +5,69 @@
 
 using namespace ArduinoJson::Internals;
 
-class QuotedString_PrintTo_Tests : public testing::Test
-{
+class QuotedString_PrintTo_Tests : public testing::Test {
 protected:
-    void whenInputIs(const char* input)
-    {
-        StringBuilder sb(buffer, sizeof(buffer));  
-        returnValue = QuotedString::printTo(input, &sb);
-    }
+  void whenInputIs(const char *input) {
+    StringBuilder sb(buffer, sizeof(buffer));
+    returnValue = QuotedString::printTo(input, &sb);
+  }
 
-    void outputMustBe(const char* expected)
-    {
-        EXPECT_STREQ(expected, buffer);
-        EXPECT_EQ(strlen(expected), returnValue);
-    }
+  void outputMustBe(const char *expected) {
+    EXPECT_STREQ(expected, buffer);
+    EXPECT_EQ(strlen(expected), returnValue);
+  }
 
 private:
-    char buffer[1024];
-    size_t returnValue;
+  char buffer[1024];
+  size_t returnValue;
 };
 
-TEST_F(QuotedString_PrintTo_Tests, Null)
-{
-    whenInputIs(0);
-    outputMustBe("null");
+TEST_F(QuotedString_PrintTo_Tests, Null) {
+  whenInputIs(0);
+  outputMustBe("null");
 }
 
-TEST_F(QuotedString_PrintTo_Tests, EmptyString)
-{
-    whenInputIs("");
-    outputMustBe("\"\"");
+TEST_F(QuotedString_PrintTo_Tests, EmptyString) {
+  whenInputIs("");
+  outputMustBe("\"\"");
 }
 
-TEST_F(QuotedString_PrintTo_Tests, QuotationMark)
-{
-    whenInputIs("\"");
-    outputMustBe("\"\\\"\"");
+TEST_F(QuotedString_PrintTo_Tests, QuotationMark) {
+  whenInputIs("\"");
+  outputMustBe("\"\\\"\"");
 }
 
-TEST_F(QuotedString_PrintTo_Tests, ReverseSolidus)
-{
-    whenInputIs("\\");
-    outputMustBe("\"\\\\\"");
+TEST_F(QuotedString_PrintTo_Tests, ReverseSolidus) {
+  whenInputIs("\\");
+  outputMustBe("\"\\\\\"");
 }
 
-TEST_F(QuotedString_PrintTo_Tests, Solidus)
-{
-    whenInputIs("/");
-    outputMustBe("\"/\""); // but the JSON format allows \/
+TEST_F(QuotedString_PrintTo_Tests, Solidus) {
+  whenInputIs("/");
+  outputMustBe("\"/\""); // but the JSON format allows \/
 }
 
-TEST_F(QuotedString_PrintTo_Tests, Backspace)
-{
-    whenInputIs("\b");
-    outputMustBe("\"\\b\"");
+TEST_F(QuotedString_PrintTo_Tests, Backspace) {
+  whenInputIs("\b");
+  outputMustBe("\"\\b\"");
 }
 
-TEST_F(QuotedString_PrintTo_Tests, Formfeed)
-{
-    whenInputIs("\f");
-    outputMustBe("\"\\f\"");
+TEST_F(QuotedString_PrintTo_Tests, Formfeed) {
+  whenInputIs("\f");
+  outputMustBe("\"\\f\"");
 }
 
-TEST_F(QuotedString_PrintTo_Tests, Newline)
-{
-    whenInputIs("\n");
-    outputMustBe("\"\\n\"");
+TEST_F(QuotedString_PrintTo_Tests, Newline) {
+  whenInputIs("\n");
+  outputMustBe("\"\\n\"");
 }
 
-TEST_F(QuotedString_PrintTo_Tests, CarriageReturn)
-{
-    whenInputIs("\r");
-    outputMustBe("\"\\r\"");
+TEST_F(QuotedString_PrintTo_Tests, CarriageReturn) {
+  whenInputIs("\r");
+  outputMustBe("\"\\r\"");
 }
 
-TEST_F(QuotedString_PrintTo_Tests, HorizontalTab)
-{
-    whenInputIs("\t");
-    outputMustBe("\"\\t\"");
+TEST_F(QuotedString_PrintTo_Tests, HorizontalTab) {
+  whenInputIs("\t");
+  outputMustBe("\"\\t\"");
 }

+ 42 - 44
test/StaticJsonBufferTests.cpp

@@ -4,68 +4,66 @@
 
 using namespace ArduinoJson;
 
-TEST(StaticJsonBuffer, CapacityMatchTemplateParameter)
-{
-    StaticJsonBuffer<42> json;   
-    EXPECT_EQ(42, json.capacity());
+TEST(StaticJsonBuffer, CapacityMatchTemplateParameter) {
+  StaticJsonBuffer<42> json;
+  EXPECT_EQ(42, json.capacity());
 }
 
-TEST(StaticJsonBuffer, InitialSizeIsZero)
-{
-    StaticJsonBuffer<42> json;
-    EXPECT_EQ(0, json.size());
+TEST(StaticJsonBuffer, InitialSizeIsZero) {
+  StaticJsonBuffer<42> json;
+  EXPECT_EQ(0, json.size());
 }
 
-TEST(StaticJsonBuffer, WhenCreateObjectIsCalled_ThenSizeIsIncreasedByOne)
-{
-    StaticJsonBuffer<42> json;
+TEST(StaticJsonBuffer, WhenCreateObjectIsCalled_ThenSizeIsIncreasedByOne) {
+  StaticJsonBuffer<42> json;
 
-    json.createObject();
-    EXPECT_EQ(1, json.size());
-    
-    json.createObject();
-    EXPECT_EQ(2, json.size());
+  json.createObject();
+  EXPECT_EQ(1, json.size());
+
+  json.createObject();
+  EXPECT_EQ(2, json.size());
 }
 
-TEST(StaticJsonBuffer, GivenBufferIsFull_WhenCreateObjectIsCalled_ThenSizeDoesNotChange)
-{
-    StaticJsonBuffer<1> json;
+TEST(StaticJsonBuffer,
+     GivenBufferIsFull_WhenCreateObjectIsCalled_ThenSizeDoesNotChange) {
+  StaticJsonBuffer<1> json;
 
-    json.createObject();
-    EXPECT_EQ(1, json.size());
+  json.createObject();
+  EXPECT_EQ(1, json.size());
 
-    json.createObject();
-    EXPECT_EQ(1, json.size());
+  json.createObject();
+  EXPECT_EQ(1, json.size());
 }
 
-TEST(StaticJsonBuffer, WhenCreateObjectIsCalled_ThenAnEmptyJsonObjectIsReturned)
-{
-    StaticJsonBuffer<42> json;
+TEST(StaticJsonBuffer,
+     WhenCreateObjectIsCalled_ThenAnEmptyJsonObjectIsReturned) {
+  StaticJsonBuffer<42> json;
 
-    JsonObject obj = json.createObject();
-    EXPECT_EQ(0, obj.size());
+  JsonObject obj = json.createObject();
+  EXPECT_EQ(0, obj.size());
 }
 
-TEST(StaticJsonBuffer, GivenAJsonObject_WhenValuesAreAdded_ThenSizeIsIncreasedByTwo)
-{
-    StaticJsonBuffer<42> json;
-    JsonObject obj = json.createObject();    
+TEST(StaticJsonBuffer,
+     GivenAJsonObject_WhenValuesAreAdded_ThenSizeIsIncreasedByTwo) {
+  StaticJsonBuffer<42> json;
+  JsonObject obj = json.createObject();
 
-    obj["hello"]; 
-    EXPECT_EQ(3, json.size());
+  obj["hello"];
+  EXPECT_EQ(3, json.size());
 
-    obj["world"];
-    EXPECT_EQ(5, json.size());
+  obj["world"];
+  EXPECT_EQ(5, json.size());
 }
 
-TEST(StaticJsonBuffer, GivenAJsonObject_WhenSameValuesAreAddedTwice_ThenSizeIsOnlyIncreasedByTwo)
-{
-    StaticJsonBuffer<42> json;
-    JsonObject obj = json.createObject();
+TEST(
+    StaticJsonBuffer,
+    GivenAJsonObject_WhenSameValuesAreAddedTwice_ThenSizeIsOnlyIncreasedByTwo) {
+  StaticJsonBuffer<42> json;
+  JsonObject obj = json.createObject();
 
-    obj["hello"];
-    EXPECT_EQ(3, json.size());
+  obj["hello"];
+  EXPECT_EQ(3, json.size());
 
-    obj["hello"];
-    EXPECT_EQ(3, json.size());
+  obj["hello"];
+  EXPECT_EQ(3, json.size());
 }

+ 29 - 50
test/StringBuilderTests.cpp

@@ -3,73 +3,52 @@
 
 using namespace ArduinoJson::Internals;
 
-class StringBuilderTests : public testing::Test
-{
+class StringBuilderTests : public testing::Test {
 protected:
-    
-    virtual void SetUp()
-    {
-        sb = new StringBuilder(buffer, sizeof(buffer));
-    }
+  virtual void SetUp() { sb = new StringBuilder(buffer, sizeof(buffer)); }
 
-    void print(const char* value)
-    {
-        returnValue = sb->print(value);
-    }
+  void print(const char *value) { returnValue = sb->print(value); }
 
-    void outputMustBe(const char* expected)
-    {
-        EXPECT_STREQ(expected, buffer);
-    }
+  void outputMustBe(const char *expected) { EXPECT_STREQ(expected, buffer); }
 
-    void resultMustBe(size_t expected)
-    {
-        EXPECT_EQ(expected, returnValue);
-    }
+  void resultMustBe(size_t expected) { EXPECT_EQ(expected, returnValue); }
 
 private:
-    char buffer[20];
-    Print* sb;
-    size_t returnValue;
+  char buffer[20];
+  Print *sb;
+  size_t returnValue;
 };
 
-TEST_F(StringBuilderTests, InitialState)
-{
-    outputMustBe("");
-}
+TEST_F(StringBuilderTests, InitialState) { outputMustBe(""); }
 
-TEST_F(StringBuilderTests, OverCapacity)
-{
-    print("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
-    resultMustBe(19);
+TEST_F(StringBuilderTests, OverCapacity) {
+  print("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
+  resultMustBe(19);
 
-    print("ABC");
-    resultMustBe(0);
+  print("ABC");
+  resultMustBe(0);
 
-    outputMustBe("ABCDEFGHIJKLMNOPQRS");
+  outputMustBe("ABCDEFGHIJKLMNOPQRS");
 }
 
-TEST_F(StringBuilderTests, EmptyString)
-{
-    print("");
-    resultMustBe(0);
-    outputMustBe("");
+TEST_F(StringBuilderTests, EmptyString) {
+  print("");
+  resultMustBe(0);
+  outputMustBe("");
 }
 
-TEST_F(StringBuilderTests, OneString)
-{
-    print("ABCD");
-    resultMustBe(4);
-    outputMustBe("ABCD");
+TEST_F(StringBuilderTests, OneString) {
+  print("ABCD");
+  resultMustBe(4);
+  outputMustBe("ABCD");
 }
 
-TEST_F(StringBuilderTests, TwoStrings)
-{
-    print("ABCD");
-    resultMustBe(4);
+TEST_F(StringBuilderTests, TwoStrings) {
+  print("ABCD");
+  resultMustBe(4);
 
-    print("EFGH");
-    resultMustBe(4);
+  print("EFGH");
+  resultMustBe(4);
 
-    outputMustBe("ABCDEFGH");
+  outputMustBe("ABCDEFGH");
 }