From: Stephen Morris Date: Tue, 13 Oct 2015 15:16:29 +0000 (+0100) Subject: [3443] Added additional buffer tests X-Git-Tag: fdfb_base~16^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=22b030a728f39388bf440748466493becefed982;p=thirdparty%2Fkea.git [3443] Added additional buffer tests Check that an empty buffer can be copied and assigned from. Also check that a buffer copy and assignment do create copies of the data, and the new objects do not merely point to the original data. --- diff --git a/src/lib/util/tests/buffer_unittest.cc b/src/lib/util/tests/buffer_unittest.cc index 420c69f391..0299429988 100644 --- a/src/lib/util/tests/buffer_unittest.cc +++ b/src/lib/util/tests/buffer_unittest.cc @@ -237,6 +237,7 @@ TEST_F(BufferTest, outputBufferCopy) { EXPECT_NO_THROW({ OutputBuffer copy(obuffer); ASSERT_EQ(sizeof(testdata), copy.getLength()); + ASSERT_NE(obuffer.getData(), copy.getData()); for (int i = 0; i < sizeof(testdata); i ++) { EXPECT_EQ(testdata[i], copy[i]); if (i + 1 < sizeof(testdata)) { @@ -249,6 +250,13 @@ TEST_F(BufferTest, outputBufferCopy) { }); } +TEST_F(BufferTest, outputEmptyBufferCopy) { + EXPECT_NO_THROW({ + OutputBuffer copy(obuffer); + ASSERT_EQ(0, copy.getLength()); + }); +} + TEST_F(BufferTest, outputBufferAssign) { OutputBuffer another(0); another.clear(); @@ -257,6 +265,7 @@ TEST_F(BufferTest, outputBufferAssign) { EXPECT_NO_THROW({ another = obuffer; ASSERT_EQ(sizeof(testdata), another.getLength()); + ASSERT_NE(obuffer.getData(), another.getData()); for (int i = 0; i < sizeof(testdata); i ++) { EXPECT_EQ(testdata[i], another[i]); if (i + 1 < sizeof(testdata)) { @@ -269,6 +278,14 @@ TEST_F(BufferTest, outputBufferAssign) { }); } +TEST_F(BufferTest, outputEmptyBufferAssign) { + EXPECT_NO_THROW({ + OutputBuffer copy(0); + copy = obuffer; + ASSERT_EQ(0, copy.getLength()); + }); +} + // Check assign to self doesn't break stuff TEST_F(BufferTest, outputBufferAssignSelf) { EXPECT_NO_THROW(obuffer = obuffer);