From 4d21c4597dd1effe2fa75776c368b4184d9035af Mon Sep 17 00:00:00 2001 From: Neil Date: Tue, 2 May 2017 10:17:16 +1000 Subject: Avoid explicit allocation in test. --- test/unit/testCharClassify.cxx | 20 ++++++++------------ 1 file 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 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 buffer(size+1); + pcc->GetCharsOfClass(thisClass, &buffer[0]); for (int i = 1; i < 256; i++) { if (charClass[i] == thisClass) { - if (!memchr(reinterpret_cast(buffer), i, size)) + if (!memchr(reinterpret_cast(&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(buffer), i, size)); + REQUIRE(memchr(reinterpret_cast(&buffer[0]), i, size)); } else { - if (memchr(reinterpret_cast(buffer), i, size)) + if (memchr(reinterpret_cast(&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(buffer), i, size)); + REQUIRE_FALSE(memchr(reinterpret_cast(&buffer[0]), i, size)); } } - delete []buffer; } } -- cgit v1.2.3