const char test0[]= { 0x38, 0x80, 0x80, 0x80, 0x80 }; // empty const char test1[]= { 0x10 }; // empty dict const char test2[]= { 0x20 }; // empty list const char test3[]= { 0x50 }; // empty int const char test4[]= { 0x40 }; // empty string const char test5[]= { 0x50 }; // tiny 0 const char test6[]= { 0x52 }; // tiny 1 const char test7[]= { 0xd0, 0x7f }; // tiny 0x3f8 // does not work for benc const char test8[]= { 0x12, 0x50, 0x21, 0x52, 0x52, 0x21, 0x53}; // { 0=>[2], 1=>[3] } const char test9[]= { 0x22, 0x44, 'A', 'B', 'C', 'D', 0x42, 'O', 'K'}; // [ "ABCD", "OK" ] const char testA[]= { 0x23, 0xd1, 0x70, 0xd1, 0x7f, 0xd2, 0x91, 0x22}; // [ 0x80, 0x7f, 0x2211 ] const char testB[]= { 0x12, 0x44, 'A', 'B', 'C', 'D', 0x21, 0x52, 0x42, 'O', 'K', 0x21, 0x53}; // { "ABCD"=>[2], "OK"=>[3] } const char testC[]= { 0x3e, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 }; // 0x7060504030201 const char testD[]= { 0x23, 0x3e, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x38, 0x00, 0x00, 0x00, 0x80, 0x00 }; // [0x7060504030201, 0x80000000, undef ] #ifndef _WIN32 // fails because empty const char testZ[]= { }; // empty #endif std::string gtests[]= { std::string(test0, sizeof(test0)), std::string(test1, sizeof(test1)), std::string(test2, sizeof(test2)), std::string(test3, sizeof(test3)), std::string(test4, sizeof(test4)), std::string(test5, sizeof(test5)), std::string(test6, sizeof(test6)), std::string(test7, sizeof(test7)), std::string(test8, sizeof(test8)), std::string(test9, sizeof(test9)), std::string(testA, sizeof(testA)), std::string(testB, sizeof(testB)), std::string(testC, sizeof(testC)), std::string(testD, sizeof(testD)), }; #define NGTESTS (sizeof(gtests)/sizeof(*gtests))