content-test.cpp 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #include "test_common.h"
  2. #if 0
  3. TEST(content, init) {
  4. uint8_t contentIn[4] = {0};
  5. contentIn[0] = 1;
  6. contentIn[1] = 2;
  7. contentIn[2] = 3;
  8. contentIn[3] = 4;
  9. Arg* self = content_init("name", ARG_TYPE_NONE, contentIn, 4, NULL);
  10. uint16_t typeOffset = content_typeOffset(self);
  11. uint16_t sizeOffset = content_sizeOffset(self);
  12. uint16_t contentOffset = content_contentOffset(self);
  13. uint16_t totleSize = content_totleSize(self);
  14. Hash nameHash = content_getNameHash(self);
  15. ArgType type = content_getType(self);
  16. uint16_t size = content_getSize(self);
  17. uint8_t* content = content_getContent(self);
  18. ASSERT_EQ(contentOffset, 16);
  19. ASSERT_EQ(typeOffset, 20);
  20. ASSERT_EQ(sizeOffset, 8);
  21. ASSERT_EQ(size, 4);
  22. ASSERT_EQ(content[0], 1);
  23. ASSERT_EQ(content[1], 2);
  24. ASSERT_EQ(content[2], 3);
  25. ASSERT_EQ(content[3], 4);
  26. ASSERT_EQ(totleSize, 24);
  27. ASSERT_EQ(hash_time33("name"), nameHash);
  28. ASSERT_EQ(ARG_TYPE_NONE, type);
  29. arg_freeContent(self);
  30. EXPECT_EQ(pikaMemNow(), 0);
  31. }
  32. TEST(content, set) {
  33. uint8_t contentIn[4] = {0};
  34. contentIn[0] = 1;
  35. contentIn[1] = 2;
  36. contentIn[2] = 3;
  37. contentIn[3] = 4;
  38. Arg* self = content_init("", ARG_TYPE_NONE, NULL, 0, NULL);
  39. self = content_setName(self, "name");
  40. self = arg_setType(self, ARG_TYPE_NONE);
  41. self = content_setContent(self, contentIn, 4);
  42. uint16_t typeOffset = content_typeOffset(self);
  43. uint16_t sizeOffset = content_sizeOffset(self);
  44. uint16_t contentOffset = content_contentOffset(self);
  45. uint16_t totleSize = content_totleSize(self);
  46. Hash nameHash = content_getNameHash(self);
  47. ArgType type = content_getType(self);
  48. uint16_t size = content_getSize(self);
  49. uint8_t* content = content_getContent(self);
  50. ASSERT_EQ(contentOffset, 16);
  51. ASSERT_EQ(typeOffset, 20);
  52. ASSERT_EQ(sizeOffset, 8);
  53. ASSERT_EQ(size, 4);
  54. ASSERT_EQ(content[0], 1);
  55. ASSERT_EQ(content[1], 2);
  56. ASSERT_EQ(content[2], 3);
  57. ASSERT_EQ(content[3], 4);
  58. ASSERT_EQ(totleSize, 24);
  59. ASSERT_EQ(hash_time33("name"), nameHash);
  60. ASSERT_EQ(ARG_TYPE_NONE, type);
  61. arg_freeContent(self);
  62. EXPECT_EQ(pikaMemNow(), 0);
  63. }
  64. TEST(content, next) {
  65. uint8_t* c1 = content_init("c1", ARG_TYPE_NONE, NULL, 0, NULL);
  66. uint8_t* c2 = content_init("c2", ARG_TYPE_NONE, NULL, 0, c1);
  67. uint8_t* c3 = content_getNext(c2);
  68. ASSERT_EQ(c3, c1);
  69. arg_freeContent(c1);
  70. arg_freeContent(c2);
  71. EXPECT_EQ(pikaMemNow(), 0);
  72. }
  73. TEST(content, setNext) {
  74. uint8_t* c1 = content_init("c1", ARG_TYPE_NONE, NULL, 0, NULL);
  75. content_setNext(c1, content_init("c2", ARG_TYPE_NONE, NULL, 0, NULL));
  76. uint8_t* c2 = content_getNext(c1);
  77. Hash c2NameHash = content_getNameHash(c2);
  78. EXPECT_EQ(c2NameHash, hash_time33("c2"));
  79. arg_freeContent(c1);
  80. arg_freeContent(c2);
  81. EXPECT_EQ(pikaMemNow(), 0);
  82. }
  83. #endif