diff --git a/tests/test_bytevector.cpp b/tests/test_bytevector.cpp
index 2b1f981f..69326dbc 100644
--- a/tests/test_bytevector.cpp
+++ b/tests/test_bytevector.cpp
@@ -39,6 +39,7 @@ class TestByteVector : public CppUnit::TestFixture
CPPUNIT_TEST(testRfind2);
CPPUNIT_TEST(testToHex);
CPPUNIT_TEST(testToUShort);
+ CPPUNIT_TEST(testReplace);
CPPUNIT_TEST_SUITE_END();
public:
@@ -191,6 +192,40 @@ public:
CPPUNIT_ASSERT_EQUAL((unsigned short)0x01FF, ByteVector("\xFF\x01", 2).toUShort(false));
}
+ void testReplace()
+ {
+ {
+ ByteVector a("abcdabf");
+ a.replace(ByteVector(""), ByteVector(""));
+ CPPUNIT_ASSERT_EQUAL(ByteVector("abcdabf"), a);
+ }
+ {
+ ByteVector a("abcdabf");
+ a.replace(ByteVector("foobartoolong"), ByteVector(""));
+ CPPUNIT_ASSERT_EQUAL(ByteVector("abcdabf"), a);
+ }
+ {
+ ByteVector a("abcdabf");
+ a.replace(ByteVector("xx"), ByteVector("yy"));
+ CPPUNIT_ASSERT_EQUAL(ByteVector("abcdabf"), a);
+ }
+ {
+ ByteVector a("abcdabf");
+ a.replace(ByteVector("a"), ByteVector("x"));
+ CPPUNIT_ASSERT_EQUAL(ByteVector("xbcdxbf"), a);
+ }
+ {
+ ByteVector a("abcdabf");
+ a.replace(ByteVector("ab"), ByteVector("xy"));
+ CPPUNIT_ASSERT_EQUAL(ByteVector("xycdxyf"), a);
+ }
+ {
+ ByteVector a("abcdabf");
+ a.replace(ByteVector("a"), ByteVector(""));
+ CPPUNIT_ASSERT_EQUAL(ByteVector("bcdbf"), a);
+ }
+ }
+
};
CPPUNIT_TEST_SUITE_REGISTRATION(TestByteVector);