string.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // Copyright Benoit Blanchon 2014-2017
  2. // MIT License
  3. //
  4. // Arduino JSON library
  5. // https://bblanchon.github.io/ArduinoJson/
  6. // If you like this project, please add a star!
  7. #include <ArduinoJson.h>
  8. #include <gtest/gtest.h>
  9. TEST(DynamicJsonBuffer_String_Tests, WorksWhenBufferIsBigEnough) {
  10. DynamicJsonBuffer jsonBuffer(6);
  11. DynamicJsonBuffer::String str = jsonBuffer.startString();
  12. str.append('h');
  13. str.append('e');
  14. str.append('l');
  15. str.append('l');
  16. str.append('o');
  17. ASSERT_STREQ("hello", str.c_str());
  18. }
  19. TEST(DynamicJsonBuffer_String_Tests, GrowsWhenBufferIsTooSmall) {
  20. DynamicJsonBuffer jsonBuffer(5);
  21. DynamicJsonBuffer::String str = jsonBuffer.startString();
  22. str.append('h');
  23. str.append('e');
  24. str.append('l');
  25. str.append('l');
  26. str.append('o');
  27. ASSERT_STREQ("hello", str.c_str());
  28. }
  29. TEST(DynamicJsonBuffer_String_Tests, SizeIncreases) {
  30. DynamicJsonBuffer jsonBuffer(5);
  31. DynamicJsonBuffer::String str = jsonBuffer.startString();
  32. ASSERT_EQ(0, jsonBuffer.size());
  33. str.append('h');
  34. ASSERT_EQ(1, jsonBuffer.size());
  35. str.c_str();
  36. ASSERT_EQ(2, jsonBuffer.size());
  37. }