]> granicus.if.org Git - taglib/commitdiff
Basic tests for ByteVector::replace()
authorLukáš Lalinský <lalinsky@gmail.com>
Fri, 5 Aug 2011 16:47:53 +0000 (18:47 +0200)
committerLukáš Lalinský <lalinsky@gmail.com>
Fri, 5 Aug 2011 16:47:53 +0000 (18:47 +0200)
tests/test_bytevector.cpp

index 2b1f981f005144d1bc26bbb5448806ca51f0a8c3..69326dbc94252ab6b1df89171492ef3de45b47b3 100644 (file)
@@ -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("<a>"));
+      CPPUNIT_ASSERT_EQUAL(ByteVector("abcdabf"), a);
+    }
+    {
+      ByteVector a("abcdabf");
+      a.replace(ByteVector("foobartoolong"), ByteVector("<a>"));
+      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("<a>"));
+      CPPUNIT_ASSERT_EQUAL(ByteVector("<a>bcd<a>bf"), a);
+    }
+  }
+
 };
 
 CPPUNIT_TEST_SUITE_REGISTRATION(TestByteVector);