DynamicJsonBuffer_NoMemory_Tests.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // Copyright Benoit Blanchon 2014-2015
  2. // MIT License
  3. //
  4. // Arduino JSON library
  5. // https://github.com/bblanchon/ArduinoJson
  6. #include <gtest/gtest.h>
  7. #include <ArduinoJson.h>
  8. class NoMemoryAllocator {
  9. public:
  10. void* allocate(size_t) { return NULL; }
  11. void deallocate(void*) {}
  12. };
  13. class DynamicJsonBuffer_NoMemory_Tests : public ::testing::Test {
  14. protected:
  15. Internals::BlockJsonBuffer<NoMemoryAllocator> _jsonBuffer;
  16. };
  17. TEST_F(DynamicJsonBuffer_NoMemory_Tests, FixCodeCoverage) {
  18. // call this function to fix code coverage
  19. NoMemoryAllocator().deallocate(NULL);
  20. }
  21. TEST_F(DynamicJsonBuffer_NoMemory_Tests, CreateArray) {
  22. ASSERT_FALSE(_jsonBuffer.createArray().success());
  23. }
  24. TEST_F(DynamicJsonBuffer_NoMemory_Tests, CreateObject) {
  25. ASSERT_FALSE(_jsonBuffer.createObject().success());
  26. }
  27. TEST_F(DynamicJsonBuffer_NoMemory_Tests, ParseArray) {
  28. char json[] = "[]";
  29. ASSERT_FALSE(_jsonBuffer.parseArray(json).success());
  30. }
  31. TEST_F(DynamicJsonBuffer_NoMemory_Tests, ParseObject) {
  32. char json[] = "{}";
  33. ASSERT_FALSE(_jsonBuffer.parseObject(json).success());
  34. }