From ac9b776aa15a9c360398433d9139ee32aaa98ac4 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Thu, 6 Nov 2014 14:08:53 +0100 Subject: [PATCH] Fixed remaining cpplint warnings --- include/ArduinoJson/Arduino/Print.hpp | 2 + .../ArduinoJson/Internals/IndentedPrint.hpp | 2 +- include/ArduinoJson/Internals/List.hpp | 2 +- include/ArduinoJson/JsonArray.hpp | 2 +- include/ArduinoJson/JsonObject.hpp | 2 +- include/ArduinoJson/JsonVariant.hpp | 6 +- scripts/cpplint.sh | 2 +- test/GbathreeBug.cpp | 389 +++++++++--------- test/Printers.cpp | 4 +- 9 files changed, 207 insertions(+), 204 deletions(-) diff --git a/include/ArduinoJson/Arduino/Print.hpp b/include/ArduinoJson/Arduino/Print.hpp index e4b06f21..58f66aa2 100644 --- a/include/ArduinoJson/Arduino/Print.hpp +++ b/include/ArduinoJson/Arduino/Print.hpp @@ -14,6 +14,8 @@ // This class reproduces Arduino's Print class Print { public: + virtual ~Print() {} + virtual size_t write(uint8_t) = 0; size_t print(const char[]); diff --git a/include/ArduinoJson/Internals/IndentedPrint.hpp b/include/ArduinoJson/Internals/IndentedPrint.hpp index 848c9f76..0c90254d 100644 --- a/include/ArduinoJson/Internals/IndentedPrint.hpp +++ b/include/ArduinoJson/Internals/IndentedPrint.hpp @@ -16,7 +16,7 @@ namespace Internals { // for your own purpose, like logging. class IndentedPrint : public Print { public: - IndentedPrint(Print &p) : sink(&p) { + explicit IndentedPrint(Print &p) : sink(&p) { level = 0; tabSize = 2; isNewLine = true; diff --git a/include/ArduinoJson/Internals/List.hpp b/include/ArduinoJson/Internals/List.hpp index 264b4adb..6f41428c 100644 --- a/include/ArduinoJson/Internals/List.hpp +++ b/include/ArduinoJson/Internals/List.hpp @@ -21,7 +21,7 @@ class List { typedef ListIterator iterator; typedef ListConstIterator const_iterator; - List(JsonBuffer *buffer) : _buffer(buffer), _firstNode(NULL) {} + explicit List(JsonBuffer *buffer) : _buffer(buffer), _firstNode(NULL) {} bool success() const { return _buffer != NULL; } int size() const; diff --git a/include/ArduinoJson/JsonArray.hpp b/include/ArduinoJson/JsonArray.hpp index dc2fd8e1..f5d24fa4 100644 --- a/include/ArduinoJson/JsonArray.hpp +++ b/include/ArduinoJson/JsonArray.hpp @@ -48,7 +48,7 @@ class JsonArray : public Internals::JsonPrintable, private: // constructor is private: instance must be created via a JsonBuffer - JsonArray(JsonBuffer *buffer) : List(buffer) {} + explicit JsonArray(JsonBuffer *buffer) : List(buffer) {} static JsonArray _invalid; }; diff --git a/include/ArduinoJson/JsonObject.hpp b/include/ArduinoJson/JsonObject.hpp index 8750e55c..a374d3a5 100644 --- a/include/ArduinoJson/JsonObject.hpp +++ b/include/ArduinoJson/JsonObject.hpp @@ -52,7 +52,7 @@ class JsonObject : public Internals::JsonPrintable, private: // constructor is private, instance must be created via JsonBuffer - JsonObject(JsonBuffer *buffer) : List(buffer) {} + explicit JsonObject(JsonBuffer *buffer) : List(buffer) {} JsonVariant &add(key_type key) { return (*this)[key]; } diff --git a/include/ArduinoJson/JsonVariant.hpp b/include/ArduinoJson/JsonVariant.hpp index 5dbbd042..e06feedb 100644 --- a/include/ArduinoJson/JsonVariant.hpp +++ b/include/ArduinoJson/JsonVariant.hpp @@ -83,8 +83,8 @@ class JsonVariant : public Internals::JsonPrintable { operator JsonObject &() const; const char *asString() const { return this->as(); } - JsonArray &asArray() const { return this->as(); }; - JsonObject &asObject() const { return this->as(); }; + JsonArray &asArray() const { return this->as(); } + JsonObject &asObject() const { return this->as(); } template T as() const { @@ -111,7 +111,7 @@ class JsonVariant : public Internals::JsonPrintable { JsonVariant &operator[](const char *key); private: - JsonVariant(Internals::JsonVariantType type) : _type(type) {} + explicit JsonVariant(Internals::JsonVariantType type) : _type(type) {} Internals::JsonVariantType _type; Internals::JsonVariantContent _content; diff --git a/scripts/cpplint.sh b/scripts/cpplint.sh index 4dc7ed79..c79d0339 100755 --- a/scripts/cpplint.sh +++ b/scripts/cpplint.sh @@ -1,5 +1,5 @@ CPPLINT="python third-party/cpplint/cpplint.py" -FLAGS="--filter=-runtime/printf,-runtime/int,-readability/todo,-build/namespace,-runtime/references" +FLAGS="--filter=-runtime/printf,-runtime/int,-readability/todo,-build/namespace,-runtime/references,-readability/streams" cd .. $CPPLINT $FLAGS $(find include src test -regex ".*\.[hc]pp$") \ No newline at end of file diff --git a/test/GbathreeBug.cpp b/test/GbathreeBug.cpp index bdb16c76..85656b8b 100644 --- a/test/GbathreeBug.cpp +++ b/test/GbathreeBug.cpp @@ -1,194 +1,195 @@ -/* -* Arduino JSON library -* Benoit Blanchon 2014 - MIT License -*/ - -#include -#include -#include -#include -#include "Printers.hpp" - -using namespace ArduinoJson; - -class GbathreeBug : public testing::Test { - public: - GbathreeBug() : object(buffer.parseObject(getJson())) {} - - protected: - char json[1024]; - StaticJsonBuffer<10000> buffer; - const JsonObject& object; - - private: - char* getJson() { - strcpy(json, - "{\"protocol_name\":\"fluorescence\",\"repeats\":1,\"wait\":0," - "\"averages\":1,\"measurements\":3,\"meas2_light\":15,\"meas1_" - "baseline\":0,\"act_light\":20,\"pulsesize\":25,\"pulsedistance\":" - "10000,\"actintensity1\":50,\"actintensity2\":255,\"measintensity\":" - "255,\"calintensity\":255,\"pulses\":[50,50,50],\"act\":[2,1,2,2]," - "\"red\":[2,2,2,2],\"detectors\":[[34,34,34,34],[34,34,34,34],[34," - "34,34,34],[34,34,34,34]],\"alta\":[2,2,2,2],\"altb\":[2,2,2,2]," - "\"measlights\":[[15,15,15,15],[15,15,15,15],[15,15,15,15],[15,15," - "15,15]],\"measlights2\":[[15,15,15,15],[15,15,15,15],[15,15,15,15]," - "[15,15,15,15]],\"altc\":[2,2,2,2],\"altd\":[2,2,2,2]}"); - return json; - } -}; - -TEST_F(GbathreeBug, Success) { EXPECT_TRUE(object.success()); } - -TEST_F(GbathreeBug, ProtocolName) { - EXPECT_STREQ("fluorescence", object.at("protocol_name").asString()); -} - -TEST_F(GbathreeBug, Repeats) { EXPECT_EQ(1, object["repeats"]); } - -TEST_F(GbathreeBug, Wait) { EXPECT_EQ(0, object["wait"]); } - -TEST_F(GbathreeBug, Measurements) { EXPECT_EQ(3, object["measurements"]); } - -TEST_F(GbathreeBug, Meas2_Light) { EXPECT_EQ(15, object["meas2_light"]); } - -TEST_F(GbathreeBug, Meas1_Baseline) { EXPECT_EQ(0, object["meas1_baseline"]); } - -TEST_F(GbathreeBug, Act_Light) { EXPECT_EQ(20, object["act_light"]); } - -TEST_F(GbathreeBug, Pulsesize) { EXPECT_EQ(25, object["pulsesize"]); } - -TEST_F(GbathreeBug, Pulsedistance) { - EXPECT_EQ(10000, object["pulsedistance"]); -} - -TEST_F(GbathreeBug, Actintensity1) { EXPECT_EQ(50, object["actintensity1"]); } - -TEST_F(GbathreeBug, Actintensity2) { EXPECT_EQ(255, object["actintensity2"]); } - -TEST_F(GbathreeBug, Measintensity) { EXPECT_EQ(255, object["measintensity"]); } - -TEST_F(GbathreeBug, Calintensity) { EXPECT_EQ(255, object["calintensity"]); } - -TEST_F(GbathreeBug, Pulses) { - // "pulses":[50,50,50] - - JsonArray& array = object.at("pulses"); - EXPECT_TRUE(array.success()); - - EXPECT_EQ(3, array.size()); - - for (int i = 0; i < 3; i++) { - EXPECT_EQ(50, array[i]); - } -} - -TEST_F(GbathreeBug, Act) { - // "act":[2,1,2,2] - - JsonArray& array = object.at("act"); - EXPECT_TRUE(array.success()); - - EXPECT_EQ(4, array.size()); - EXPECT_EQ(2, array[0]); - EXPECT_EQ(1, array[1]); - EXPECT_EQ(2, array[2]); - EXPECT_EQ(2, array[3]); -} - -TEST_F(GbathreeBug, Detectors) { - // "detectors":[[34,34,34,34],[34,34,34,34],[34,34,34,34],[34,34,34,34]] - - JsonArray& array = object.at("detectors"); - EXPECT_TRUE(array.success()); - EXPECT_EQ(4, array.size()); - - for (int i = 0; i < 4; i++) { - JsonArray& nestedArray = array[i]; - EXPECT_EQ(4, nestedArray.size()); - - for (int j = 0; j < 4; j++) EXPECT_EQ(34, nestedArray[j]); - } -} - -TEST_F(GbathreeBug, Alta) { - // alta:[2,2,2,2] - - JsonArray& array = object.at("alta"); - EXPECT_TRUE(array.success()); - - EXPECT_EQ(4, array.size()); - - for (int i = 0; i < 4; i++) { - EXPECT_EQ(2, array[i]); - } -} - -TEST_F(GbathreeBug, Altb) { - // altb:[2,2,2,2] - - JsonArray& array = object.at("altb"); - EXPECT_TRUE(array.success()); - - EXPECT_EQ(4, array.size()); - - for (int i = 0; i < 4; i++) { - EXPECT_EQ(2, array[i]); - } -} - -TEST_F(GbathreeBug, Measlights) { - // "measlights":[[15,15,15,15],[15,15,15,15],[15,15,15,15],[15,15,15,15]] - - JsonArray& array = object.at("measlights"); - EXPECT_TRUE(array.success()); - EXPECT_EQ(4, array.size()); - - for (int i = 0; i < 4; i++) { - JsonArray& nestedArray = array[i]; - - EXPECT_EQ(4, nestedArray.size()); - - for (int j = 0; j < 4; j++) EXPECT_EQ(15, nestedArray[j]); - } -} - -TEST_F(GbathreeBug, Measlights2) { - // "measlights2":[[15,15,15,15],[15,15,15,15],[15,15,15,15],[15,15,15,15]] - - JsonArray& array = object.at("measlights2"); - EXPECT_TRUE(array.success()); - EXPECT_EQ(4, array.size()); - - for (int i = 0; i < 4; i++) { - JsonArray& nestedArray = array[i]; - EXPECT_EQ(4, nestedArray.size()); - - for (int j = 0; j < 4; j++) EXPECT_EQ(15, nestedArray[j]); - } -} - -TEST_F(GbathreeBug, Altc) { - // altc:[2,2,2,2] - - JsonArray& array = object.at("altc"); - EXPECT_TRUE(array.success()); - - EXPECT_EQ(4, array.size()); - - for (int i = 0; i < 4; i++) { - EXPECT_EQ(2, array[i]); - } -} - -TEST_F(GbathreeBug, Altd) { - // altd:[2,2,2,2] - - JsonArray& array = object.at("altd"); - EXPECT_TRUE(array.success()); - - EXPECT_EQ(4, array.size()); - - for (int i = 0; i < 4; i++) { - EXPECT_EQ(2, array[i]); - } -} +// Copyright Benoit Blanchon 2014 +// MIT License +// +// Arduino JSON library +// https://github.com/bblanchon/ArduinoJson + +#include +#include +#include +#include +#include "Printers.hpp" + +using namespace ArduinoJson; + +class GbathreeBug : public testing::Test { + public: + GbathreeBug() : object(buffer.parseObject(getJson())) {} + + protected: + char json[1024]; + StaticJsonBuffer<10000> buffer; + const JsonObject& object; + + private: + char* getJson() { + strcpy(json, + "{\"protocol_name\":\"fluorescence\",\"repeats\":1,\"wait\":0," + "\"averages\":1,\"measurements\":3,\"meas2_light\":15,\"meas1_" + "baseline\":0,\"act_light\":20,\"pulsesize\":25,\"pulsedistance\":" + "10000,\"actintensity1\":50,\"actintensity2\":255,\"measintensity\":" + "255,\"calintensity\":255,\"pulses\":[50,50,50],\"act\":[2,1,2,2]," + "\"red\":[2,2,2,2],\"detectors\":[[34,34,34,34],[34,34,34,34],[34," + "34,34,34],[34,34,34,34]],\"alta\":[2,2,2,2],\"altb\":[2,2,2,2]," + "\"measlights\":[[15,15,15,15],[15,15,15,15],[15,15,15,15],[15,15," + "15,15]],\"measlights2\":[[15,15,15,15],[15,15,15,15],[15,15,15,15]," + "[15,15,15,15]],\"altc\":[2,2,2,2],\"altd\":[2,2,2,2]}"); + return json; + } +}; + +TEST_F(GbathreeBug, Success) { EXPECT_TRUE(object.success()); } + +TEST_F(GbathreeBug, ProtocolName) { + EXPECT_STREQ("fluorescence", object.at("protocol_name").asString()); +} + +TEST_F(GbathreeBug, Repeats) { EXPECT_EQ(1, object["repeats"]); } + +TEST_F(GbathreeBug, Wait) { EXPECT_EQ(0, object["wait"]); } + +TEST_F(GbathreeBug, Measurements) { EXPECT_EQ(3, object["measurements"]); } + +TEST_F(GbathreeBug, Meas2_Light) { EXPECT_EQ(15, object["meas2_light"]); } + +TEST_F(GbathreeBug, Meas1_Baseline) { EXPECT_EQ(0, object["meas1_baseline"]); } + +TEST_F(GbathreeBug, Act_Light) { EXPECT_EQ(20, object["act_light"]); } + +TEST_F(GbathreeBug, Pulsesize) { EXPECT_EQ(25, object["pulsesize"]); } + +TEST_F(GbathreeBug, Pulsedistance) { + EXPECT_EQ(10000, object["pulsedistance"]); +} + +TEST_F(GbathreeBug, Actintensity1) { EXPECT_EQ(50, object["actintensity1"]); } + +TEST_F(GbathreeBug, Actintensity2) { EXPECT_EQ(255, object["actintensity2"]); } + +TEST_F(GbathreeBug, Measintensity) { EXPECT_EQ(255, object["measintensity"]); } + +TEST_F(GbathreeBug, Calintensity) { EXPECT_EQ(255, object["calintensity"]); } + +TEST_F(GbathreeBug, Pulses) { + // "pulses":[50,50,50] + + JsonArray& array = object.at("pulses"); + EXPECT_TRUE(array.success()); + + EXPECT_EQ(3, array.size()); + + for (int i = 0; i < 3; i++) { + EXPECT_EQ(50, array[i]); + } +} + +TEST_F(GbathreeBug, Act) { + // "act":[2,1,2,2] + + JsonArray& array = object.at("act"); + EXPECT_TRUE(array.success()); + + EXPECT_EQ(4, array.size()); + EXPECT_EQ(2, array[0]); + EXPECT_EQ(1, array[1]); + EXPECT_EQ(2, array[2]); + EXPECT_EQ(2, array[3]); +} + +TEST_F(GbathreeBug, Detectors) { + // "detectors":[[34,34,34,34],[34,34,34,34],[34,34,34,34],[34,34,34,34]] + + JsonArray& array = object.at("detectors"); + EXPECT_TRUE(array.success()); + EXPECT_EQ(4, array.size()); + + for (int i = 0; i < 4; i++) { + JsonArray& nestedArray = array[i]; + EXPECT_EQ(4, nestedArray.size()); + + for (int j = 0; j < 4; j++) EXPECT_EQ(34, nestedArray[j]); + } +} + +TEST_F(GbathreeBug, Alta) { + // alta:[2,2,2,2] + + JsonArray& array = object.at("alta"); + EXPECT_TRUE(array.success()); + + EXPECT_EQ(4, array.size()); + + for (int i = 0; i < 4; i++) { + EXPECT_EQ(2, array[i]); + } +} + +TEST_F(GbathreeBug, Altb) { + // altb:[2,2,2,2] + + JsonArray& array = object.at("altb"); + EXPECT_TRUE(array.success()); + + EXPECT_EQ(4, array.size()); + + for (int i = 0; i < 4; i++) { + EXPECT_EQ(2, array[i]); + } +} + +TEST_F(GbathreeBug, Measlights) { + // "measlights":[[15,15,15,15],[15,15,15,15],[15,15,15,15],[15,15,15,15]] + + JsonArray& array = object.at("measlights"); + EXPECT_TRUE(array.success()); + EXPECT_EQ(4, array.size()); + + for (int i = 0; i < 4; i++) { + JsonArray& nestedArray = array[i]; + + EXPECT_EQ(4, nestedArray.size()); + + for (int j = 0; j < 4; j++) EXPECT_EQ(15, nestedArray[j]); + } +} + +TEST_F(GbathreeBug, Measlights2) { + // "measlights2":[[15,15,15,15],[15,15,15,15],[15,15,15,15],[15,15,15,15]] + + JsonArray& array = object.at("measlights2"); + EXPECT_TRUE(array.success()); + EXPECT_EQ(4, array.size()); + + for (int i = 0; i < 4; i++) { + JsonArray& nestedArray = array[i]; + EXPECT_EQ(4, nestedArray.size()); + + for (int j = 0; j < 4; j++) EXPECT_EQ(15, nestedArray[j]); + } +} + +TEST_F(GbathreeBug, Altc) { + // altc:[2,2,2,2] + + JsonArray& array = object.at("altc"); + EXPECT_TRUE(array.success()); + + EXPECT_EQ(4, array.size()); + + for (int i = 0; i < 4; i++) { + EXPECT_EQ(2, array[i]); + } +} + +TEST_F(GbathreeBug, Altd) { + // altd:[2,2,2,2] + + JsonArray& array = object.at("altd"); + EXPECT_TRUE(array.success()); + + EXPECT_EQ(4, array.size()); + + for (int i = 0; i < 4; i++) { + EXPECT_EQ(2, array[i]); + } +} diff --git a/test/Printers.cpp b/test/Printers.cpp index d45758cc..0837b5d1 100644 --- a/test/Printers.cpp +++ b/test/Printers.cpp @@ -9,10 +9,10 @@ class StreamPrintAdapter : public Print { public: - StreamPrintAdapter(std::ostream& os) : _os(os) {} + explicit StreamPrintAdapter(std::ostream& os) : _os(os) {} virtual size_t write(uint8_t c) { - _os << (char)c; + _os << static_cast(c); return 1; }