diff options
Diffstat (limited to 'test/unit/testCharClassify.cxx')
-rw-r--r-- | test/unit/testCharClassify.cxx | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/test/unit/testCharClassify.cxx b/test/unit/testCharClassify.cxx index 9b33fbeaf..5dd004e83 100644 --- a/test/unit/testCharClassify.cxx +++ b/test/unit/testCharClassify.cxx @@ -19,7 +19,7 @@ class CharClassifyTest { CharClassifyTest(const CharClassifyTest &) = delete; protected: CharClassifyTest() { - pcc = new CharClassify(); + pcc.reset(new CharClassify()); for (int ch = 0; ch < 256; ch++) { if (ch == '\r' || ch == '\n') charClass[ch] = CharClassify::ccNewLine; @@ -33,11 +33,9 @@ protected: } ~CharClassifyTest() { - delete pcc; - pcc = 0; } - CharClassify *pcc; + std::unique_ptr<CharClassify> pcc; CharClassify::cc charClass[256]; static const char* GetClassName(CharClassify::cc charClass) { @@ -94,30 +92,28 @@ TEST_CASE_METHOD(CharClassifyTest, "CharsOfClass") { for (int classVal = 0; classVal < 4; ++classVal) { CharClassify::cc thisClass = CharClassify::cc(classVal % 4); int size = pcc->GetCharsOfClass(thisClass, NULL); - unsigned char* buffer = new unsigned char[size + 1]; - buffer[size] = '\0'; - pcc->GetCharsOfClass(thisClass, buffer); + std::vector<unsigned char> buffer(size+1); + pcc->GetCharsOfClass(thisClass, &buffer[0]); for (int i = 1; i < 256; i++) { if (charClass[i] == thisClass) { - if (!memchr(reinterpret_cast<char*>(buffer), i, size)) + if (!memchr(reinterpret_cast<char*>(&buffer[0]), i, size)) std::cerr << "Character " << i << " should be class " << GetClassName(thisClass) << ", but was not in GetCharsOfClass;" << " it is reported to be " << GetClassName(pcc->GetClass(i)) << std::endl; - REQUIRE(memchr(reinterpret_cast<char*>(buffer), i, size)); + REQUIRE(memchr(reinterpret_cast<char*>(&buffer[0]), i, size)); } else { - if (memchr(reinterpret_cast<char*>(buffer), i, size)) + if (memchr(reinterpret_cast<char*>(&buffer[0]), i, size)) std::cerr << "Character " << i << " should not be class " << GetClassName(thisClass) << ", but was in GetCharsOfClass" << " it is reported to be " << GetClassName(pcc->GetClass(i)) << std::endl; - REQUIRE_FALSE(memchr(reinterpret_cast<char*>(buffer), i, size)); + REQUIRE_FALSE(memchr(reinterpret_cast<char*>(&buffer[0]), i, size)); } } - delete []buffer; } } |