diff --git a/test/JsonParser_String_Tests.cpp b/test/QuotedString_ExtractFrom_Tests.cpp similarity index 55% rename from test/JsonParser_String_Tests.cpp rename to test/QuotedString_ExtractFrom_Tests.cpp index 31f828d9..524309ce 100644 --- a/test/JsonParser_String_Tests.cpp +++ b/test/QuotedString_ExtractFrom_Tests.cpp @@ -1,113 +1,115 @@ #include -#include -#include +#include -class JsonParser_String_Tests : public testing::Test +using namespace ArduinoJson::Internals; + +class QuotedString_ExtractFrom_Tests : public testing::Test { protected: void whenInputIs(const char* json) { strcpy(_jsonString, json); - _result = _jsonBuffer.parseValue(_jsonString); + _result = QuotedString::extractFrom(_jsonString, &_endp); } void outputMustBe(const char* expected) { EXPECT_STREQ(expected, _result); + EXPECT_EQ(_endp, _result + ) } private: char _jsonString[256]; - StaticJsonBuffer<42> _jsonBuffer; - const char* _result; + char* _result; + char* _endp; }; -TEST_F(JsonParser_String_Tests, EmptyDoubleQuotedString) +TEST_F(QuotedString_ExtractFrom_Tests, EmptyDoubleQuotedString) { whenInputIs("\"\""); outputMustBe(""); } -TEST_F(JsonParser_String_Tests, EmptySingleQuotedString) +TEST_F(QuotedString_ExtractFrom_Tests, EmptySingleQuotedString) { whenInputIs("''"); outputMustBe(""); } -TEST_F(JsonParser_String_Tests, SimpleDoubleQuotedString) +TEST_F(QuotedString_ExtractFrom_Tests, SimpleDoubleQuotedString) { whenInputIs("\"hello world\""); outputMustBe("hello world"); } -TEST_F(JsonParser_String_Tests, CurlyBraces) +TEST_F(QuotedString_ExtractFrom_Tests, CurlyBraces) { whenInputIs("\"{hello:world}\""); outputMustBe("{hello:world}"); } -TEST_F(JsonParser_String_Tests, SquareBraquets) +TEST_F(QuotedString_ExtractFrom_Tests, SquareBraquets) { whenInputIs("\"[hello,world]\""); outputMustBe("[hello,world]"); } -TEST_F(JsonParser_String_Tests, EscapedDoubleQuote) +TEST_F(QuotedString_ExtractFrom_Tests, EscapedDoubleQuote) { whenInputIs("\"hello \\\"world\\\"\""); outputMustBe("hello \"world\""); } -TEST_F(JsonParser_String_Tests, EscapedSingleQuote) +TEST_F(QuotedString_ExtractFrom_Tests, EscapedSingleQuote) { whenInputIs("\"hello \\\'world\\\'\""); outputMustBe("hello 'world'"); } -TEST_F(JsonParser_String_Tests, EscapedSolidus) +TEST_F(QuotedString_ExtractFrom_Tests, EscapedSolidus) { whenInputIs("\"hello \\/world\\/\""); outputMustBe("hello /world/"); } -TEST_F(JsonParser_String_Tests, EscapedReverseSolidus) +TEST_F(QuotedString_ExtractFrom_Tests, EscapedReverseSolidus) { whenInputIs("\"hello \\\\world\\\\\""); outputMustBe("hello \\world\\"); } -TEST_F(JsonParser_String_Tests, EscapedBackspace) +TEST_F(QuotedString_ExtractFrom_Tests, EscapedBackspace) { whenInputIs("\"hello \\bworld\\b\""); outputMustBe("hello \bworld\b"); } -TEST_F(JsonParser_String_Tests, EscapedFormfeed) +TEST_F(QuotedString_ExtractFrom_Tests, EscapedFormfeed) { whenInputIs("\"hello \\fworld\\f\""); outputMustBe("hello \fworld\f"); } -TEST_F(JsonParser_String_Tests, EscapedNewline) +TEST_F(QuotedString_ExtractFrom_Tests, EscapedNewline) { whenInputIs("\"hello \\nworld\\n\""); outputMustBe("hello \nworld\n"); } -TEST_F(JsonParser_String_Tests, EscapedCarriageReturn) +TEST_F(QuotedString_ExtractFrom_Tests, EscapedCarriageReturn) { whenInputIs("\"hello \\rworld\\r\""); outputMustBe("hello \rworld\r"); } -TEST_F(JsonParser_String_Tests, EscapedTab) +TEST_F(QuotedString_ExtractFrom_Tests, EscapedTab) { whenInputIs("\"hello \\tworld\\t\""); outputMustBe("hello \tworld\t"); } -TEST_F(JsonParser_String_Tests, AllEscapedCharsTogether) +TEST_F(QuotedString_ExtractFrom_Tests, AllEscapedCharsTogether) { whenInputIs("\"1\\\"2\\\\3\\/4\\b5\\f6\\n7\\r8\\t9\""); outputMustBe("1\"2\\3/4\b5\f6\n7\r8\t9");